ooxml-core 0.2.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/LICENSE +202 -0
- package/NOTICE +3 -0
- package/README.md +125 -0
- package/THIRD-PARTY-LICENSES +26 -0
- package/dist/collab/assets.d.ts +42 -0
- package/dist/collab/assets.d.ts.map +1 -0
- package/dist/collab/awareness.d.ts +65 -0
- package/dist/collab/awareness.d.ts.map +1 -0
- package/dist/collab/binding.d.ts +36 -0
- package/dist/collab/binding.d.ts.map +1 -0
- package/dist/collab/codec.d.ts +37 -0
- package/dist/collab/codec.d.ts.map +1 -0
- package/dist/collab/emitter.d.ts +11 -0
- package/dist/collab/emitter.d.ts.map +1 -0
- package/dist/collab/external-provider.d.ts +50 -0
- package/dist/collab/external-provider.d.ts.map +1 -0
- package/dist/collab/identity.d.ts +48 -0
- package/dist/collab/identity.d.ts.map +1 -0
- package/dist/collab/index.cjs +1328 -0
- package/dist/collab/index.d.ts +18 -0
- package/dist/collab/index.d.ts.map +1 -0
- package/dist/collab/index.mjs +1225 -0
- package/dist/collab/lifecycle.d.ts +62 -0
- package/dist/collab/lifecycle.d.ts.map +1 -0
- package/dist/collab/memory-transport.d.ts +19 -0
- package/dist/collab/memory-transport.d.ts.map +1 -0
- package/dist/collab/ordering.d.ts +53 -0
- package/dist/collab/ordering.d.ts.map +1 -0
- package/dist/collab/policy.d.ts +39 -0
- package/dist/collab/policy.d.ts.map +1 -0
- package/dist/collab/presence.d.ts +61 -0
- package/dist/collab/presence.d.ts.map +1 -0
- package/dist/collab/provider.d.ts +55 -0
- package/dist/collab/provider.d.ts.map +1 -0
- package/dist/collab/session.d.ts +70 -0
- package/dist/collab/session.d.ts.map +1 -0
- package/dist/collab/transport-provider.d.ts +13 -0
- package/dist/collab/transport-provider.d.ts.map +1 -0
- package/dist/collab/validation.d.ts +38 -0
- package/dist/collab/validation.d.ts.map +1 -0
- package/dist/collab/websocket-transport.d.ts +33 -0
- package/dist/collab/websocket-transport.d.ts.map +1 -0
- package/dist/color/color-linear.d.ts +5 -0
- package/dist/color/color-linear.d.ts.map +1 -0
- package/dist/color/color-primitives.d.ts +183 -0
- package/dist/color/color-primitives.d.ts.map +1 -0
- package/dist/color/index.cjs +177 -0
- package/dist/color/index.d.ts +3 -0
- package/dist/color/index.d.ts.map +1 -0
- package/dist/color/index.mjs +161 -0
- package/dist/diagram/attributes.d.ts +12 -0
- package/dist/diagram/attributes.d.ts.map +1 -0
- package/dist/diagram/data-model.d.ts +18 -0
- package/dist/diagram/data-model.d.ts.map +1 -0
- package/dist/diagram/definitions.d.ts +14 -0
- package/dist/diagram/definitions.d.ts.map +1 -0
- package/dist/diagram/dom.d.ts +15 -0
- package/dist/diagram/dom.d.ts.map +1 -0
- package/dist/diagram/drawing-color.d.ts +28 -0
- package/dist/diagram/drawing-color.d.ts.map +1 -0
- package/dist/diagram/drawing-fill.d.ts +9 -0
- package/dist/diagram/drawing-fill.d.ts.map +1 -0
- package/dist/diagram/drawing-geometry.d.ts +23 -0
- package/dist/diagram/drawing-geometry.d.ts.map +1 -0
- package/dist/diagram/drawing-text.d.ts +5 -0
- package/dist/diagram/drawing-text.d.ts.map +1 -0
- package/dist/diagram/drawing.d.ts +7 -0
- package/dist/diagram/drawing.d.ts.map +1 -0
- package/dist/diagram/index.cjs +1193 -0
- package/dist/diagram/index.d.ts +14 -0
- package/dist/diagram/index.d.ts.map +1 -0
- package/dist/diagram/index.mjs +1161 -0
- package/dist/diagram/layout-category.d.ts +8 -0
- package/dist/diagram/layout-category.d.ts.map +1 -0
- package/dist/diagram/load.d.ts +36 -0
- package/dist/diagram/load.d.ts.map +1 -0
- package/dist/diagram/relationships.d.ts +35 -0
- package/dist/diagram/relationships.d.ts.map +1 -0
- package/dist/diagram/types.d.ts +306 -0
- package/dist/diagram/types.d.ts.map +1 -0
- package/dist/docx/block-parser.d.ts +13 -0
- package/dist/docx/block-parser.d.ts.map +1 -0
- package/dist/docx/bookmarks.d.ts +18 -0
- package/dist/docx/bookmarks.d.ts.map +1 -0
- package/dist/docx/breaks.d.ts +11 -0
- package/dist/docx/breaks.d.ts.map +1 -0
- package/dist/docx/character-styles.d.ts +4 -0
- package/dist/docx/character-styles.d.ts.map +1 -0
- package/dist/docx/comment-spans.d.ts +19 -0
- package/dist/docx/comment-spans.d.ts.map +1 -0
- package/dist/docx/comments.d.ts +4 -0
- package/dist/docx/comments.d.ts.map +1 -0
- package/dist/docx/core-properties.d.ts +18 -0
- package/dist/docx/core-properties.d.ts.map +1 -0
- package/dist/docx/default-styles.d.ts +8 -0
- package/dist/docx/default-styles.d.ts.map +1 -0
- package/dist/docx/defined-props.d.ts +9 -0
- package/dist/docx/defined-props.d.ts.map +1 -0
- package/dist/docx/diagram-document.d.ts +9 -0
- package/dist/docx/diagram-document.d.ts.map +1 -0
- package/dist/docx/diagram-theme.d.ts +8 -0
- package/dist/docx/diagram-theme.d.ts.map +1 -0
- package/dist/docx/diagram.d.ts +89 -0
- package/dist/docx/diagram.d.ts.map +1 -0
- package/dist/docx/docpr-ids.d.ts +14 -0
- package/dist/docx/docpr-ids.d.ts.map +1 -0
- package/dist/docx/document-parts.d.ts +18 -0
- package/dist/docx/document-parts.d.ts.map +1 -0
- package/dist/docx/drawing.d.ts +13 -0
- package/dist/docx/drawing.d.ts.map +1 -0
- package/dist/docx/element-order.d.ts +13 -0
- package/dist/docx/element-order.d.ts.map +1 -0
- package/dist/docx/embedded.cjs +7646 -0
- package/dist/docx/embedded.d.ts +5 -0
- package/dist/docx/embedded.d.ts.map +1 -0
- package/dist/docx/embedded.mjs +7639 -0
- package/dist/docx/expect-defined.d.ts +3 -0
- package/dist/docx/expect-defined.d.ts.map +1 -0
- package/dist/docx/field-date.d.ts +10 -0
- package/dist/docx/field-date.d.ts.map +1 -0
- package/dist/docx/field-runs.d.ts +10 -0
- package/dist/docx/field-runs.d.ts.map +1 -0
- package/dist/docx/generated/wml-simple-types.d.ts +298 -0
- package/dist/docx/generated/wml-simple-types.d.ts.map +1 -0
- package/dist/docx/heading-list-kinds.d.ts +10 -0
- package/dist/docx/heading-list-kinds.d.ts.map +1 -0
- package/dist/docx/highlight.d.ts +5 -0
- package/dist/docx/highlight.d.ts.map +1 -0
- package/dist/docx/hyperlink.d.ts +8 -0
- package/dist/docx/hyperlink.d.ts.map +1 -0
- package/dist/docx/index.cjs +9784 -0
- package/dist/docx/index.d.ts +40 -0
- package/dist/docx/index.d.ts.map +1 -0
- package/dist/docx/index.mjs +9456 -0
- package/dist/docx/inline-model.d.ts +68 -0
- package/dist/docx/inline-model.d.ts.map +1 -0
- package/dist/docx/language.d.ts +3 -0
- package/dist/docx/language.d.ts.map +1 -0
- package/dist/docx/layout/adapt-drop-cap.d.ts +10 -0
- package/dist/docx/layout/adapt-drop-cap.d.ts.map +1 -0
- package/dist/docx/layout/adapt-floats.d.ts +8 -0
- package/dist/docx/layout/adapt-floats.d.ts.map +1 -0
- package/dist/docx/layout/adapt-notes.d.ts +13 -0
- package/dist/docx/layout/adapt-notes.d.ts.map +1 -0
- package/dist/docx/layout/adapt-paragraph-box.d.ts +12 -0
- package/dist/docx/layout/adapt-paragraph-box.d.ts.map +1 -0
- package/dist/docx/layout/adapt-table.d.ts +12 -0
- package/dist/docx/layout/adapt-table.d.ts.map +1 -0
- package/dist/docx/layout/adapter.d.ts +5 -0
- package/dist/docx/layout/adapter.d.ts.map +1 -0
- package/dist/docx/layout/floats.d.ts +20 -0
- package/dist/docx/layout/floats.d.ts.map +1 -0
- package/dist/docx/layout/flow-paragraph.d.ts +26 -0
- package/dist/docx/layout/flow-paragraph.d.ts.map +1 -0
- package/dist/docx/layout/flow-table.d.ts +12 -0
- package/dist/docx/layout/flow-table.d.ts.map +1 -0
- package/dist/docx/layout/fonts.d.ts +3 -0
- package/dist/docx/layout/fonts.d.ts.map +1 -0
- package/dist/docx/layout/index.cjs +2537 -0
- package/dist/docx/layout/index.d.ts +20 -0
- package/dist/docx/layout/index.d.ts.map +1 -0
- package/dist/docx/layout/index.mjs +2503 -0
- package/dist/docx/layout/input.d.ts +206 -0
- package/dist/docx/layout/input.d.ts.map +1 -0
- package/dist/docx/layout/keep-rules.d.ts +24 -0
- package/dist/docx/layout/keep-rules.d.ts.map +1 -0
- package/dist/docx/layout/layout.d.ts +9 -0
- package/dist/docx/layout/layout.d.ts.map +1 -0
- package/dist/docx/layout/ligatures.d.ts +4 -0
- package/dist/docx/layout/ligatures.d.ts.map +1 -0
- package/dist/docx/layout/line-metrics.d.ts +21 -0
- package/dist/docx/layout/line-metrics.d.ts.map +1 -0
- package/dist/docx/layout/measure.d.ts +34 -0
- package/dist/docx/layout/measure.d.ts.map +1 -0
- package/dist/docx/layout/page-cursor.d.ts +45 -0
- package/dist/docx/layout/page-cursor.d.ts.map +1 -0
- package/dist/docx/layout/page-flow.d.ts +7 -0
- package/dist/docx/layout/page-flow.d.ts.map +1 -0
- package/dist/docx/layout/paragraph-fragments.d.ts +6 -0
- package/dist/docx/layout/paragraph-fragments.d.ts.map +1 -0
- package/dist/docx/layout/paragraph-layout.d.ts +37 -0
- package/dist/docx/layout/paragraph-layout.d.ts.map +1 -0
- package/dist/docx/layout/paragraph-tokens.d.ts +27 -0
- package/dist/docx/layout/paragraph-tokens.d.ts.map +1 -0
- package/dist/docx/layout/result.d.ts +139 -0
- package/dist/docx/layout/result.d.ts.map +1 -0
- package/dist/docx/layout/tab-stops.d.ts +14 -0
- package/dist/docx/layout/tab-stops.d.ts.map +1 -0
- package/dist/docx/layout/table-layout.d.ts +30 -0
- package/dist/docx/layout/table-layout.d.ts.map +1 -0
- package/dist/docx/layout/test-helpers.d.ts +3 -0
- package/dist/docx/layout/test-helpers.d.ts.map +1 -0
- package/dist/docx/layout/text-breaks.d.ts +56 -0
- package/dist/docx/layout/text-breaks.d.ts.map +1 -0
- package/dist/docx/layout/units.d.ts +17 -0
- package/dist/docx/layout/units.d.ts.map +1 -0
- package/dist/docx/layout/wrap.d.ts +22 -0
- package/dist/docx/layout/wrap.d.ts.map +1 -0
- package/dist/docx/ligatures.d.ts +9 -0
- package/dist/docx/ligatures.d.ts.map +1 -0
- package/dist/docx/load/detect.d.ts +6 -0
- package/dist/docx/load/detect.d.ts.map +1 -0
- package/dist/docx/load/index.cjs +8869 -0
- package/dist/docx/load/index.d.ts +3 -0
- package/dist/docx/load/index.d.ts.map +1 -0
- package/dist/docx/load/index.mjs +8860 -0
- package/dist/docx/load/legacy-doc.d.ts +7 -0
- package/dist/docx/load/legacy-doc.d.ts.map +1 -0
- package/dist/docx/model-paragraph.d.ts +100 -0
- package/dist/docx/model-paragraph.d.ts.map +1 -0
- package/dist/docx/model-run.d.ts +110 -0
- package/dist/docx/model-run.d.ts.map +1 -0
- package/dist/docx/model.d.ts +114 -0
- package/dist/docx/model.d.ts.map +1 -0
- package/dist/docx/notes.d.ts +9 -0
- package/dist/docx/notes.d.ts.map +1 -0
- package/dist/docx/numbering-editing.d.ts +30 -0
- package/dist/docx/numbering-editing.d.ts.map +1 -0
- package/dist/docx/numbering-format.d.ts +17 -0
- package/dist/docx/numbering-format.d.ts.map +1 -0
- package/dist/docx/numbering-model.d.ts +73 -0
- package/dist/docx/numbering-model.d.ts.map +1 -0
- package/dist/docx/numbering-package.d.ts +12 -0
- package/dist/docx/numbering-package.d.ts.map +1 -0
- package/dist/docx/numbering-parse.d.ts +8 -0
- package/dist/docx/numbering-parse.d.ts.map +1 -0
- package/dist/docx/numbering-parts.d.ts +4 -0
- package/dist/docx/numbering-parts.d.ts.map +1 -0
- package/dist/docx/numbering-text.d.ts +20 -0
- package/dist/docx/numbering-text.d.ts.map +1 -0
- package/dist/docx/numbering-write.d.ts +5 -0
- package/dist/docx/numbering-write.d.ts.map +1 -0
- package/dist/docx/package-parts.d.ts +4 -0
- package/dist/docx/package-parts.d.ts.map +1 -0
- package/dist/docx/page-background.d.ts +9 -0
- package/dist/docx/page-background.d.ts.map +1 -0
- package/dist/docx/page-borders.d.ts +9 -0
- package/dist/docx/page-borders.d.ts.map +1 -0
- package/dist/docx/paragraph-alignment.d.ts +21 -0
- package/dist/docx/paragraph-alignment.d.ts.map +1 -0
- package/dist/docx/paragraph-styles.d.ts +15 -0
- package/dist/docx/paragraph-styles.d.ts.map +1 -0
- package/dist/docx/parse-diagnostics.d.ts +10 -0
- package/dist/docx/parse-diagnostics.d.ts.map +1 -0
- package/dist/docx/parse-revisions.d.ts +36 -0
- package/dist/docx/parse-revisions.d.ts.map +1 -0
- package/dist/docx/parse-table.d.ts +5 -0
- package/dist/docx/parse-table.d.ts.map +1 -0
- package/dist/docx/parse-warnings.d.ts +9 -0
- package/dist/docx/parse-warnings.d.ts.map +1 -0
- package/dist/docx/parse.d.ts +13 -0
- package/dist/docx/parse.d.ts.map +1 -0
- package/dist/docx/part-relationships.d.ts +12 -0
- package/dist/docx/part-relationships.d.ts.map +1 -0
- package/dist/docx/relationship-allocator.d.ts +32 -0
- package/dist/docx/relationship-allocator.d.ts.map +1 -0
- package/dist/docx/relationships.d.ts +3 -0
- package/dist/docx/relationships.d.ts.map +1 -0
- package/dist/docx/resolve-table.d.ts +8 -0
- package/dist/docx/resolve-table.d.ts.map +1 -0
- package/dist/docx/revision-commands.d.ts +27 -0
- package/dist/docx/revision-commands.d.ts.map +1 -0
- package/dist/docx/revision-ids.d.ts +10 -0
- package/dist/docx/revision-ids.d.ts.map +1 -0
- package/dist/docx/run-formatting.d.ts +16 -0
- package/dist/docx/run-formatting.d.ts.map +1 -0
- package/dist/docx/run-properties.d.ts +5 -0
- package/dist/docx/run-properties.d.ts.map +1 -0
- package/dist/docx/run-style-model.d.ts +21 -0
- package/dist/docx/run-style-model.d.ts.map +1 -0
- package/dist/docx/save.d.ts +5 -0
- package/dist/docx/save.d.ts.map +1 -0
- package/dist/docx/section-model.d.ts +97 -0
- package/dist/docx/section-model.d.ts.map +1 -0
- package/dist/docx/sections.d.ts +18 -0
- package/dist/docx/sections.d.ts.map +1 -0
- package/dist/docx/settings.d.ts +11 -0
- package/dist/docx/settings.d.ts.map +1 -0
- package/dist/docx/simple-types.d.ts +37 -0
- package/dist/docx/simple-types.d.ts.map +1 -0
- package/dist/docx/style-numbering-package.d.ts +11 -0
- package/dist/docx/style-numbering-package.d.ts.map +1 -0
- package/dist/docx/tab-stops.d.ts +8 -0
- package/dist/docx/tab-stops.d.ts.map +1 -0
- package/dist/docx/table-borders.d.ts +15 -0
- package/dist/docx/table-borders.d.ts.map +1 -0
- package/dist/docx/table-cell-write.d.ts +12 -0
- package/dist/docx/table-cell-write.d.ts.map +1 -0
- package/dist/docx/table-defaults.d.ts +20 -0
- package/dist/docx/table-defaults.d.ts.map +1 -0
- package/dist/docx/table-model.d.ts +101 -0
- package/dist/docx/table-model.d.ts.map +1 -0
- package/dist/docx/table-of-contents.d.ts +67 -0
- package/dist/docx/table-of-contents.d.ts.map +1 -0
- package/dist/docx/table-of-figures.d.ts +10 -0
- package/dist/docx/table-of-figures.d.ts.map +1 -0
- package/dist/docx/table-styles.d.ts +4 -0
- package/dist/docx/table-styles.d.ts.map +1 -0
- package/dist/docx/table-visuals.d.ts +22 -0
- package/dist/docx/table-visuals.d.ts.map +1 -0
- package/dist/docx/test-support/access.d.ts +14 -0
- package/dist/docx/test-support/access.d.ts.map +1 -0
- package/dist/docx/test-support/heading-numbering-fixture.d.ts +5 -0
- package/dist/docx/test-support/heading-numbering-fixture.d.ts.map +1 -0
- package/dist/docx/test-support/restart-fixture.d.ts +17 -0
- package/dist/docx/test-support/restart-fixture.d.ts.map +1 -0
- package/dist/docx/test-support/schema-validation.d.ts +24 -0
- package/dist/docx/test-support/schema-validation.d.ts.map +1 -0
- package/dist/docx/theme-color.d.ts +16 -0
- package/dist/docx/theme-color.d.ts.map +1 -0
- package/dist/docx/theme-model.d.ts +31 -0
- package/dist/docx/theme-model.d.ts.map +1 -0
- package/dist/docx/theme.d.ts +6 -0
- package/dist/docx/theme.d.ts.map +1 -0
- package/dist/docx/underline.d.ts +5 -0
- package/dist/docx/underline.d.ts.map +1 -0
- package/dist/docx/units.d.ts +2 -0
- package/dist/docx/units.d.ts.map +1 -0
- package/dist/docx/validate-issues.d.ts +40 -0
- package/dist/docx/validate-issues.d.ts.map +1 -0
- package/dist/docx/validate-model.d.ts +8 -0
- package/dist/docx/validate-model.d.ts.map +1 -0
- package/dist/docx/validate-paragraph.d.ts +10 -0
- package/dist/docx/validate-paragraph.d.ts.map +1 -0
- package/dist/docx/validate-structure.d.ts +10 -0
- package/dist/docx/validate-structure.d.ts.map +1 -0
- package/dist/docx/watermark.d.ts +14 -0
- package/dist/docx/watermark.d.ts.map +1 -0
- package/dist/docx/write-comments.d.ts +12 -0
- package/dist/docx/write-comments.d.ts.map +1 -0
- package/dist/docx/write-drawing.d.ts +12 -0
- package/dist/docx/write-drawing.d.ts.map +1 -0
- package/dist/docx/write-header-footer.d.ts +21 -0
- package/dist/docx/write-header-footer.d.ts.map +1 -0
- package/dist/docx/write-inline.d.ts +23 -0
- package/dist/docx/write-inline.d.ts.map +1 -0
- package/dist/docx/write-notes.d.ts +5 -0
- package/dist/docx/write-notes.d.ts.map +1 -0
- package/dist/docx/write-paragraph-decoration.d.ts +5 -0
- package/dist/docx/write-paragraph-decoration.d.ts.map +1 -0
- package/dist/docx/write-paragraph-properties.d.ts +4 -0
- package/dist/docx/write-paragraph-properties.d.ts.map +1 -0
- package/dist/docx/write-paragraph.d.ts +8 -0
- package/dist/docx/write-paragraph.d.ts.map +1 -0
- package/dist/docx/write-ranges.d.ts +42 -0
- package/dist/docx/write-ranges.d.ts.map +1 -0
- package/dist/docx/write-revisions.d.ts +10 -0
- package/dist/docx/write-revisions.d.ts.map +1 -0
- package/dist/docx/write-run-extra.d.ts +5 -0
- package/dist/docx/write-run-extra.d.ts.map +1 -0
- package/dist/docx/write-run-validation.d.ts +4 -0
- package/dist/docx/write-run-validation.d.ts.map +1 -0
- package/dist/docx/write-run.d.ts +7 -0
- package/dist/docx/write-run.d.ts.map +1 -0
- package/dist/docx/write-sections.d.ts +10 -0
- package/dist/docx/write-sections.d.ts.map +1 -0
- package/dist/docx/write-table-properties.d.ts +13 -0
- package/dist/docx/write-table-properties.d.ts.map +1 -0
- package/dist/docx/write-table.d.ts +9 -0
- package/dist/docx/write-table.d.ts.map +1 -0
- package/dist/docx/write-text-box.d.ts +15 -0
- package/dist/docx/write-text-box.d.ts.map +1 -0
- package/dist/docx/write.d.ts +25 -0
- package/dist/docx/write.d.ts.map +1 -0
- package/dist/docx/xml.d.ts +14 -0
- package/dist/docx/xml.d.ts.map +1 -0
- package/dist/docx/zip-parts.d.ts +5 -0
- package/dist/docx/zip-parts.d.ts.map +1 -0
- package/dist/geometry/adjustment-aware-shapes.d.ts +63 -0
- package/dist/geometry/adjustment-aware-shapes.d.ts.map +1 -0
- package/dist/geometry/callout-geometry.d.ts +65 -0
- package/dist/geometry/callout-geometry.d.ts.map +1 -0
- package/dist/geometry/cloud-bezier-paths.d.ts +55 -0
- package/dist/geometry/cloud-bezier-paths.d.ts.map +1 -0
- package/dist/geometry/com-avlst-ground-truth.d.ts +48 -0
- package/dist/geometry/com-avlst-ground-truth.d.ts.map +1 -0
- package/dist/geometry/connector-elbow-geometry.d.ts +41 -0
- package/dist/geometry/connector-elbow-geometry.d.ts.map +1 -0
- package/dist/geometry/guide-formula-api.d.ts +55 -0
- package/dist/geometry/guide-formula-api.d.ts.map +1 -0
- package/dist/geometry/guide-formula-eval.d.ts +85 -0
- package/dist/geometry/guide-formula-eval.d.ts.map +1 -0
- package/dist/geometry/index.cjs +15031 -0
- package/dist/geometry/index.d.ts +80 -0
- package/dist/geometry/index.d.ts.map +1 -0
- package/dist/geometry/index.mjs +14897 -0
- package/dist/geometry/indexed.d.ts +6 -0
- package/dist/geometry/indexed.d.ts.map +1 -0
- package/dist/geometry/preset-clip-paths-core.d.ts +20 -0
- package/dist/geometry/preset-clip-paths-core.d.ts.map +1 -0
- package/dist/geometry/preset-clip-paths-extended.d.ts +19 -0
- package/dist/geometry/preset-clip-paths-extended.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-action-buttons.d.ts +14 -0
- package/dist/geometry/preset-connection-sites-action-buttons.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-arrows-curved.d.ts +12 -0
- package/dist/geometry/preset-connection-sites-arrows-curved.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-arrows-misc.d.ts +13 -0
- package/dist/geometry/preset-connection-sites-arrows-misc.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-arrows.d.ts +13 -0
- package/dist/geometry/preset-connection-sites-arrows.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-basic-a.d.ts +12 -0
- package/dist/geometry/preset-connection-sites-basic-a.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-basic-b.d.ts +12 -0
- package/dist/geometry/preset-connection-sites-basic-b.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-braces.d.ts +12 -0
- package/dist/geometry/preset-connection-sites-braces.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-callouts-arrow.d.ts +14 -0
- package/dist/geometry/preset-connection-sites-callouts-arrow.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-callouts-basic.d.ts +12 -0
- package/dist/geometry/preset-connection-sites-callouts-basic.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-circular-arrow.d.ts +14 -0
- package/dist/geometry/preset-connection-sites-circular-arrow.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-flowchart.d.ts +19 -0
- package/dist/geometry/preset-connection-sites-flowchart.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-gear9.d.ts +12 -0
- package/dist/geometry/preset-connection-sites-gear9.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-left-circular-arrow.d.ts +12 -0
- package/dist/geometry/preset-connection-sites-left-circular-arrow.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-left-right-circular-arrow.d.ts +13 -0
- package/dist/geometry/preset-connection-sites-left-right-circular-arrow.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-math.d.ts +12 -0
- package/dist/geometry/preset-connection-sites-math.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-misc.d.ts +14 -0
- package/dist/geometry/preset-connection-sites-misc.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-polygons.d.ts +12 -0
- package/dist/geometry/preset-connection-sites-polygons.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-quads.d.ts +14 -0
- package/dist/geometry/preset-connection-sites-quads.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-rects.d.ts +14 -0
- package/dist/geometry/preset-connection-sites-rects.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-ribbons.d.ts +12 -0
- package/dist/geometry/preset-connection-sites-ribbons.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-stars.d.ts +13 -0
- package/dist/geometry/preset-connection-sites-stars.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-table.d.ts +23 -0
- package/dist/geometry/preset-connection-sites-table.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-tabs.d.ts +11 -0
- package/dist/geometry/preset-connection-sites-tabs.d.ts.map +1 -0
- package/dist/geometry/preset-connection-sites-types.d.ts +52 -0
- package/dist/geometry/preset-connection-sites-types.d.ts.map +1 -0
- package/dist/geometry/preset-geometry-names.d.ts +53 -0
- package/dist/geometry/preset-geometry-names.d.ts.map +1 -0
- package/dist/geometry/preset-shape-clip-paths.d.ts +13 -0
- package/dist/geometry/preset-shape-clip-paths.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-action-buttons.d.ts +45 -0
- package/dist/geometry/preset-shape-definitions-action-buttons.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-arrow-callouts.d.ts +55 -0
- package/dist/geometry/preset-shape-definitions-arrow-callouts.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-arrows-refined.d.ts +45 -0
- package/dist/geometry/preset-shape-definitions-arrows-refined.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-arrows.d.ts +52 -0
- package/dist/geometry/preset-shape-definitions-arrows.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-chart-marks.d.ts +23 -0
- package/dist/geometry/preset-shape-definitions-chart-marks.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-cloud-callout.d.ts +28 -0
- package/dist/geometry/preset-shape-definitions-cloud-callout.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-connectors-brackets.d.ts +37 -0
- package/dist/geometry/preset-shape-definitions-connectors-brackets.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-curved-arrows-connectors.d.ts +43 -0
- package/dist/geometry/preset-shape-definitions-curved-arrows-connectors.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-curved-arrows-exact.d.ts +30 -0
- package/dist/geometry/preset-shape-definitions-curved-arrows-exact.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-flowchart.d.ts +29 -0
- package/dist/geometry/preset-shape-definitions-flowchart.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-gear6.d.ts +38 -0
- package/dist/geometry/preset-shape-definitions-gear6.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-gear9.d.ts +24 -0
- package/dist/geometry/preset-shape-definitions-gear9.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-misc.d.ts +38 -0
- package/dist/geometry/preset-shape-definitions-misc.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-rects-snips.d.ts +28 -0
- package/dist/geometry/preset-shape-definitions-rects-snips.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-scrolls-accent-callouts.d.ts +45 -0
- package/dist/geometry/preset-shape-definitions-scrolls-accent-callouts.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-table.d.ts +121 -0
- package/dist/geometry/preset-shape-definitions-table.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions-tabs-decorations.d.ts +48 -0
- package/dist/geometry/preset-shape-definitions-tabs-decorations.d.ts.map +1 -0
- package/dist/geometry/preset-shape-definitions.d.ts +28 -0
- package/dist/geometry/preset-shape-definitions.d.ts.map +1 -0
- package/dist/geometry/preset-shape-paths.d.ts +13 -0
- package/dist/geometry/preset-shape-paths.d.ts.map +1 -0
- package/dist/geometry/preset-shape-types.d.ts +33 -0
- package/dist/geometry/preset-shape-types.d.ts.map +1 -0
- package/dist/geometry/preset-text-rect-action-buttons.d.ts +13 -0
- package/dist/geometry/preset-text-rect-action-buttons.d.ts.map +1 -0
- package/dist/geometry/preset-text-rect-arrows.d.ts +3 -0
- package/dist/geometry/preset-text-rect-arrows.d.ts.map +1 -0
- package/dist/geometry/preset-text-rect-braces.d.ts +3 -0
- package/dist/geometry/preset-text-rect-braces.d.ts.map +1 -0
- package/dist/geometry/preset-text-rect-callouts.d.ts +3 -0
- package/dist/geometry/preset-text-rect-callouts.d.ts.map +1 -0
- package/dist/geometry/preset-text-rect-circular-arrows.d.ts +3 -0
- package/dist/geometry/preset-text-rect-circular-arrows.d.ts.map +1 -0
- package/dist/geometry/preset-text-rect-flowchart.d.ts +3 -0
- package/dist/geometry/preset-text-rect-flowchart.d.ts.map +1 -0
- package/dist/geometry/preset-text-rect-misc-a.d.ts +3 -0
- package/dist/geometry/preset-text-rect-misc-a.d.ts.map +1 -0
- package/dist/geometry/preset-text-rect-misc-b.d.ts +3 -0
- package/dist/geometry/preset-text-rect-misc-b.d.ts.map +1 -0
- package/dist/geometry/preset-text-rect-polygons.d.ts +3 -0
- package/dist/geometry/preset-text-rect-polygons.d.ts.map +1 -0
- package/dist/geometry/preset-text-rect-quads.d.ts +3 -0
- package/dist/geometry/preset-text-rect-quads.d.ts.map +1 -0
- package/dist/geometry/preset-text-rect-ribbons.d.ts +3 -0
- package/dist/geometry/preset-text-rect-ribbons.d.ts.map +1 -0
- package/dist/geometry/preset-text-rect-stars.d.ts +3 -0
- package/dist/geometry/preset-text-rect-stars.d.ts.map +1 -0
- package/dist/geometry/preset-text-rect-table.d.ts +20 -0
- package/dist/geometry/preset-text-rect-table.d.ts.map +1 -0
- package/dist/geometry/preset-text-rect-tabs.d.ts +3 -0
- package/dist/geometry/preset-text-rect-tabs.d.ts.map +1 -0
- package/dist/geometry/preset-text-rect-types.d.ts +46 -0
- package/dist/geometry/preset-text-rect-types.d.ts.map +1 -0
- package/dist/geometry/shape-boolean-clipping.d.ts +70 -0
- package/dist/geometry/shape-boolean-clipping.d.ts.map +1 -0
- package/dist/geometry/shape-boolean-ops.d.ts +142 -0
- package/dist/geometry/shape-boolean-ops.d.ts.map +1 -0
- package/dist/geometry/shape-boolean-svg.d.ts +31 -0
- package/dist/geometry/shape-boolean-svg.d.ts.map +1 -0
- package/dist/geometry/shape-boolean-types.d.ts +91 -0
- package/dist/geometry/shape-boolean-types.d.ts.map +1 -0
- package/dist/geometry/shape-boolean-union.d.ts +79 -0
- package/dist/geometry/shape-boolean-union.d.ts.map +1 -0
- package/dist/geometry/shape-boolean.d.ts +22 -0
- package/dist/geometry/shape-boolean.d.ts.map +1 -0
- package/dist/geometry/shape-definitions-extended.d.ts +18 -0
- package/dist/geometry/shape-definitions-extended.d.ts.map +1 -0
- package/dist/geometry/shape-definitions-primary.d.ts +19 -0
- package/dist/geometry/shape-definitions-primary.d.ts.map +1 -0
- package/dist/index.cjs +16618 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +16611 -0
- package/dist/opc/content-types.d.ts +14 -0
- package/dist/opc/content-types.d.ts.map +1 -0
- package/dist/opc/index.cjs +228 -0
- package/dist/opc/index.d.ts +6 -0
- package/dist/opc/index.d.ts.map +1 -0
- package/dist/opc/index.mjs +212 -0
- package/dist/opc/package.d.ts +14 -0
- package/dist/opc/package.d.ts.map +1 -0
- package/dist/opc/relationship-types.d.ts +34 -0
- package/dist/opc/relationship-types.d.ts.map +1 -0
- package/dist/opc/relationships.d.ts +29 -0
- package/dist/opc/relationships.d.ts.map +1 -0
- package/dist/opc/safe-href.d.ts +3 -0
- package/dist/opc/safe-href.d.ts.map +1 -0
- package/dist/pptx/chunks/index-CojJtI77.d.ts +9627 -0
- package/dist/pptx/chunks/index-CojJtI77.d.ts.map +1 -0
- package/dist/pptx/chunks/signature-inspection-status-Bh2oap7B.d.ts +220 -0
- package/dist/pptx/chunks/signature-inspection-status-Bh2oap7B.d.ts.map +1 -0
- package/dist/pptx/chunks/text-operations-IlJiffp7.d.ts +11122 -0
- package/dist/pptx/chunks/text-operations-IlJiffp7.d.ts.map +1 -0
- package/dist/pptx/cli/index.cjs +138457 -0
- package/dist/pptx/cli/index.d.ts +139 -0
- package/dist/pptx/cli/index.d.ts.map +1 -0
- package/dist/pptx/cli/index.mjs +138424 -0
- package/dist/pptx/converter/index.cjs +32084 -0
- package/dist/pptx/converter/index.d.ts +2 -0
- package/dist/pptx/converter/index.mjs +32060 -0
- package/dist/pptx/index.cjs +172307 -0
- package/dist/pptx/index.d.ts +9692 -0
- package/dist/pptx/index.d.ts.map +1 -0
- package/dist/pptx/index.mjs +171623 -0
- package/dist/pptx/signature-node/index.cjs +1299 -0
- package/dist/pptx/signature-node/index.d.ts +172 -0
- package/dist/pptx/signature-node/index.d.ts.map +1 -0
- package/dist/pptx/signature-node/index.mjs +1236 -0
- package/dist/units/constants.d.ts +13 -0
- package/dist/units/constants.d.ts.map +1 -0
- package/dist/units/index.cjs +76 -0
- package/dist/units/index.d.ts +3 -0
- package/dist/units/index.d.ts.map +1 -0
- package/dist/units/index.mjs +45 -0
- package/dist/units/units.d.ts +52 -0
- package/dist/units/units.d.ts.map +1 -0
- package/dist/xml/index.cjs +98 -0
- package/dist/xml/index.d.ts +3 -0
- package/dist/xml/index.d.ts.map +1 -0
- package/dist/xml/index.mjs +85 -0
- package/dist/xml/namespaces.d.ts +47 -0
- package/dist/xml/namespaces.d.ts.map +1 -0
- package/dist/xml/xml.d.ts +31 -0
- package/dist/xml/xml.d.ts.map +1 -0
- package/package.json +192 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface ContentTypes {
|
|
2
|
+
/** Extension (lower case, no dot) to content type. */
|
|
3
|
+
defaults: Map<string, string>;
|
|
4
|
+
/** Part name (leading slash) to content type. */
|
|
5
|
+
overrides: Map<string, string>;
|
|
6
|
+
}
|
|
7
|
+
/** Parses `[Content_Types].xml`; an absent part gives empty maps. */
|
|
8
|
+
export declare function parseContentTypes(xml: string | undefined): ContentTypes;
|
|
9
|
+
/** The content type of a part: its override if declared, else the default for its extension. */
|
|
10
|
+
export declare function contentTypeForPart(types: ContentTypes, partName: string): string | undefined;
|
|
11
|
+
export declare function buildContentTypesXml(types: ContentTypes): string;
|
|
12
|
+
/** Adds a `Default` extension mapping when absent, returning the (possibly unchanged) XML. */
|
|
13
|
+
export declare function ensureContentTypeDefault(xml: string | undefined, extension: string, contentType: string): string;
|
|
14
|
+
//# sourceMappingURL=content-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../../src/opc/content-types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC5B,sDAAsD;IACtD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,iDAAiD;IACjD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAKD,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAgBvE;AAED,gGAAgG;AAChG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM5F;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAchE;AAED,8FAA8F;AAC9F,wBAAgB,wBAAwB,CACvC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GACjB,MAAM,CAKR"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var xmldom = require('@xmldom/xmldom');
|
|
4
|
+
|
|
5
|
+
// src/opc/relationship-types.ts
|
|
6
|
+
var BASE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships";
|
|
7
|
+
var RELATIONSHIP_TYPES = {
|
|
8
|
+
officeDocument: `${BASE}/officeDocument`,
|
|
9
|
+
styles: `${BASE}/styles`,
|
|
10
|
+
numbering: `${BASE}/numbering`,
|
|
11
|
+
settings: `${BASE}/settings`,
|
|
12
|
+
theme: `${BASE}/theme`,
|
|
13
|
+
fontTable: `${BASE}/fontTable`,
|
|
14
|
+
webSettings: `${BASE}/webSettings`,
|
|
15
|
+
header: `${BASE}/header`,
|
|
16
|
+
footer: `${BASE}/footer`,
|
|
17
|
+
footnotes: `${BASE}/footnotes`,
|
|
18
|
+
endnotes: `${BASE}/endnotes`,
|
|
19
|
+
comments: `${BASE}/comments`,
|
|
20
|
+
image: `${BASE}/image`,
|
|
21
|
+
hyperlink: `${BASE}/hyperlink`,
|
|
22
|
+
oleObject: `${BASE}/oleObject`,
|
|
23
|
+
chart: `${BASE}/chart`,
|
|
24
|
+
package: `${BASE}/package`,
|
|
25
|
+
slide: `${BASE}/slide`,
|
|
26
|
+
slideLayout: `${BASE}/slideLayout`,
|
|
27
|
+
slideMaster: `${BASE}/slideMaster`,
|
|
28
|
+
notesSlide: `${BASE}/notesSlide`,
|
|
29
|
+
diagramData: `${BASE}/diagramData`,
|
|
30
|
+
diagramLayout: `${BASE}/diagramLayout`,
|
|
31
|
+
diagramQuickStyle: `${BASE}/diagramQuickStyle`,
|
|
32
|
+
diagramColors: `${BASE}/diagramColors`,
|
|
33
|
+
diagramDrawing: "http://schemas.microsoft.com/office/2007/relationships/diagramDrawing",
|
|
34
|
+
coreProperties: "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",
|
|
35
|
+
extendedProperties: `${BASE}/extended-properties`,
|
|
36
|
+
customXml: `${BASE}/customXml`
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// src/xml/namespaces.ts
|
|
40
|
+
var NS = {
|
|
41
|
+
/** Relationships (`r:id`, `r:embed`). */
|
|
42
|
+
r: "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
|
|
43
|
+
/** OPC relationships part. */
|
|
44
|
+
rels: "http://schemas.openxmlformats.org/package/2006/relationships",
|
|
45
|
+
/** OPC content types part. */
|
|
46
|
+
contentTypes: "http://schemas.openxmlformats.org/package/2006/content-types"};
|
|
47
|
+
function parseXml(xml, options = {}) {
|
|
48
|
+
const label = options.label ?? "OOXML";
|
|
49
|
+
if (/<!DOCTYPE|<!ENTITY/i.test(xml))
|
|
50
|
+
throw new Error(`${label} XML with DTD or entity declarations is not supported`);
|
|
51
|
+
let parseError = "";
|
|
52
|
+
let parsed;
|
|
53
|
+
try {
|
|
54
|
+
parsed = new xmldom.DOMParser({
|
|
55
|
+
onError: (level, message) => {
|
|
56
|
+
if (level !== "warning") parseError = message;
|
|
57
|
+
}
|
|
58
|
+
}).parseFromString(xml, "application/xml");
|
|
59
|
+
} catch (error) {
|
|
60
|
+
throw new Error(
|
|
61
|
+
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
if (parseError || !parsed.documentElement)
|
|
65
|
+
throw new Error(`Invalid ${label} XML: ${parseError || "missing root element"}`);
|
|
66
|
+
return parsed;
|
|
67
|
+
}
|
|
68
|
+
var isElement = (node) => node.nodeType === 1;
|
|
69
|
+
var elements = (parent) => Array.from(parent.childNodes).filter(isElement);
|
|
70
|
+
function attr(element, local, ns, prefix) {
|
|
71
|
+
return element?.getAttributeNS(ns, local) ?? element?.getAttribute(`${prefix}:${local}`) ?? void 0;
|
|
72
|
+
}
|
|
73
|
+
var relAttr = (element, local) => attr(element, local, NS.r, "r");
|
|
74
|
+
|
|
75
|
+
// src/opc/relationships.ts
|
|
76
|
+
function parseRelationships(xml) {
|
|
77
|
+
const map = /* @__PURE__ */ new Map();
|
|
78
|
+
if (!xml) return map;
|
|
79
|
+
const root = parseXml(xml).documentElement;
|
|
80
|
+
for (const node of elements(root)) {
|
|
81
|
+
if (node.localName !== "Relationship") continue;
|
|
82
|
+
const id = node.getAttribute("Id");
|
|
83
|
+
const target = node.getAttribute("Target");
|
|
84
|
+
if (!id || target == null) continue;
|
|
85
|
+
map.set(id, {
|
|
86
|
+
id,
|
|
87
|
+
type: node.getAttribute("Type") ?? "",
|
|
88
|
+
target,
|
|
89
|
+
mode: node.getAttribute("TargetMode") === "External" ? "External" : "Internal"
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
return map;
|
|
93
|
+
}
|
|
94
|
+
var escapeAttr = (value) => value.replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<");
|
|
95
|
+
function buildRelationshipsXml(relationships) {
|
|
96
|
+
const items = Array.from(relationships).map(([id, rel]) => {
|
|
97
|
+
const mode = rel.mode === "External" ? ' TargetMode="External"' : "";
|
|
98
|
+
return `<Relationship Id="${escapeAttr(id)}" Type="${escapeAttr(rel.type)}" Target="${escapeAttr(rel.target)}"${mode}/>`;
|
|
99
|
+
}).join("");
|
|
100
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="${NS.rels}">${items}</Relationships>`;
|
|
101
|
+
}
|
|
102
|
+
function resolvePartPath(basePart, target) {
|
|
103
|
+
if (target.startsWith("/")) return target.slice(1);
|
|
104
|
+
const baseDir = basePart.slice(0, basePart.lastIndexOf("/") + 1);
|
|
105
|
+
const resolved = [];
|
|
106
|
+
for (const segment of `${baseDir}${target}`.split("/")) {
|
|
107
|
+
if (segment === "." || segment === "") continue;
|
|
108
|
+
if (segment === "..") resolved.pop();
|
|
109
|
+
else resolved.push(segment);
|
|
110
|
+
}
|
|
111
|
+
return resolved.join("/");
|
|
112
|
+
}
|
|
113
|
+
function relationshipsPartFor(partName) {
|
|
114
|
+
const slash = partName.lastIndexOf("/");
|
|
115
|
+
return `${partName.slice(0, slash + 1)}_rels/${partName.slice(slash + 1)}.rels`;
|
|
116
|
+
}
|
|
117
|
+
function nextRelationshipId(used) {
|
|
118
|
+
let index = 1;
|
|
119
|
+
while (used.has(`rId${index}`)) index++;
|
|
120
|
+
return `rId${index}`;
|
|
121
|
+
}
|
|
122
|
+
var getRelationshipId = (element) => relAttr(element, "id") || void 0;
|
|
123
|
+
|
|
124
|
+
// src/opc/content-types.ts
|
|
125
|
+
var escapeAttr2 = (value) => value.replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<");
|
|
126
|
+
function parseContentTypes(xml) {
|
|
127
|
+
const defaults = /* @__PURE__ */ new Map();
|
|
128
|
+
const overrides = /* @__PURE__ */ new Map();
|
|
129
|
+
if (!xml) return { defaults, overrides };
|
|
130
|
+
for (const node of elements(parseXml(xml).documentElement)) {
|
|
131
|
+
const contentType = node.getAttribute("ContentType");
|
|
132
|
+
if (!contentType) continue;
|
|
133
|
+
if (node.localName === "Default") {
|
|
134
|
+
const extension = node.getAttribute("Extension");
|
|
135
|
+
if (extension) defaults.set(extension.toLowerCase(), contentType);
|
|
136
|
+
} else if (node.localName === "Override") {
|
|
137
|
+
const partName = node.getAttribute("PartName");
|
|
138
|
+
if (partName) overrides.set(partName, contentType);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return { defaults, overrides };
|
|
142
|
+
}
|
|
143
|
+
function contentTypeForPart(types, partName) {
|
|
144
|
+
const overridePath = partName.startsWith("/") ? partName : `/${partName}`;
|
|
145
|
+
const override = types.overrides.get(overridePath);
|
|
146
|
+
if (override) return override;
|
|
147
|
+
const extension = partName.split(".").pop()?.toLowerCase();
|
|
148
|
+
return extension ? types.defaults.get(extension) : void 0;
|
|
149
|
+
}
|
|
150
|
+
function buildContentTypesXml(types) {
|
|
151
|
+
const defaults = Array.from(types.defaults).map(
|
|
152
|
+
([extension, type]) => `<Default Extension="${extension}" ContentType="${escapeAttr2(type)}"/>`
|
|
153
|
+
).join("");
|
|
154
|
+
const overrides = Array.from(types.overrides).map(
|
|
155
|
+
([part, type]) => `<Override PartName="${escapeAttr2(part)}" ContentType="${escapeAttr2(type)}"/>`
|
|
156
|
+
).join("");
|
|
157
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="${NS.contentTypes}">${defaults}${overrides}</Types>`;
|
|
158
|
+
}
|
|
159
|
+
function ensureContentTypeDefault(xml, extension, contentType) {
|
|
160
|
+
const types = parseContentTypes(xml);
|
|
161
|
+
if (types.defaults.has(extension.toLowerCase())) return xml ?? buildContentTypesXml(types);
|
|
162
|
+
types.defaults.set(extension.toLowerCase(), contentType);
|
|
163
|
+
return buildContentTypesXml(types);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// src/opc/package.ts
|
|
167
|
+
var CONTENT_TYPES_PATH = "[Content_Types].xml";
|
|
168
|
+
var XML_DECLARATION = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
|
169
|
+
var EMPTY_TYPES = `${XML_DECLARATION}<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"></Types>`;
|
|
170
|
+
var EMPTY_RELS = `${XML_DECLARATION}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"></Relationships>`;
|
|
171
|
+
function attr2(tag, name) {
|
|
172
|
+
return new RegExp(`${name}="([^"]*)"`).exec(tag)?.[1];
|
|
173
|
+
}
|
|
174
|
+
async function ensureContentTypeOverride(zip, partName, contentType) {
|
|
175
|
+
const xml = await zip.file(CONTENT_TYPES_PATH)?.async("string") ?? EMPTY_TYPES;
|
|
176
|
+
const target = `/${partName}`;
|
|
177
|
+
for (const tag of xml.match(/<Override\b[^>]*\/>/g) ?? [])
|
|
178
|
+
if (attr2(tag, "PartName") === target) return;
|
|
179
|
+
const insertion = `<Override PartName="${target}" ContentType="${contentType}"/>`;
|
|
180
|
+
zip.file(CONTENT_TYPES_PATH, xml.replace("</Types>", `${insertion}</Types>`));
|
|
181
|
+
}
|
|
182
|
+
async function ensureRelationship(zip, relsPath, type, target) {
|
|
183
|
+
const xml = await zip.file(relsPath)?.async("string") ?? EMPTY_RELS;
|
|
184
|
+
const used = /* @__PURE__ */ new Set();
|
|
185
|
+
for (const tag of xml.match(/<Relationship\b[^>]*\/>/g) ?? []) {
|
|
186
|
+
const id2 = attr2(tag, "Id");
|
|
187
|
+
if (id2) used.add(id2);
|
|
188
|
+
if (id2 && attr2(tag, "Type") === type && attr2(tag, "Target") === target) return id2;
|
|
189
|
+
}
|
|
190
|
+
const highest = Math.max(
|
|
191
|
+
0,
|
|
192
|
+
...[...used].map((id2) => Number(id2.replace(/^rId/, ""))).filter(Number.isFinite)
|
|
193
|
+
);
|
|
194
|
+
let id = `rId${highest + 1}`;
|
|
195
|
+
if (used.has(id)) id = nextRelationshipId(used);
|
|
196
|
+
const insertion = `<Relationship Id="${id}" Type="${type}" Target="${target}"/>`;
|
|
197
|
+
zip.file(relsPath, xml.replace("</Relationships>", `${insertion}</Relationships>`));
|
|
198
|
+
return id;
|
|
199
|
+
}
|
|
200
|
+
async function findOfficeDocumentPart(zip) {
|
|
201
|
+
const xml = await zip.file("_rels/.rels")?.async("string");
|
|
202
|
+
for (const tag of xml?.match(/<Relationship\b[^>]*\/>/g) ?? [])
|
|
203
|
+
if (attr2(tag, "Type") === RELATIONSHIP_TYPES.officeDocument) return attr2(tag, "Target");
|
|
204
|
+
return void 0;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// src/opc/safe-href.ts
|
|
208
|
+
var SAFE_SCHEMES = /* @__PURE__ */ new Set(["http:", "https:", "mailto:"]);
|
|
209
|
+
function isSafeHyperlinkHref(href) {
|
|
210
|
+
const scheme = /^([a-z][a-z0-9+.-]*:)/i.exec(href.trim())?.[1];
|
|
211
|
+
return scheme !== void 0 && SAFE_SCHEMES.has(scheme.toLowerCase());
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
exports.RELATIONSHIP_TYPES = RELATIONSHIP_TYPES;
|
|
215
|
+
exports.buildContentTypesXml = buildContentTypesXml;
|
|
216
|
+
exports.buildRelationshipsXml = buildRelationshipsXml;
|
|
217
|
+
exports.contentTypeForPart = contentTypeForPart;
|
|
218
|
+
exports.ensureContentTypeDefault = ensureContentTypeDefault;
|
|
219
|
+
exports.ensureContentTypeOverride = ensureContentTypeOverride;
|
|
220
|
+
exports.ensureRelationship = ensureRelationship;
|
|
221
|
+
exports.findOfficeDocumentPart = findOfficeDocumentPart;
|
|
222
|
+
exports.getRelationshipId = getRelationshipId;
|
|
223
|
+
exports.isSafeHyperlinkHref = isSafeHyperlinkHref;
|
|
224
|
+
exports.nextRelationshipId = nextRelationshipId;
|
|
225
|
+
exports.parseContentTypes = parseContentTypes;
|
|
226
|
+
exports.parseRelationships = parseRelationships;
|
|
227
|
+
exports.relationshipsPartFor = relationshipsPartFor;
|
|
228
|
+
exports.resolvePartPath = resolvePartPath;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/opc/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { DOMParser } from '@xmldom/xmldom';
|
|
2
|
+
|
|
3
|
+
// src/opc/relationship-types.ts
|
|
4
|
+
var BASE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships";
|
|
5
|
+
var RELATIONSHIP_TYPES = {
|
|
6
|
+
officeDocument: `${BASE}/officeDocument`,
|
|
7
|
+
styles: `${BASE}/styles`,
|
|
8
|
+
numbering: `${BASE}/numbering`,
|
|
9
|
+
settings: `${BASE}/settings`,
|
|
10
|
+
theme: `${BASE}/theme`,
|
|
11
|
+
fontTable: `${BASE}/fontTable`,
|
|
12
|
+
webSettings: `${BASE}/webSettings`,
|
|
13
|
+
header: `${BASE}/header`,
|
|
14
|
+
footer: `${BASE}/footer`,
|
|
15
|
+
footnotes: `${BASE}/footnotes`,
|
|
16
|
+
endnotes: `${BASE}/endnotes`,
|
|
17
|
+
comments: `${BASE}/comments`,
|
|
18
|
+
image: `${BASE}/image`,
|
|
19
|
+
hyperlink: `${BASE}/hyperlink`,
|
|
20
|
+
oleObject: `${BASE}/oleObject`,
|
|
21
|
+
chart: `${BASE}/chart`,
|
|
22
|
+
package: `${BASE}/package`,
|
|
23
|
+
slide: `${BASE}/slide`,
|
|
24
|
+
slideLayout: `${BASE}/slideLayout`,
|
|
25
|
+
slideMaster: `${BASE}/slideMaster`,
|
|
26
|
+
notesSlide: `${BASE}/notesSlide`,
|
|
27
|
+
diagramData: `${BASE}/diagramData`,
|
|
28
|
+
diagramLayout: `${BASE}/diagramLayout`,
|
|
29
|
+
diagramQuickStyle: `${BASE}/diagramQuickStyle`,
|
|
30
|
+
diagramColors: `${BASE}/diagramColors`,
|
|
31
|
+
diagramDrawing: "http://schemas.microsoft.com/office/2007/relationships/diagramDrawing",
|
|
32
|
+
coreProperties: "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",
|
|
33
|
+
extendedProperties: `${BASE}/extended-properties`,
|
|
34
|
+
customXml: `${BASE}/customXml`
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// src/xml/namespaces.ts
|
|
38
|
+
var NS = {
|
|
39
|
+
/** Relationships (`r:id`, `r:embed`). */
|
|
40
|
+
r: "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
|
|
41
|
+
/** OPC relationships part. */
|
|
42
|
+
rels: "http://schemas.openxmlformats.org/package/2006/relationships",
|
|
43
|
+
/** OPC content types part. */
|
|
44
|
+
contentTypes: "http://schemas.openxmlformats.org/package/2006/content-types"};
|
|
45
|
+
function parseXml(xml, options = {}) {
|
|
46
|
+
const label = options.label ?? "OOXML";
|
|
47
|
+
if (/<!DOCTYPE|<!ENTITY/i.test(xml))
|
|
48
|
+
throw new Error(`${label} XML with DTD or entity declarations is not supported`);
|
|
49
|
+
let parseError = "";
|
|
50
|
+
let parsed;
|
|
51
|
+
try {
|
|
52
|
+
parsed = new DOMParser({
|
|
53
|
+
onError: (level, message) => {
|
|
54
|
+
if (level !== "warning") parseError = message;
|
|
55
|
+
}
|
|
56
|
+
}).parseFromString(xml, "application/xml");
|
|
57
|
+
} catch (error) {
|
|
58
|
+
throw new Error(
|
|
59
|
+
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
if (parseError || !parsed.documentElement)
|
|
63
|
+
throw new Error(`Invalid ${label} XML: ${parseError || "missing root element"}`);
|
|
64
|
+
return parsed;
|
|
65
|
+
}
|
|
66
|
+
var isElement = (node) => node.nodeType === 1;
|
|
67
|
+
var elements = (parent) => Array.from(parent.childNodes).filter(isElement);
|
|
68
|
+
function attr(element, local, ns, prefix) {
|
|
69
|
+
return element?.getAttributeNS(ns, local) ?? element?.getAttribute(`${prefix}:${local}`) ?? void 0;
|
|
70
|
+
}
|
|
71
|
+
var relAttr = (element, local) => attr(element, local, NS.r, "r");
|
|
72
|
+
|
|
73
|
+
// src/opc/relationships.ts
|
|
74
|
+
function parseRelationships(xml) {
|
|
75
|
+
const map = /* @__PURE__ */ new Map();
|
|
76
|
+
if (!xml) return map;
|
|
77
|
+
const root = parseXml(xml).documentElement;
|
|
78
|
+
for (const node of elements(root)) {
|
|
79
|
+
if (node.localName !== "Relationship") continue;
|
|
80
|
+
const id = node.getAttribute("Id");
|
|
81
|
+
const target = node.getAttribute("Target");
|
|
82
|
+
if (!id || target == null) continue;
|
|
83
|
+
map.set(id, {
|
|
84
|
+
id,
|
|
85
|
+
type: node.getAttribute("Type") ?? "",
|
|
86
|
+
target,
|
|
87
|
+
mode: node.getAttribute("TargetMode") === "External" ? "External" : "Internal"
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
return map;
|
|
91
|
+
}
|
|
92
|
+
var escapeAttr = (value) => value.replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<");
|
|
93
|
+
function buildRelationshipsXml(relationships) {
|
|
94
|
+
const items = Array.from(relationships).map(([id, rel]) => {
|
|
95
|
+
const mode = rel.mode === "External" ? ' TargetMode="External"' : "";
|
|
96
|
+
return `<Relationship Id="${escapeAttr(id)}" Type="${escapeAttr(rel.type)}" Target="${escapeAttr(rel.target)}"${mode}/>`;
|
|
97
|
+
}).join("");
|
|
98
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="${NS.rels}">${items}</Relationships>`;
|
|
99
|
+
}
|
|
100
|
+
function resolvePartPath(basePart, target) {
|
|
101
|
+
if (target.startsWith("/")) return target.slice(1);
|
|
102
|
+
const baseDir = basePart.slice(0, basePart.lastIndexOf("/") + 1);
|
|
103
|
+
const resolved = [];
|
|
104
|
+
for (const segment of `${baseDir}${target}`.split("/")) {
|
|
105
|
+
if (segment === "." || segment === "") continue;
|
|
106
|
+
if (segment === "..") resolved.pop();
|
|
107
|
+
else resolved.push(segment);
|
|
108
|
+
}
|
|
109
|
+
return resolved.join("/");
|
|
110
|
+
}
|
|
111
|
+
function relationshipsPartFor(partName) {
|
|
112
|
+
const slash = partName.lastIndexOf("/");
|
|
113
|
+
return `${partName.slice(0, slash + 1)}_rels/${partName.slice(slash + 1)}.rels`;
|
|
114
|
+
}
|
|
115
|
+
function nextRelationshipId(used) {
|
|
116
|
+
let index = 1;
|
|
117
|
+
while (used.has(`rId${index}`)) index++;
|
|
118
|
+
return `rId${index}`;
|
|
119
|
+
}
|
|
120
|
+
var getRelationshipId = (element) => relAttr(element, "id") || void 0;
|
|
121
|
+
|
|
122
|
+
// src/opc/content-types.ts
|
|
123
|
+
var escapeAttr2 = (value) => value.replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<");
|
|
124
|
+
function parseContentTypes(xml) {
|
|
125
|
+
const defaults = /* @__PURE__ */ new Map();
|
|
126
|
+
const overrides = /* @__PURE__ */ new Map();
|
|
127
|
+
if (!xml) return { defaults, overrides };
|
|
128
|
+
for (const node of elements(parseXml(xml).documentElement)) {
|
|
129
|
+
const contentType = node.getAttribute("ContentType");
|
|
130
|
+
if (!contentType) continue;
|
|
131
|
+
if (node.localName === "Default") {
|
|
132
|
+
const extension = node.getAttribute("Extension");
|
|
133
|
+
if (extension) defaults.set(extension.toLowerCase(), contentType);
|
|
134
|
+
} else if (node.localName === "Override") {
|
|
135
|
+
const partName = node.getAttribute("PartName");
|
|
136
|
+
if (partName) overrides.set(partName, contentType);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return { defaults, overrides };
|
|
140
|
+
}
|
|
141
|
+
function contentTypeForPart(types, partName) {
|
|
142
|
+
const overridePath = partName.startsWith("/") ? partName : `/${partName}`;
|
|
143
|
+
const override = types.overrides.get(overridePath);
|
|
144
|
+
if (override) return override;
|
|
145
|
+
const extension = partName.split(".").pop()?.toLowerCase();
|
|
146
|
+
return extension ? types.defaults.get(extension) : void 0;
|
|
147
|
+
}
|
|
148
|
+
function buildContentTypesXml(types) {
|
|
149
|
+
const defaults = Array.from(types.defaults).map(
|
|
150
|
+
([extension, type]) => `<Default Extension="${extension}" ContentType="${escapeAttr2(type)}"/>`
|
|
151
|
+
).join("");
|
|
152
|
+
const overrides = Array.from(types.overrides).map(
|
|
153
|
+
([part, type]) => `<Override PartName="${escapeAttr2(part)}" ContentType="${escapeAttr2(type)}"/>`
|
|
154
|
+
).join("");
|
|
155
|
+
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="${NS.contentTypes}">${defaults}${overrides}</Types>`;
|
|
156
|
+
}
|
|
157
|
+
function ensureContentTypeDefault(xml, extension, contentType) {
|
|
158
|
+
const types = parseContentTypes(xml);
|
|
159
|
+
if (types.defaults.has(extension.toLowerCase())) return xml ?? buildContentTypesXml(types);
|
|
160
|
+
types.defaults.set(extension.toLowerCase(), contentType);
|
|
161
|
+
return buildContentTypesXml(types);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// src/opc/package.ts
|
|
165
|
+
var CONTENT_TYPES_PATH = "[Content_Types].xml";
|
|
166
|
+
var XML_DECLARATION = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
|
167
|
+
var EMPTY_TYPES = `${XML_DECLARATION}<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"></Types>`;
|
|
168
|
+
var EMPTY_RELS = `${XML_DECLARATION}<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"></Relationships>`;
|
|
169
|
+
function attr2(tag, name) {
|
|
170
|
+
return new RegExp(`${name}="([^"]*)"`).exec(tag)?.[1];
|
|
171
|
+
}
|
|
172
|
+
async function ensureContentTypeOverride(zip, partName, contentType) {
|
|
173
|
+
const xml = await zip.file(CONTENT_TYPES_PATH)?.async("string") ?? EMPTY_TYPES;
|
|
174
|
+
const target = `/${partName}`;
|
|
175
|
+
for (const tag of xml.match(/<Override\b[^>]*\/>/g) ?? [])
|
|
176
|
+
if (attr2(tag, "PartName") === target) return;
|
|
177
|
+
const insertion = `<Override PartName="${target}" ContentType="${contentType}"/>`;
|
|
178
|
+
zip.file(CONTENT_TYPES_PATH, xml.replace("</Types>", `${insertion}</Types>`));
|
|
179
|
+
}
|
|
180
|
+
async function ensureRelationship(zip, relsPath, type, target) {
|
|
181
|
+
const xml = await zip.file(relsPath)?.async("string") ?? EMPTY_RELS;
|
|
182
|
+
const used = /* @__PURE__ */ new Set();
|
|
183
|
+
for (const tag of xml.match(/<Relationship\b[^>]*\/>/g) ?? []) {
|
|
184
|
+
const id2 = attr2(tag, "Id");
|
|
185
|
+
if (id2) used.add(id2);
|
|
186
|
+
if (id2 && attr2(tag, "Type") === type && attr2(tag, "Target") === target) return id2;
|
|
187
|
+
}
|
|
188
|
+
const highest = Math.max(
|
|
189
|
+
0,
|
|
190
|
+
...[...used].map((id2) => Number(id2.replace(/^rId/, ""))).filter(Number.isFinite)
|
|
191
|
+
);
|
|
192
|
+
let id = `rId${highest + 1}`;
|
|
193
|
+
if (used.has(id)) id = nextRelationshipId(used);
|
|
194
|
+
const insertion = `<Relationship Id="${id}" Type="${type}" Target="${target}"/>`;
|
|
195
|
+
zip.file(relsPath, xml.replace("</Relationships>", `${insertion}</Relationships>`));
|
|
196
|
+
return id;
|
|
197
|
+
}
|
|
198
|
+
async function findOfficeDocumentPart(zip) {
|
|
199
|
+
const xml = await zip.file("_rels/.rels")?.async("string");
|
|
200
|
+
for (const tag of xml?.match(/<Relationship\b[^>]*\/>/g) ?? [])
|
|
201
|
+
if (attr2(tag, "Type") === RELATIONSHIP_TYPES.officeDocument) return attr2(tag, "Target");
|
|
202
|
+
return void 0;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// src/opc/safe-href.ts
|
|
206
|
+
var SAFE_SCHEMES = /* @__PURE__ */ new Set(["http:", "https:", "mailto:"]);
|
|
207
|
+
function isSafeHyperlinkHref(href) {
|
|
208
|
+
const scheme = /^([a-z][a-z0-9+.-]*:)/i.exec(href.trim())?.[1];
|
|
209
|
+
return scheme !== void 0 && SAFE_SCHEMES.has(scheme.toLowerCase());
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
export { RELATIONSHIP_TYPES, buildContentTypesXml, buildRelationshipsXml, contentTypeForPart, ensureContentTypeDefault, ensureContentTypeOverride, ensureRelationship, findOfficeDocumentPart, getRelationshipId, isSafeHyperlinkHref, nextRelationshipId, parseContentTypes, parseRelationships, relationshipsPartFor, resolvePartPath };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type JSZip from 'jszip';
|
|
2
|
+
/**
|
|
3
|
+
* Adds an `<Override>` for `partName` to `[Content_Types].xml` unless one exists. Plain string
|
|
4
|
+
* surgery, so the rest of the part stays byte-identical.
|
|
5
|
+
*/
|
|
6
|
+
export declare function ensureContentTypeOverride(zip: JSZip, partName: string, contentType: string): Promise<void>;
|
|
7
|
+
/**
|
|
8
|
+
* Returns the id of the relationship of `type` to `target` in the `.rels` part at `relsPath`,
|
|
9
|
+
* creating the relationship (and the part) when it does not exist. Existing XML is left intact.
|
|
10
|
+
*/
|
|
11
|
+
export declare function ensureRelationship(zip: JSZip, relsPath: string, type: string, target: string): Promise<string>;
|
|
12
|
+
/** The package-level relationship to the main document part (`_rels/.rels`), if present. */
|
|
13
|
+
export declare function findOfficeDocumentPart(zip: JSZip): Promise<string | undefined>;
|
|
14
|
+
//# sourceMappingURL=package.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../src/opc/package.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B;;;GAGG;AACH,wBAAsB,yBAAyB,CAC9C,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACvC,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED,4FAA4F;AAC5F,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAKpF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/** Relationship type URIs for the parts the Office viewers read and write. */
|
|
2
|
+
export declare const RELATIONSHIP_TYPES: {
|
|
3
|
+
readonly officeDocument: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument";
|
|
4
|
+
readonly styles: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";
|
|
5
|
+
readonly numbering: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering";
|
|
6
|
+
readonly settings: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings";
|
|
7
|
+
readonly theme: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme";
|
|
8
|
+
readonly fontTable: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable";
|
|
9
|
+
readonly webSettings: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings";
|
|
10
|
+
readonly header: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header";
|
|
11
|
+
readonly footer: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer";
|
|
12
|
+
readonly footnotes: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes";
|
|
13
|
+
readonly endnotes: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes";
|
|
14
|
+
readonly comments: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments";
|
|
15
|
+
readonly image: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image";
|
|
16
|
+
readonly hyperlink: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink";
|
|
17
|
+
readonly oleObject: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject";
|
|
18
|
+
readonly chart: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart";
|
|
19
|
+
readonly package: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/package";
|
|
20
|
+
readonly slide: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide";
|
|
21
|
+
readonly slideLayout: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout";
|
|
22
|
+
readonly slideMaster: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster";
|
|
23
|
+
readonly notesSlide: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide";
|
|
24
|
+
readonly diagramData: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramData";
|
|
25
|
+
readonly diagramLayout: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramLayout";
|
|
26
|
+
readonly diagramQuickStyle: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramQuickStyle";
|
|
27
|
+
readonly diagramColors: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramColors";
|
|
28
|
+
readonly diagramDrawing: "http://schemas.microsoft.com/office/2007/relationships/diagramDrawing";
|
|
29
|
+
readonly coreProperties: "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";
|
|
30
|
+
readonly extendedProperties: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";
|
|
31
|
+
readonly customXml: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml";
|
|
32
|
+
};
|
|
33
|
+
export type RelationshipTypeKey = keyof typeof RELATIONSHIP_TYPES;
|
|
34
|
+
//# sourceMappingURL=relationship-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationship-types.d.ts","sourceRoot":"","sources":["../../src/opc/relationship-types.ts"],"names":[],"mappings":"AAEA,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BrB,CAAC;AACX,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type XmlElement } from '../xml/index.js';
|
|
2
|
+
export interface Relationship {
|
|
3
|
+
id: string;
|
|
4
|
+
type: string;
|
|
5
|
+
target: string;
|
|
6
|
+
/** `External` for `TargetMode="External"` (hyperlinks, linked media), else `Internal`. */
|
|
7
|
+
mode: 'Internal' | 'External';
|
|
8
|
+
}
|
|
9
|
+
/** Parses a `.rels` part into a map keyed by relationship id; an absent part gives an empty map. */
|
|
10
|
+
export declare function parseRelationships(xml: string | undefined): Map<string, Relationship>;
|
|
11
|
+
/** A relationship to serialize; its id is the key of the map it is stored in. */
|
|
12
|
+
export type RelationshipInput = Omit<Relationship, 'id'> & {
|
|
13
|
+
id?: string;
|
|
14
|
+
};
|
|
15
|
+
/** Serializes relationships into a `.rels` part, using each map key as the relationship id. */
|
|
16
|
+
export declare function buildRelationshipsXml(relationships: ReadonlyMap<string, RelationshipInput>): string;
|
|
17
|
+
/**
|
|
18
|
+
* Resolves a relationship `Target` against the part that declared it. Absolute targets (leading
|
|
19
|
+
* `/`) are package-rooted; relative ones resolve against the declaring part's folder, handling
|
|
20
|
+
* `.` and `..` segments. Returns a package part name without a leading slash.
|
|
21
|
+
*/
|
|
22
|
+
export declare function resolvePartPath(basePart: string, target: string): string;
|
|
23
|
+
/** The `.rels` part name that holds the relationships of `partName` (`word/document.xml` -> `word/_rels/document.xml.rels`). */
|
|
24
|
+
export declare function relationshipsPartFor(partName: string): string;
|
|
25
|
+
/** The first `rIdN` that is not in `used`; the caller records the result. */
|
|
26
|
+
export declare function nextRelationshipId(used: ReadonlySet<string>): string;
|
|
27
|
+
/** The `r:id` relationship reference on an element such as `w:headerReference`. */
|
|
28
|
+
export declare const getRelationshipId: (element: XmlElement) => string | undefined;
|
|
29
|
+
//# sourceMappingURL=relationships.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../src/opc/relationships.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEnF,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC;CAC9B;AAED,oGAAoG;AACpG,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAiBrF;AAKD,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,+FAA+F;AAC/F,wBAAgB,qBAAqB,CACpC,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,GACnD,MAAM,CAQR;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAUxE;AAED,gIAAgI;AAChI,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAIpE;AAED,mFAAmF;AACnF,eAAO,MAAM,iBAAiB,GAAI,SAAS,UAAU,KAAG,MAAM,GAAG,SAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-href.d.ts","sourceRoot":"","sources":["../../src/opc/safe-href.ts"],"names":[],"mappings":"AAEA,uGAAuG;AACvG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGzD"}
|