ooxml-core 1.8.4 → 1.10.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-5UURGJEV.mjs +2 -0
- package/dist/{PptxHandler-BL4B7CZO.mjs → PptxHandler-ADEFY476.mjs} +2 -2
- package/dist/PptxHandler-U5XB2HUE.cjs +11 -0
- package/dist/automation/index.cjs +7239 -4037
- package/dist/automation/index.mjs +7239 -4037
- package/dist/chunk-3N6XMMTT.cjs +87913 -0
- package/dist/{chunk-TTPZITQN.mjs → chunk-5NVJN4E6.mjs} +30 -2
- package/dist/{chunk-ZAP5WLEN.mjs → chunk-A6P7G3UK.mjs} +1 -1
- package/dist/{chunk-CPKNMQLX.cjs → chunk-AWIDASUW.cjs} +25 -2
- package/dist/{chunk-SVQZXP3F.mjs → chunk-CBNKBVX5.mjs} +25 -2
- package/dist/{chunk-GAGSCAR3.mjs → chunk-CCHYFCPD.mjs} +1199 -348
- package/dist/chunk-R6KSBNKX.mjs +44133 -0
- package/dist/chunk-S6DOCMQC.cjs +44451 -0
- package/dist/{chunk-Z7IQR4S4.mjs → chunk-WUE5ZHU3.mjs} +269 -21
- package/dist/chunk-ZE53K7DH.mjs +87907 -0
- package/dist/{chunk-NIHPA63A.mjs → chunk-ZOUGMAZG.mjs} +54 -37
- 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 +2 -2
- 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 +1528 -119
- package/dist/docx/layout/index.mjs +1528 -120
- 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/nested-frame-profile.d.ts +9 -0
- package/dist/docx/layout/nested-frame-profile.d.ts.map +1 -0
- package/dist/docx/layout/page-cursor.d.ts +15 -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 +44 -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-border-layout.d.ts +16 -0
- package/dist/docx/layout/table-border-layout.d.ts.map +1 -0
- package/dist/docx/layout/table-cell-layout.d.ts +12 -0
- package/dist/docx/layout/table-cell-layout.d.ts.map +1 -0
- package/dist/docx/layout/table-content.d.ts +4 -0
- package/dist/docx/layout/table-content.d.ts.map +1 -0
- package/dist/docx/layout/table-footnotes.d.ts +32 -0
- package/dist/docx/layout/table-footnotes.d.ts.map +1 -0
- package/dist/docx/layout/table-frames.d.ts +4 -0
- package/dist/docx/layout/table-frames.d.ts.map +1 -0
- package/dist/docx/layout/table-layout.d.ts +16 -5
- package/dist/docx/layout/table-layout.d.ts.map +1 -1
- package/dist/docx/layout/table-note-completion.d.ts +5 -0
- package/dist/docx/layout/table-note-completion.d.ts.map +1 -0
- package/dist/docx/layout/table-note-stories.d.ts +6 -0
- package/dist/docx/layout/table-note-stories.d.ts.map +1 -0
- 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 +1156 -389
- package/dist/pptx/automation/index.d.ts +4 -4
- package/dist/pptx/automation/index.mjs +5 -5
- package/dist/pptx/chunks/{index-CKIUurnd.d.ts → index-Cuxtr76Y.d.ts} +29 -10
- package/dist/pptx/chunks/index-Cuxtr76Y.d.ts.map +1 -0
- package/dist/pptx/chunks/{index-Cn-GzYGp.d.ts → index-DUCGeZh7.d.ts} +94 -5
- package/dist/pptx/chunks/index-DUCGeZh7.d.ts.map +1 -0
- package/dist/pptx/chunks/{smart-art-Q2kZQtHh.d.ts → smart-art-D-sXa_Nb.d.ts} +11 -1
- package/dist/pptx/chunks/smart-art-D-sXa_Nb.d.ts.map +1 -0
- package/dist/pptx/chunks/{text-operations-BHfAm5K9.d.ts → text-operations-BqHmLaLA.d.ts} +54 -13
- package/dist/pptx/chunks/text-operations-BqHmLaLA.d.ts.map +1 -0
- package/dist/pptx/cli/index.cjs +1157 -395
- package/dist/pptx/cli/index.d.ts +1 -1
- package/dist/pptx/cli/index.mjs +4 -4
- package/dist/pptx/converter/index.cjs +54 -36
- package/dist/pptx/converter/index.d.ts +1 -1
- package/dist/pptx/converter/index.mjs +2 -2
- package/dist/pptx/editor/render/collaboration-live-patch-target.cjs +2 -2
- package/dist/pptx/editor/render/collaboration-live-patch-target.mjs +1 -1
- 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/remap-text.cjs +2 -2
- package/dist/pptx/editor/render/remap-text.d.ts.map +1 -1
- package/dist/pptx/editor/render/remap-text.mjs +1 -1
- 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 +1651 -419
- package/dist/pptx/index.d.ts +5 -5
- package/dist/pptx/index.mjs +5 -5
- package/dist/pptx/smartart-layouts/index.d.ts +1 -1
- package/dist/teams/index.cjs +965 -34
- package/dist/teams/index.mjs +965 -34
- 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/date-cache.d.ts +3 -0
- package/dist/visio/date-cache.d.ts.map +1 -0
- 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-field.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 +1215 -248
- package/dist/visio/index.d.ts +2 -1
- package/dist/visio/index.d.ts.map +1 -1
- package/dist/visio/index.mjs +1215 -249
- 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-fraction.d.ts +3 -0
- package/dist/visio/text-field-fraction.d.ts.map +1 -0
- package/dist/visio/text-field-numeric.d.ts +4 -0
- package/dist/visio/text-field-numeric.d.ts.map +1 -0
- package/dist/visio/text-field-system-date.d.ts +4 -0
- package/dist/visio/text-field-system-date.d.ts.map +1 -0
- package/dist/visio/text-fields.d.ts +1 -0
- package/dist/visio/text-fields.d.ts.map +1 -1
- 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 +19310 -18157
- package/dist/visio/ui/index.mjs +19310 -18158
- 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/ui/text-field-catalog.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 +3638 -1199
- package/dist/xlsx/index.d.ts +1 -0
- package/dist/xlsx/index.d.ts.map +1 -1
- package/dist/xlsx/index.mjs +3619 -1200
- 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 +8165 -6945
- package/dist/xlsx/load/index.mjs +8165 -6945
- package/dist/xlsx/model-pivots.d.ts +67 -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 +21 -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-first.d.ts +21 -0
- package/dist/xlsx/pivot/hierarchy-first.d.ts.map +1 -0
- package/dist/xlsx/pivot/hierarchy.d.ts +5 -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/measures.d.ts +13 -0
- package/dist/xlsx/pivot/measures.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/values-axis.d.ts +9 -0
- package/dist/xlsx/pivot/values-axis.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 +2421 -288
- 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 +2421 -289
- 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-CKIUurnd.d.ts.map +0 -1
- package/dist/pptx/chunks/index-Cn-GzYGp.d.ts.map +0 -1
- package/dist/pptx/chunks/smart-art-Q2kZQtHh.d.ts.map +0 -1
- package/dist/pptx/chunks/text-operations-BHfAm5K9.d.ts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { hasTextProperties, isImageLikeElement, blobUrlToDataUrl, getSubstituteFontFamily, stripXmlOrderSuffix } from './chunk-
|
|
1
|
+
import { hasTextProperties, isImageLikeElement, blobUrlToDataUrl, getSubstituteFontFamily, stripXmlOrderSuffix } from './chunk-5NVJN4E6.mjs';
|
|
2
2
|
|
|
3
3
|
// pptx/converter/media-context.ts
|
|
4
4
|
var MIME_TO_EXT = {
|
|
@@ -1719,15 +1719,26 @@ ${htmlRows.join("\n")}
|
|
|
1719
1719
|
var DEFAULT_FONT_SIZE = 18;
|
|
1720
1720
|
var FALLBACK_PAD_FACTOR = 0.06;
|
|
1721
1721
|
function drawTextSegments(ctx, segments, bodyStyle, w, h, scaleFactor = 1) {
|
|
1722
|
-
const padL = bodyStyle?.bodyInsetLeft ? bodyStyle.bodyInsetLeft * scaleFactor : Math.round(w * FALLBACK_PAD_FACTOR);
|
|
1723
|
-
const padR = bodyStyle?.bodyInsetRight ? bodyStyle.bodyInsetRight * scaleFactor : Math.round(w * FALLBACK_PAD_FACTOR);
|
|
1724
|
-
const padT = bodyStyle?.bodyInsetTop ? bodyStyle.bodyInsetTop * scaleFactor : Math.round(h * FALLBACK_PAD_FACTOR);
|
|
1725
|
-
const padB = bodyStyle?.bodyInsetBottom ? bodyStyle.bodyInsetBottom * scaleFactor : Math.round(h * FALLBACK_PAD_FACTOR);
|
|
1722
|
+
const padL = bodyStyle?.bodyInsetLeft !== void 0 ? bodyStyle.bodyInsetLeft * scaleFactor : Math.round(w * FALLBACK_PAD_FACTOR);
|
|
1723
|
+
const padR = bodyStyle?.bodyInsetRight !== void 0 ? bodyStyle.bodyInsetRight * scaleFactor : Math.round(w * FALLBACK_PAD_FACTOR);
|
|
1724
|
+
const padT = bodyStyle?.bodyInsetTop !== void 0 ? bodyStyle.bodyInsetTop * scaleFactor : Math.round(h * FALLBACK_PAD_FACTOR);
|
|
1725
|
+
const padB = bodyStyle?.bodyInsetBottom !== void 0 ? bodyStyle.bodyInsetBottom * scaleFactor : Math.round(h * FALLBACK_PAD_FACTOR);
|
|
1726
1726
|
const maxWidth = w - padL - padR;
|
|
1727
1727
|
if (maxWidth <= 0) {
|
|
1728
1728
|
return;
|
|
1729
1729
|
}
|
|
1730
|
-
const paragraphs = splitIntoParagraphs(
|
|
1730
|
+
const paragraphs = splitIntoParagraphs(
|
|
1731
|
+
segments.map((segment) => ({
|
|
1732
|
+
...segment,
|
|
1733
|
+
style: {
|
|
1734
|
+
...bodyStyle,
|
|
1735
|
+
...Object.fromEntries(
|
|
1736
|
+
Object.entries(segment.style).filter(([, value]) => value !== void 0)
|
|
1737
|
+
)
|
|
1738
|
+
}
|
|
1739
|
+
})),
|
|
1740
|
+
bodyStyle
|
|
1741
|
+
);
|
|
1731
1742
|
const lines = layoutParagraphs(ctx, paragraphs, maxWidth, scaleFactor);
|
|
1732
1743
|
if (lines.length === 0) {
|
|
1733
1744
|
return;
|
|
@@ -1763,33 +1774,58 @@ function drawTextSegments(ctx, segments, bodyStyle, w, h, scaleFactor = 1) {
|
|
|
1763
1774
|
y += line.height * 0.3;
|
|
1764
1775
|
}
|
|
1765
1776
|
}
|
|
1766
|
-
function splitIntoParagraphs(segments) {
|
|
1767
|
-
const paragraphs = [[]];
|
|
1777
|
+
function splitIntoParagraphs(segments, bodyStyle) {
|
|
1778
|
+
const paragraphs = [{ segments: [], style: bodyStyle ?? {} }];
|
|
1768
1779
|
for (const seg of segments) {
|
|
1769
|
-
if (seg.isParagraphBreak) {
|
|
1770
|
-
paragraphs.push([]);
|
|
1771
|
-
} else if (seg.text) {
|
|
1772
|
-
paragraphs[paragraphs.length - 1].push(seg);
|
|
1780
|
+
if (seg.isParagraphBreak || seg.text === "\n" && !seg.isLineBreak) {
|
|
1781
|
+
paragraphs.push({ segments: [], style: seg.style });
|
|
1782
|
+
} else if (seg.text || seg.isLineBreak) {
|
|
1783
|
+
paragraphs[paragraphs.length - 1].segments.push(seg);
|
|
1773
1784
|
}
|
|
1774
1785
|
}
|
|
1775
|
-
return paragraphs
|
|
1786
|
+
return paragraphs;
|
|
1776
1787
|
}
|
|
1777
1788
|
function layoutParagraphs(ctx, paragraphs, maxWidth, scaleFactor) {
|
|
1778
1789
|
const lines = [];
|
|
1779
|
-
for (const
|
|
1780
|
-
const
|
|
1790
|
+
for (const paragraph of paragraphs) {
|
|
1791
|
+
const para = paragraph.segments;
|
|
1792
|
+
const paraAlign = para[0]?.style.align ?? paragraph.style.align;
|
|
1781
1793
|
let currentLine = [];
|
|
1782
1794
|
let lineWidth = 0;
|
|
1783
1795
|
let lineHeight = 0;
|
|
1796
|
+
let fallbackHeight = (para[0]?.style.fontSize ?? paragraph.style.fontSize ?? DEFAULT_FONT_SIZE) * scaleFactor * 1.2;
|
|
1797
|
+
const flushLine = () => {
|
|
1798
|
+
while (currentLine.length > 0 && /^\s+$/.test(currentLine[currentLine.length - 1].text)) {
|
|
1799
|
+
lineWidth -= currentLine.pop().measuredWidth;
|
|
1800
|
+
}
|
|
1801
|
+
lines.push({
|
|
1802
|
+
runs: currentLine,
|
|
1803
|
+
width: lineWidth,
|
|
1804
|
+
height: lineHeight || fallbackHeight,
|
|
1805
|
+
align: paraAlign
|
|
1806
|
+
});
|
|
1807
|
+
currentLine = [];
|
|
1808
|
+
lineWidth = 0;
|
|
1809
|
+
lineHeight = 0;
|
|
1810
|
+
};
|
|
1784
1811
|
for (const seg of para) {
|
|
1785
1812
|
ctx.font = buildFont(seg.style, scaleFactor);
|
|
1786
1813
|
const fontSize = (seg.style.fontSize ?? DEFAULT_FONT_SIZE) * scaleFactor;
|
|
1787
1814
|
const segHeight = fontSize * 1.2;
|
|
1788
|
-
|
|
1815
|
+
fallbackHeight = segHeight;
|
|
1816
|
+
if (seg.isLineBreak) {
|
|
1817
|
+
flushLine();
|
|
1818
|
+
continue;
|
|
1819
|
+
}
|
|
1820
|
+
const tokens = seg.text.split(/(\r\n|\r|\n)|(?<=\s)(?=\S)|(?<=\S)(?=\s)/);
|
|
1789
1821
|
for (const raw of tokens) {
|
|
1790
1822
|
if (!raw) {
|
|
1791
1823
|
continue;
|
|
1792
1824
|
}
|
|
1825
|
+
if (/^(\r\n|\r|\n)$/.test(raw)) {
|
|
1826
|
+
flushLine();
|
|
1827
|
+
continue;
|
|
1828
|
+
}
|
|
1793
1829
|
if (/^\s+$/.test(raw)) {
|
|
1794
1830
|
if (currentLine.length > 0) {
|
|
1795
1831
|
const spaceW = ctx.measureText(raw).width;
|
|
@@ -1805,19 +1841,7 @@ function layoutParagraphs(ctx, paragraphs, maxWidth, scaleFactor) {
|
|
|
1805
1841
|
const word = raw;
|
|
1806
1842
|
const wordW = ctx.measureText(word).width;
|
|
1807
1843
|
if (lineWidth + wordW > maxWidth && currentLine.length > 0) {
|
|
1808
|
-
|
|
1809
|
-
const removed = currentLine.pop();
|
|
1810
|
-
lineWidth -= removed.measuredWidth;
|
|
1811
|
-
}
|
|
1812
|
-
lines.push({
|
|
1813
|
-
runs: currentLine,
|
|
1814
|
-
width: lineWidth,
|
|
1815
|
-
height: lineHeight,
|
|
1816
|
-
align: paraAlign
|
|
1817
|
-
});
|
|
1818
|
-
currentLine = [];
|
|
1819
|
-
lineWidth = 0;
|
|
1820
|
-
lineHeight = 0;
|
|
1844
|
+
flushLine();
|
|
1821
1845
|
}
|
|
1822
1846
|
currentLine.push({
|
|
1823
1847
|
text: word,
|
|
@@ -1828,14 +1852,7 @@ function layoutParagraphs(ctx, paragraphs, maxWidth, scaleFactor) {
|
|
|
1828
1852
|
lineHeight = Math.max(lineHeight, segHeight);
|
|
1829
1853
|
}
|
|
1830
1854
|
}
|
|
1831
|
-
|
|
1832
|
-
lines.push({
|
|
1833
|
-
runs: currentLine,
|
|
1834
|
-
width: lineWidth,
|
|
1835
|
-
height: lineHeight,
|
|
1836
|
-
align: paraAlign
|
|
1837
|
-
});
|
|
1838
|
-
}
|
|
1855
|
+
flushLine();
|
|
1839
1856
|
}
|
|
1840
1857
|
return lines;
|
|
1841
1858
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-parser.d.ts","sourceRoot":"","sources":["../../docx/block-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAY,KAAK,EAAW,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAwD,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAM9F,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAG9D,OAAO,EAAyC,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"block-parser.d.ts","sourceRoot":"","sources":["../../docx/block-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAY,KAAK,EAAW,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAwD,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAM9F,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAG9D,OAAO,EAAyC,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAwI/F,iBAAS,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAqF7F;AAED,iBAAS,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAIrF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACvC,SAAS,EAAE,UAAU,EACrB,QAAQ,SAAK,EACb,OAAO,CAAC,EAAE,cAAc,GACtB,KAAK,EAAE,CAcT;AAaD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Block, TableCell } from './model.js';
|
|
2
|
+
/** Source child order, with current direct paragraphs and any new paragraphs beside their source anchor. */
|
|
3
|
+
export declare function cellSourceBlocks(cell: TableCell): Block[];
|
|
4
|
+
//# sourceMappingURL=cell-blocks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell-blocks.d.ts","sourceRoot":"","sources":["../../docx/cell-blocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,4GAA4G;AAC5G,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,EAAE,CAuBzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-paragraphs.d.ts","sourceRoot":"","sources":["../../docx/document-paragraphs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE/D,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"document-paragraphs.d.ts","sourceRoot":"","sources":["../../docx/document-paragraphs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE/D,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,KAAK,EAAE,EAAE,CAWlE;AAED,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,KAAK,EAAE,EACf,GAAG,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,SAAS,GACtC,KAAK,EAAE,CAWT;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,SAAS,GACtC,aAAa,CAiDf"}
|
|
@@ -6,7 +6,9 @@ import type { DrawingContext } from './drawing.js';
|
|
|
6
6
|
export interface DocumentPartsResult {
|
|
7
7
|
sections: SectionProperties[];
|
|
8
8
|
footnotes?: Note[];
|
|
9
|
+
footnoteSeparators?: import('./model.js').DocumentModel['footnoteSeparators'];
|
|
9
10
|
endnotes?: Note[];
|
|
11
|
+
compatibilityMode?: number;
|
|
10
12
|
footnoteNumFmt?: StNumberFormat;
|
|
11
13
|
endnoteNumFmt?: StNumberFormat;
|
|
12
14
|
evenAndOddHeaders?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-parts.d.ts","sourceRoot":"","sources":["../../docx/document-parts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAqB,IAAI,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,
|
|
1
|
+
{"version":3,"file":"document-parts.d.ts","sourceRoot":"","sources":["../../docx/document-parts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAqB,IAAI,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,EAAmC,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAEzE,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAMrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA8FhD,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,SAAS,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC3E,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,kGAAkG;AAClG,wBAAsB,kBAAkB,CACvC,GAAG,EAAE,KAAK,EACV,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,KAAK,EAAE,EACf,QAAQ,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,mBAAmB,CAAC,CAqE9B"}
|
package/dist/docx/embedded.cjs
CHANGED
|
@@ -62,8 +62,8 @@ function named(element, local, ns, lenient = true) {
|
|
|
62
62
|
}
|
|
63
63
|
var children = (parent, local, ns, lenient = true) => elements(parent).filter((element) => named(element, local, ns, lenient));
|
|
64
64
|
var first = (parent, local, ns, lenient = true) => parent ? children(parent, local, ns, lenient)[0] : void 0;
|
|
65
|
-
function attr(element, local, ns,
|
|
66
|
-
return element?.getAttributeNS(ns, local) ?? element?.getAttribute(`${
|
|
65
|
+
function attr(element, local, ns, prefix2) {
|
|
66
|
+
return element?.getAttributeNS(ns, local) ?? element?.getAttribute(`${prefix2}:${local}`) ?? void 0;
|
|
67
67
|
}
|
|
68
68
|
var relAttr = (element, local) => attr(element, local, NS.r, "r");
|
|
69
69
|
|
|
@@ -344,24 +344,24 @@ var parseLigatures = (props) => {
|
|
|
344
344
|
};
|
|
345
345
|
function extensionPrefix(doc, ns, preferred) {
|
|
346
346
|
const root = doc.documentElement;
|
|
347
|
-
let
|
|
348
|
-
for (let index = 1; root.lookupNamespaceURI(
|
|
349
|
-
|
|
350
|
-
root.setAttributeNS(XMLNS, `xmlns:${
|
|
351
|
-
return
|
|
347
|
+
let prefix2 = preferred;
|
|
348
|
+
for (let index = 1; root.lookupNamespaceURI(prefix2) && root.lookupNamespaceURI(prefix2) !== ns; index++)
|
|
349
|
+
prefix2 = `${preferred}${index}`;
|
|
350
|
+
root.setAttributeNS(XMLNS, `xmlns:${prefix2}`, ns);
|
|
351
|
+
return prefix2;
|
|
352
352
|
}
|
|
353
353
|
function writeLigatures(doc, props, value) {
|
|
354
354
|
for (const element2 of ligatureElements(props)) props.removeChild(element2);
|
|
355
355
|
if (value === void 0) return;
|
|
356
|
-
const
|
|
356
|
+
const prefix2 = extensionPrefix(doc, WORD_2010_NS, "w14");
|
|
357
357
|
const mc = extensionPrefix(doc, MC, "mc");
|
|
358
358
|
const ignored = new Set(
|
|
359
359
|
(doc.documentElement.getAttributeNS(MC, "Ignorable") ?? "").split(/\s+/).filter(Boolean)
|
|
360
360
|
);
|
|
361
|
-
ignored.add(
|
|
361
|
+
ignored.add(prefix2);
|
|
362
362
|
doc.documentElement.setAttributeNS(MC, `${mc}:Ignorable`, [...ignored].join(" "));
|
|
363
|
-
const element = doc.createElementNS(WORD_2010_NS, `${
|
|
364
|
-
element.setAttributeNS(WORD_2010_NS, `${
|
|
363
|
+
const element = doc.createElementNS(WORD_2010_NS, `${prefix2}:ligatures`);
|
|
364
|
+
element.setAttributeNS(WORD_2010_NS, `${prefix2}:val`, value);
|
|
365
365
|
props.appendChild(element);
|
|
366
366
|
}
|
|
367
367
|
|
|
@@ -1304,7 +1304,7 @@ async function applyCoreProperties(zip, next, prior) {
|
|
|
1304
1304
|
const root = doc.documentElement;
|
|
1305
1305
|
for (const field of PROPERTY_FIELDS) {
|
|
1306
1306
|
if ((next?.[field] ?? "") === (prior?.[field] ?? "")) continue;
|
|
1307
|
-
const [
|
|
1307
|
+
const [prefix2, ns] = PREFIX[field];
|
|
1308
1308
|
let element = child(root, field);
|
|
1309
1309
|
const value = next?.[field] ?? "";
|
|
1310
1310
|
if (!value) {
|
|
@@ -1312,7 +1312,7 @@ async function applyCoreProperties(zip, next, prior) {
|
|
|
1312
1312
|
continue;
|
|
1313
1313
|
}
|
|
1314
1314
|
if (!element) {
|
|
1315
|
-
element = doc.createElementNS(ns, `${
|
|
1315
|
+
element = doc.createElementNS(ns, `${prefix2}:${field}`);
|
|
1316
1316
|
root.appendChild(element);
|
|
1317
1317
|
}
|
|
1318
1318
|
element.textContent = value;
|
|
@@ -2212,6 +2212,36 @@ function writeTable(doc, table, node, base, writeParagraph, replaceSlots2) {
|
|
|
2212
2212
|
return node;
|
|
2213
2213
|
}
|
|
2214
2214
|
|
|
2215
|
+
// docx/write-footnote-columns.ts
|
|
2216
|
+
var W15 = "http://schemas.microsoft.com/office/word/2012/wordml";
|
|
2217
|
+
var XMLNS2 = "http://www.w3.org/2000/xmlns/";
|
|
2218
|
+
var MC2 = "http://schemas.openxmlformats.org/markup-compatibility/2006";
|
|
2219
|
+
function prefix(doc, preferred, namespace) {
|
|
2220
|
+
let name = preferred;
|
|
2221
|
+
for (let suffix = 1; doc.documentElement.lookupNamespaceURI(name) && doc.documentElement.lookupNamespaceURI(name) !== namespace; suffix++)
|
|
2222
|
+
name = preferred + suffix;
|
|
2223
|
+
doc.documentElement.setAttributeNS(XMLNS2, "xmlns:" + name, namespace);
|
|
2224
|
+
return name;
|
|
2225
|
+
}
|
|
2226
|
+
function writeFootnoteColumns(doc, section, value) {
|
|
2227
|
+
if (value !== void 0 && (!Number.isInteger(value) || value < 0 || value > 2147483647))
|
|
2228
|
+
throw new Error("Footnote column count must be an integer from 0 to 2147483647.");
|
|
2229
|
+
const old = elements(section).filter(
|
|
2230
|
+
(element2) => element2.namespaceURI === W15 && element2.localName === "footnoteColumns"
|
|
2231
|
+
);
|
|
2232
|
+
for (const element2 of old) section.removeChild(element2);
|
|
2233
|
+
if (value === void 0) return;
|
|
2234
|
+
const w15 = prefix(doc, "w15", W15), mc = prefix(doc, "mc", MC2);
|
|
2235
|
+
const ignored = new Set(
|
|
2236
|
+
(doc.documentElement.getAttributeNS(MC2, "Ignorable") ?? "").split(/\s+/).filter(Boolean)
|
|
2237
|
+
);
|
|
2238
|
+
ignored.add(w15);
|
|
2239
|
+
doc.documentElement.setAttributeNS(MC2, mc + ":Ignorable", [...ignored].join(" "));
|
|
2240
|
+
const element = doc.createElementNS(W15, w15 + ":footnoteColumns");
|
|
2241
|
+
element.setAttributeNS(WORD_NS, "w:val", String(value));
|
|
2242
|
+
section.appendChild(element);
|
|
2243
|
+
}
|
|
2244
|
+
|
|
2215
2245
|
// docx/page-borders.ts
|
|
2216
2246
|
var SIDES3 = ["top", "left", "bottom", "right"];
|
|
2217
2247
|
var ATTRIBUTES = ["offsetFrom", "display", "zOrder"];
|
|
@@ -2355,6 +2385,7 @@ var WRITABLE = /* @__PURE__ */ new Set([
|
|
|
2355
2385
|
"footerDistanceTwips",
|
|
2356
2386
|
"gutterTwips",
|
|
2357
2387
|
"columns",
|
|
2388
|
+
"footnoteColumns",
|
|
2358
2389
|
"titlePage",
|
|
2359
2390
|
"verticalAlign",
|
|
2360
2391
|
"pageNumbering",
|
|
@@ -2418,6 +2449,8 @@ var AFTER_TITLEPG = [
|
|
|
2418
2449
|
var AFTER_PGBORDERS = ["lnNumType", ...AFTER_LNNUM];
|
|
2419
2450
|
var AFTER_TYPE = ["pgSz", ...AFTER_PGSZ];
|
|
2420
2451
|
function writeSectionProperties(doc, sectPr, section, base) {
|
|
2452
|
+
if (section.footnoteColumns !== base?.footnoteColumns)
|
|
2453
|
+
writeFootnoteColumns(doc, sectPr, section.footnoteColumns);
|
|
2421
2454
|
if (section.type === "nextPage")
|
|
2422
2455
|
for (const type of children2(sectPr, "type")) sectPr.removeChild(type);
|
|
2423
2456
|
else setW5(child2(doc, sectPr, "type", AFTER_TYPE), "val", section.type);
|
|
@@ -4391,7 +4424,7 @@ function readBuiltInChartStyle(root) {
|
|
|
4391
4424
|
for (const content of children(root, "AlternateContent", NS.mc)) {
|
|
4392
4425
|
for (const choice of children(content, "Choice", NS.mc)) {
|
|
4393
4426
|
const requires = choice.getAttribute("Requires")?.trim().split(/\s+/);
|
|
4394
|
-
if (!requires?.length || !requires.every((
|
|
4427
|
+
if (!requires?.length || !requires.every((prefix2) => choice.lookupNamespaceURI(prefix2) === C14))
|
|
4395
4428
|
continue;
|
|
4396
4429
|
const modern = first(choice, "style", C14)?.getAttribute("val");
|
|
4397
4430
|
if (modern && /^\d+$/.test(modern) && Number(modern) >= 101 && Number(modern) <= 148)
|
|
@@ -4553,12 +4586,12 @@ var CHART_ROOT_BINDINGS = /* @__PURE__ */ new Map([
|
|
|
4553
4586
|
var DECLARATION = / xmlns:([A-Za-z_][\w.-]*)="([^"]*)"/g;
|
|
4554
4587
|
function stripDeclarations(xml, bindings) {
|
|
4555
4588
|
const conflicting = /* @__PURE__ */ new Set();
|
|
4556
|
-
for (const [,
|
|
4557
|
-
if (
|
|
4558
|
-
conflicting.add(
|
|
4589
|
+
for (const [, prefix2, uri] of xml.matchAll(DECLARATION))
|
|
4590
|
+
if (prefix2 !== void 0 && bindings.has(prefix2) && bindings.get(prefix2) !== uri)
|
|
4591
|
+
conflicting.add(prefix2);
|
|
4559
4592
|
return xml.replace(
|
|
4560
4593
|
DECLARATION,
|
|
4561
|
-
(match,
|
|
4594
|
+
(match, prefix2, uri) => bindings.get(prefix2) === uri && !conflicting.has(prefix2) ? "" : match
|
|
4562
4595
|
);
|
|
4563
4596
|
}
|
|
4564
4597
|
var innerXml = (element) => stripDeclarations(elements(element).map(buildXml).join(""), CHART_ROOT_BINDINGS);
|
|
@@ -6133,6 +6166,10 @@ function createRun(doc, run, base, old, allocator) {
|
|
|
6133
6166
|
node.appendChild(code);
|
|
6134
6167
|
return node;
|
|
6135
6168
|
}
|
|
6169
|
+
if (run.noteSeparator) {
|
|
6170
|
+
node.appendChild(makeW(doc, run.noteSeparator));
|
|
6171
|
+
return node;
|
|
6172
|
+
}
|
|
6136
6173
|
if (run.noteMark) {
|
|
6137
6174
|
node.appendChild(makeW(doc, run.noteMark === "footnote" ? "footnoteRef" : "endnoteRef"));
|
|
6138
6175
|
return node;
|
|
@@ -8027,7 +8064,12 @@ async function applyNoteEdits(zip, model, base, pendingMedia, docPrIds) {
|
|
|
8027
8064
|
const original = baseNotes.get(note.id);
|
|
8028
8065
|
return !original || JSON.stringify(original.blocks) !== JSON.stringify(note.blocks);
|
|
8029
8066
|
});
|
|
8030
|
-
|
|
8067
|
+
const separators = kind === "footnote" ? model.footnoteSeparators : void 0;
|
|
8068
|
+
const baseSeparators = kind === "footnote" ? base.footnoteSeparators : void 0;
|
|
8069
|
+
const editedSeparators = ["separator", "continuationSeparator"].filter(
|
|
8070
|
+
(type) => separators?.[type] && JSON.stringify(separators[type].blocks) !== JSON.stringify(baseSeparators?.[type]?.blocks)
|
|
8071
|
+
);
|
|
8072
|
+
if (!edited.length && !removed.length && !editedSeparators.length) continue;
|
|
8031
8073
|
const file = zip.file(part);
|
|
8032
8074
|
const doc = parseXml2(file ? await file.async("string") : await createNotesPart(zip, kind));
|
|
8033
8075
|
const elements2 = new Map(
|
|
@@ -8039,6 +8081,24 @@ async function applyNoteEdits(zip, model, base, pendingMedia, docPrIds) {
|
|
|
8039
8081
|
doc.documentElement.removeChild(element);
|
|
8040
8082
|
}
|
|
8041
8083
|
const allocator = await allocatorForPart(zip, part, doc, docPrIds);
|
|
8084
|
+
for (const type of editedSeparators) {
|
|
8085
|
+
const separator = separators[type];
|
|
8086
|
+
let element = children2(doc.documentElement, kind).find((node) => getW(node, "type") === type);
|
|
8087
|
+
if (!element) {
|
|
8088
|
+
element = doc.createElementNS(WORD_NS3, `w:${kind}`);
|
|
8089
|
+
element.setAttributeNS(WORD_NS3, "w:id", separator.id);
|
|
8090
|
+
element.setAttributeNS(WORD_NS3, "w:type", type);
|
|
8091
|
+
doc.documentElement.appendChild(element);
|
|
8092
|
+
}
|
|
8093
|
+
applyBlocks(
|
|
8094
|
+
doc,
|
|
8095
|
+
element,
|
|
8096
|
+
separator.blocks,
|
|
8097
|
+
baseSeparators?.[type]?.blocks ?? [],
|
|
8098
|
+
allocator,
|
|
8099
|
+
contentWidthTwips
|
|
8100
|
+
);
|
|
8101
|
+
}
|
|
8042
8102
|
for (const note of edited) {
|
|
8043
8103
|
let element = elements2.get(note.id);
|
|
8044
8104
|
const original = baseNotes.get(note.id);
|
|
@@ -8206,6 +8266,43 @@ async function applyTrackChangesSetting(zip, enabled2) {
|
|
|
8206
8266
|
}
|
|
8207
8267
|
await applySettingsFlag(zip, "trackRevisions", enabled2);
|
|
8208
8268
|
}
|
|
8269
|
+
async function applyCompatibilityMode(zip, mode) {
|
|
8270
|
+
if (mode !== void 0 && (!Number.isInteger(mode) || mode <= 0 || mode > 2147483647))
|
|
8271
|
+
throw new RangeError("Compatibility mode must be a positive integer.");
|
|
8272
|
+
const file = zip.file(SETTINGS_PATH);
|
|
8273
|
+
if (!file && mode === void 0) return;
|
|
8274
|
+
const doc = parseXml2(
|
|
8275
|
+
await file?.async("string") ?? `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:settings xmlns:w="${WORD_NS}"/>`
|
|
8276
|
+
);
|
|
8277
|
+
const root = doc.documentElement;
|
|
8278
|
+
let compat = children2(root, "compat")[0];
|
|
8279
|
+
if (!compat && mode !== void 0) {
|
|
8280
|
+
compat = makeW(doc, "compat");
|
|
8281
|
+
const rank = SETTINGS_ORDER.indexOf("compat");
|
|
8282
|
+
const after = Array.from(root.childNodes).find(
|
|
8283
|
+
(node) => node.nodeType === 1 && SETTINGS_ORDER.indexOf(node.localName ?? "") > rank
|
|
8284
|
+
);
|
|
8285
|
+
root.insertBefore(compat, after ?? null);
|
|
8286
|
+
}
|
|
8287
|
+
const uri = "http://schemas.microsoft.com/office/word";
|
|
8288
|
+
if (compat) {
|
|
8289
|
+
for (const setting of children2(compat, "compatSetting"))
|
|
8290
|
+
if (setting.getAttributeNS(WORD_NS, "name") === "compatibilityMode" && setting.getAttributeNS(WORD_NS, "uri") === uri)
|
|
8291
|
+
compat.removeChild(setting);
|
|
8292
|
+
if (mode !== void 0) {
|
|
8293
|
+
const setting = makeW(doc, "compatSetting");
|
|
8294
|
+
setting.setAttributeNS(WORD_NS, "w:name", "compatibilityMode");
|
|
8295
|
+
setting.setAttributeNS(WORD_NS, "w:uri", uri);
|
|
8296
|
+
setting.setAttributeNS(WORD_NS, "w:val", String(mode));
|
|
8297
|
+
compat.appendChild(setting);
|
|
8298
|
+
}
|
|
8299
|
+
}
|
|
8300
|
+
zip.file(SETTINGS_PATH, buildXml(doc));
|
|
8301
|
+
if (!file) {
|
|
8302
|
+
await ensureContentTypeOverride(zip, SETTINGS_PATH, SETTINGS_CONTENT_TYPE);
|
|
8303
|
+
await ensureDocumentRelationship(zip, SETTINGS_RELATIONSHIP_TYPE, "settings.xml");
|
|
8304
|
+
}
|
|
8305
|
+
}
|
|
8209
8306
|
|
|
8210
8307
|
// docx/page-background.ts
|
|
8211
8308
|
var HEX = /^[0-9a-fA-F]{6}$/;
|
|
@@ -8237,6 +8334,7 @@ function documentBlockLists(model) {
|
|
|
8237
8334
|
(slots) => Object.values(slots ?? {}).flatMap((content) => content ? [content.blocks] : [])
|
|
8238
8335
|
)
|
|
8239
8336
|
),
|
|
8337
|
+
...Object.values(model.footnoteSeparators ?? {}).map((note) => note.blocks),
|
|
8240
8338
|
...[...model.footnotes ?? [], ...model.endnotes ?? []].map((note) => note.blocks)
|
|
8241
8339
|
];
|
|
8242
8340
|
}
|
|
@@ -8269,6 +8367,14 @@ function mapDocumentParagraphs(model, map) {
|
|
|
8269
8367
|
...section.footers ? { footers: slots(section.footers) } : {}
|
|
8270
8368
|
}))
|
|
8271
8369
|
} : {},
|
|
8370
|
+
...model.footnoteSeparators ? {
|
|
8371
|
+
footnoteSeparators: Object.fromEntries(
|
|
8372
|
+
Object.entries(model.footnoteSeparators).map(([kind, note]) => [
|
|
8373
|
+
kind,
|
|
8374
|
+
{ ...note, blocks: mapBlockParagraphs(note.blocks, map) }
|
|
8375
|
+
])
|
|
8376
|
+
)
|
|
8377
|
+
} : {},
|
|
8272
8378
|
...model.footnotes ? {
|
|
8273
8379
|
footnotes: model.footnotes.map((note) => ({
|
|
8274
8380
|
...note,
|
|
@@ -8449,6 +8555,8 @@ async function saveDocx(model, pendingMedia) {
|
|
|
8449
8555
|
await applyNumberingCatalog(zip, model, binding);
|
|
8450
8556
|
await applyCoreProperties(zip, model.properties, binding?.base.properties);
|
|
8451
8557
|
if (binding) await applyStyleNumbering(zip, model, binding.base);
|
|
8558
|
+
if (model.compatibilityMode !== binding?.base.compatibilityMode)
|
|
8559
|
+
await applyCompatibilityMode(zip, model.compatibilityMode);
|
|
8452
8560
|
if (Boolean(model.evenAndOddHeaders) !== Boolean(binding?.base.evenAndOddHeaders))
|
|
8453
8561
|
await applySettingsFlag(zip, "evenAndOddHeaders", Boolean(model.evenAndOddHeaders));
|
|
8454
8562
|
if (model.pageColor !== binding?.base.pageColor)
|
|
@@ -8519,6 +8627,20 @@ function parseCell(cell, parseParagraph3, id) {
|
|
|
8519
8627
|
if (margins) result.margins = margins;
|
|
8520
8628
|
const nested = children2(cell, "tbl").map(nestedPreview);
|
|
8521
8629
|
if (nested.length) result.nestedTables = nested;
|
|
8630
|
+
if (nested.length) {
|
|
8631
|
+
let paragraphIndex = 0, tableIndex = 0;
|
|
8632
|
+
result.sourceBlocks = Array.from(cell.childNodes).flatMap(
|
|
8633
|
+
(child3) => {
|
|
8634
|
+
if (child3.nodeType !== 1) return [];
|
|
8635
|
+
const element = child3;
|
|
8636
|
+
if (element.namespaceURI !== WORD_NS) return [];
|
|
8637
|
+
if (element.localName === "p") return [result.paragraphs[paragraphIndex++]];
|
|
8638
|
+
if (element.localName === "tbl")
|
|
8639
|
+
return [parseTable(element, `${id}-nested${tableIndex++}`, parseParagraph3)];
|
|
8640
|
+
return [];
|
|
8641
|
+
}
|
|
8642
|
+
);
|
|
8643
|
+
}
|
|
8522
8644
|
return result;
|
|
8523
8645
|
}
|
|
8524
8646
|
function parseLook(element) {
|
|
@@ -8733,6 +8855,7 @@ function parseRun2(node, revision) {
|
|
|
8733
8855
|
let breakKind;
|
|
8734
8856
|
let noteReference;
|
|
8735
8857
|
let noteMark;
|
|
8858
|
+
let noteSeparator;
|
|
8736
8859
|
let fieldChar;
|
|
8737
8860
|
const fieldCode = content.length > 0 && content.every((child3) => named2(child3, "instrText")) ? content.map((child3) => textContent(child3)).join("") : void 0;
|
|
8738
8861
|
const only = content.length === 1 ? content[0] : void 0;
|
|
@@ -8748,6 +8871,8 @@ function parseRun2(node, revision) {
|
|
|
8748
8871
|
if (id) noteReference = { kind: "endnote", id };
|
|
8749
8872
|
} else if (named2(only, "footnoteRef")) noteMark = "footnote";
|
|
8750
8873
|
else if (named2(only, "endnoteRef")) noteMark = "endnote";
|
|
8874
|
+
else if (named2(only, "separator")) noteSeparator = "separator";
|
|
8875
|
+
else if (named2(only, "continuationSeparator")) noteSeparator = "continuationSeparator";
|
|
8751
8876
|
else if (named2(only, "fldChar")) {
|
|
8752
8877
|
const type = getW(only, "fldCharType");
|
|
8753
8878
|
if (type === "begin" || type === "separate" || type === "end") fieldChar = type;
|
|
@@ -8765,6 +8890,7 @@ function parseRun2(node, revision) {
|
|
|
8765
8890
|
if (breakKind) run.break = breakKind;
|
|
8766
8891
|
if (noteReference) run.noteReference = noteReference;
|
|
8767
8892
|
if (noteMark) run.noteMark = noteMark;
|
|
8893
|
+
if (noteSeparator) run.noteSeparator = noteSeparator;
|
|
8768
8894
|
if (fieldChar) {
|
|
8769
8895
|
run.fieldChar = fieldChar;
|
|
8770
8896
|
const flags = parseFieldFlags(only);
|
|
@@ -8941,6 +9067,14 @@ function pageBordersOf(element) {
|
|
|
8941
9067
|
return borders ? { pageBorders: borders } : {};
|
|
8942
9068
|
}
|
|
8943
9069
|
function parseOneSection(section, endsAtBlockId) {
|
|
9070
|
+
const footnoteColumns = parseUnsignedInteger(
|
|
9071
|
+
getW(
|
|
9072
|
+
elements(section).find(
|
|
9073
|
+
(element) => element.localName === "footnoteColumns" && element.namespaceURI === "http://schemas.microsoft.com/office/word/2012/wordml"
|
|
9074
|
+
),
|
|
9075
|
+
"val"
|
|
9076
|
+
)
|
|
9077
|
+
);
|
|
8944
9078
|
const size = first2(section, "pgSz");
|
|
8945
9079
|
const margins = first2(section, "pgMar");
|
|
8946
9080
|
const typeValue = enumValue(isStSectionMark, getW(first2(section, "type"), "val"), "w:type");
|
|
@@ -8965,6 +9099,7 @@ function parseOneSection(section, endsAtBlockId) {
|
|
|
8965
9099
|
...footerDistance !== void 0 ? { footerDistanceTwips: footerDistance } : {},
|
|
8966
9100
|
...gutter !== void 0 ? { gutterTwips: gutter } : {},
|
|
8967
9101
|
columns: parseColumns(section),
|
|
9102
|
+
...footnoteColumns !== void 0 ? { footnoteColumns } : {},
|
|
8968
9103
|
...onOffElement(first2(section, "titlePg")) === true ? { titlePage: true } : {},
|
|
8969
9104
|
...vAlignValue ? { verticalAlign: vAlignValue } : {},
|
|
8970
9105
|
...pgNum ? {
|
|
@@ -9018,6 +9153,29 @@ function parseNotesPart(xml, kind, parseBlocks) {
|
|
|
9018
9153
|
}
|
|
9019
9154
|
return notes;
|
|
9020
9155
|
}
|
|
9156
|
+
function parseFootnoteSeparators(xml, parseBlocks) {
|
|
9157
|
+
const root = parseXml2(xml).documentElement;
|
|
9158
|
+
const result = {};
|
|
9159
|
+
for (const element of children2(root, "footnote")) {
|
|
9160
|
+
const type = getW(element, "type");
|
|
9161
|
+
if (type !== "separator" && type !== "continuationSeparator") continue;
|
|
9162
|
+
for (const run of Array.from(element.getElementsByTagNameNS(root.namespaceURI, "r"))) {
|
|
9163
|
+
const content = Array.from(run.childNodes).filter((child3) => child3.nodeType === 1).filter((child3) => child3.localName !== "rPr");
|
|
9164
|
+
if (content.length < 2 || !content.some((child3) => skippedTypes.has(child3.localName)))
|
|
9165
|
+
continue;
|
|
9166
|
+
const props = children2(run, "rPr")[0];
|
|
9167
|
+
for (const child3 of content) {
|
|
9168
|
+
const split = run.cloneNode(false);
|
|
9169
|
+
if (props) split.appendChild(props.cloneNode(true));
|
|
9170
|
+
split.appendChild(child3.cloneNode(true));
|
|
9171
|
+
run.parentNode.insertBefore(split, run);
|
|
9172
|
+
}
|
|
9173
|
+
run.parentNode.removeChild(run);
|
|
9174
|
+
}
|
|
9175
|
+
result[type] = { id: getW(element, "id") ?? type, blocks: parseBlocks(element, `fn-${type}-`) };
|
|
9176
|
+
}
|
|
9177
|
+
return result;
|
|
9178
|
+
}
|
|
9021
9179
|
|
|
9022
9180
|
// docx/document-parts.ts
|
|
9023
9181
|
async function partContext(zip, path2, base) {
|
|
@@ -9033,6 +9191,10 @@ async function readPart(zip, path2) {
|
|
|
9033
9191
|
function parseSettings(xml) {
|
|
9034
9192
|
if (!xml) return { evenAndOddHeaders: false, autoHyphenation: false };
|
|
9035
9193
|
const root = parseXml2(xml).documentElement;
|
|
9194
|
+
const compatibility = (first2(root, "compat") ? children2(first2(root, "compat"), "compatSetting") : []).find(
|
|
9195
|
+
(setting) => getW(setting, "name") === "compatibilityMode" && getW(setting, "uri") === "http://schemas.microsoft.com/office/word"
|
|
9196
|
+
);
|
|
9197
|
+
const compatibilityMode = compatibility ? Number(getW(compatibility, "val")) : void 0;
|
|
9036
9198
|
const footnoteNumFmt = enumValue(
|
|
9037
9199
|
isStNumberFormat,
|
|
9038
9200
|
getW(first2(first2(root, "footnotePr"), "numFmt"), "val"),
|
|
@@ -9044,6 +9206,7 @@ function parseSettings(xml) {
|
|
|
9044
9206
|
"w:endnotePr/w:numFmt"
|
|
9045
9207
|
);
|
|
9046
9208
|
return {
|
|
9209
|
+
...compatibilityMode !== void 0 && Number.isInteger(compatibilityMode) && compatibilityMode > 0 ? { compatibilityMode } : {},
|
|
9047
9210
|
evenAndOddHeaders: onOffElement(first2(root, "evenAndOddHeaders")) === true,
|
|
9048
9211
|
autoHyphenation: onOffElement(first2(root, "autoHyphenation")) === true,
|
|
9049
9212
|
...footnoteNumFmt ? { footnoteNumFmt } : {},
|
|
@@ -9108,9 +9271,10 @@ async function parseDocumentParts(zip, body, blocks, drawings) {
|
|
|
9108
9271
|
const endnotesXml = await readPart(zip, "word/endnotes.xml");
|
|
9109
9272
|
const notesParser = async (path2) => {
|
|
9110
9273
|
const context = await partContext(zip, path2, drawings);
|
|
9111
|
-
return (container,
|
|
9274
|
+
return (container, prefix2) => withParseWarnings(warnings, () => parseBlocksFromContainer(container, prefix2, context));
|
|
9112
9275
|
};
|
|
9113
9276
|
const footnotes = footnotesXml ? parseNotesPart(footnotesXml, "footnote", await notesParser("word/footnotes.xml")) : void 0;
|
|
9277
|
+
const footnoteSeparators = footnotesXml ? parseFootnoteSeparators(footnotesXml, await notesParser("word/footnotes.xml")) : void 0;
|
|
9114
9278
|
const endnotes = endnotesXml ? parseNotesPart(endnotesXml, "endnote", await notesParser("word/endnotes.xml")) : void 0;
|
|
9115
9279
|
if (sections.some((section) => section.columns.count > 1))
|
|
9116
9280
|
warnings.push(
|
|
@@ -9122,7 +9286,9 @@ async function parseDocumentParts(zip, body, blocks, drawings) {
|
|
|
9122
9286
|
);
|
|
9123
9287
|
return {
|
|
9124
9288
|
sections,
|
|
9289
|
+
...settings.compatibilityMode !== void 0 ? { compatibilityMode: settings.compatibilityMode } : {},
|
|
9125
9290
|
...footnotes ? { footnotes } : {},
|
|
9291
|
+
...footnoteSeparators ? { footnoteSeparators } : {},
|
|
9126
9292
|
...endnotes ? { endnotes } : {},
|
|
9127
9293
|
...settings.footnoteNumFmt ? { footnoteNumFmt: settings.footnoteNumFmt } : {},
|
|
9128
9294
|
...settings.endnoteNumFmt ? { endnoteNumFmt: settings.endnoteNumFmt } : {},
|
|
@@ -9310,7 +9476,9 @@ async function readPackage(input) {
|
|
|
9310
9476
|
);
|
|
9311
9477
|
const parts = await parseDocumentParts(zip, body, blocks, drawings);
|
|
9312
9478
|
model.sections = parts.sections;
|
|
9479
|
+
if (parts.compatibilityMode !== void 0) model.compatibilityMode = parts.compatibilityMode;
|
|
9313
9480
|
if (parts.footnotes) model.footnotes = parts.footnotes;
|
|
9481
|
+
if (parts.footnoteSeparators) model.footnoteSeparators = parts.footnoteSeparators;
|
|
9314
9482
|
if (parts.endnotes) model.endnotes = parts.endnotes;
|
|
9315
9483
|
if (parts.footnoteNumFmt) model.footnoteNumFmt = parts.footnoteNumFmt;
|
|
9316
9484
|
if (parts.endnoteNumFmt) model.endnoteNumFmt = parts.endnoteNumFmt;
|
|
@@ -9357,6 +9525,7 @@ async function readPackage(input) {
|
|
|
9357
9525
|
(slots) => Object.values(slots ?? {}).flatMap((content) => content?.blocks ?? [])
|
|
9358
9526
|
)
|
|
9359
9527
|
),
|
|
9528
|
+
...Object.values(model.footnoteSeparators ?? {}).flatMap((note) => note.blocks),
|
|
9360
9529
|
...[...model.footnotes ?? [], ...model.endnotes ?? []].flatMap((note) => note.blocks)
|
|
9361
9530
|
];
|
|
9362
9531
|
await resolveDocumentDiagrams(
|