docx 7.8.1 → 8.0.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/README.md +2 -1
- package/build/export/formatter.d.ts +4 -4
- package/build/export/index.d.ts +1 -1
- package/build/export/packer/image-replacer.d.ts +5 -5
- package/build/export/packer/next-compiler.d.ts +11 -11
- package/build/export/packer/numbering-replacer.d.ts +4 -4
- package/build/export/packer/packer.d.ts +18 -18
- package/build/file/app-properties/app-properties-attributes.d.ts +10 -10
- package/build/file/app-properties/app-properties.d.ts +4 -4
- package/build/file/border/border.d.ts +39 -39
- package/build/file/border/index.d.ts +1 -1
- package/build/file/content-types/content-types-attributes.d.ts +8 -8
- package/build/file/content-types/content-types.d.ts +6 -6
- package/build/file/content-types/default/default-attributes.d.ts +10 -10
- package/build/file/content-types/default/default.d.ts +4 -4
- package/build/file/content-types/override/override-attributes.d.ts +10 -10
- package/build/file/content-types/override/override.d.ts +4 -4
- package/build/file/core-properties/index.d.ts +1 -1
- package/build/file/core-properties/properties.d.ts +40 -40
- package/build/file/custom-properties/custom-properties-attributes.d.ts +10 -10
- package/build/file/custom-properties/custom-properties.d.ts +9 -9
- package/build/file/custom-properties/custom-property-attributes.d.ts +12 -12
- package/build/file/custom-properties/custom-property.d.ts +11 -11
- package/build/file/custom-properties/index.d.ts +2 -2
- package/build/file/document/body/body.d.ts +10 -10
- package/build/file/document/body/index.d.ts +2 -2
- package/build/file/document/body/section-properties/index.d.ts +2 -2
- package/build/file/document/body/section-properties/properties/column.d.ts +10 -14
- package/build/file/document/body/section-properties/properties/columns.d.ts +13 -20
- package/build/file/document/body/section-properties/properties/doc-grid.d.ts +22 -22
- package/build/file/document/body/section-properties/properties/header-footer-reference.d.ts +17 -17
- package/build/file/document/body/section-properties/properties/index.d.ts +12 -12
- package/build/file/document/body/section-properties/properties/line-number.d.ts +16 -23
- package/build/file/document/body/section-properties/properties/page-borders.d.ts +30 -30
- package/build/file/document/body/section-properties/properties/page-margin.d.ts +14 -24
- package/build/file/document/body/section-properties/properties/page-number.d.ts +24 -24
- package/build/file/document/body/section-properties/properties/page-size.d.ts +14 -20
- package/build/file/document/body/section-properties/properties/page-text-direction.d.ts +8 -8
- package/build/file/document/body/section-properties/properties/section-type.d.ts +18 -18
- package/build/file/document/body/section-properties/section-properties.d.ts +53 -53
- package/build/file/document/document-attributes.d.ts +85 -85
- package/build/file/document/document-background/document-background.d.ts +23 -23
- package/build/file/document/document-background/index.d.ts +1 -1
- package/build/file/document/document.d.ts +15 -15
- package/build/file/document/index.d.ts +4 -4
- package/build/file/document-wrapper.d.ts +16 -16
- package/build/file/drawing/anchor/anchor-attributes.d.ts +24 -24
- package/build/file/drawing/anchor/anchor.d.ts +6 -6
- package/build/file/drawing/anchor/index.d.ts +2 -2
- package/build/file/drawing/doc-properties/doc-properties-children.d.ts +3 -0
- package/build/file/drawing/doc-properties/doc-properties.d.ts +10 -9
- package/build/file/drawing/drawing.d.ts +18 -18
- package/build/file/drawing/effect-extent/effect-extent-attributes.d.ts +14 -14
- package/build/file/drawing/effect-extent/effect-extent.d.ts +4 -4
- package/build/file/drawing/extent/extent-attributes.d.ts +10 -10
- package/build/file/drawing/extent/extent.d.ts +5 -5
- package/build/file/drawing/floating/align.d.ts +5 -5
- package/build/file/drawing/floating/floating-position.d.ts +49 -49
- package/build/file/drawing/floating/horizontal-position.d.ts +5 -5
- package/build/file/drawing/floating/index.d.ts +4 -4
- package/build/file/drawing/floating/position-offset.d.ts +4 -4
- package/build/file/drawing/floating/simple-pos.d.ts +4 -4
- package/build/file/drawing/floating/vertical-position.d.ts +5 -5
- package/build/file/drawing/graphic-frame/graphic-frame-locks/graphic-frame-lock-attributes.d.ts +10 -10
- package/build/file/drawing/graphic-frame/graphic-frame-locks/graphic-frame-locks.d.ts +4 -4
- package/build/file/drawing/graphic-frame/graphic-frame-properties.d.ts +4 -4
- package/build/file/drawing/index.d.ts +3 -3
- package/build/file/drawing/inline/graphic/graphic-data/graphic-data-attribute.d.ts +8 -8
- package/build/file/drawing/inline/graphic/graphic-data/graphic-data.d.ts +6 -6
- package/build/file/drawing/inline/graphic/graphic-data/index.d.ts +1 -1
- package/build/file/drawing/inline/graphic/graphic-data/pic/blip/blip-fill.d.ts +5 -5
- package/build/file/drawing/inline/graphic/graphic-data/pic/blip/blip.d.ts +5 -5
- package/build/file/drawing/inline/graphic/graphic-data/pic/blip/source-rectangle.d.ts +4 -4
- package/build/file/drawing/inline/graphic/graphic-data/pic/blip/stretch.d.ts +4 -4
- package/build/file/drawing/inline/graphic/graphic-data/pic/index.d.ts +1 -1
- package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/child-non-visual-pic-properties/child-non-visual-pic-properties.d.ts +4 -4
- package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/child-non-visual-pic-properties/pic-locks/pic-locks-attributes.d.ts +10 -10
- package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/child-non-visual-pic-properties/pic-locks/pic-locks.d.ts +4 -4
- package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-pic-properties.d.ts +4 -4
- package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-properties/non-visual-properties-attributes.d.ts +12 -12
- package/build/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-properties/non-visual-properties.d.ts +5 -4
- package/build/file/drawing/inline/graphic/graphic-data/pic/pic-attributes.d.ts +8 -8
- package/build/file/drawing/inline/graphic/graphic-data/pic/pic.d.ts +5 -5
- package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/extents/extents-attributes.d.ts +10 -10
- package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/extents/extents.d.ts +5 -5
- package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/form.d.ts +17 -17
- package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/index.d.ts +1 -1
- package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/offset/off-attributes.d.ts +10 -10
- package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/form/offset/off.d.ts +4 -4
- package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/no-fill.d.ts +4 -4
- package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/outline/outline.d.ts +4 -4
- package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/adjustment-values/adjustment-values.d.ts +4 -4
- package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/preset-geometry-attributes.d.ts +8 -8
- package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/preset-geometry/preset-geometry.d.ts +4 -4
- package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/shape-properties-attributes.d.ts +8 -8
- package/build/file/drawing/inline/graphic/graphic-data/pic/shape-properties/shape-properties.d.ts +6 -6
- package/build/file/drawing/inline/graphic/graphic.d.ts +6 -6
- package/build/file/drawing/inline/graphic/index.d.ts +1 -1
- package/build/file/drawing/inline/index.d.ts +1 -1
- package/build/file/drawing/inline/inline-attributes.d.ts +10 -10
- package/build/file/drawing/inline/inline.d.ts +14 -14
- package/build/file/drawing/text-wrap/index.d.ts +5 -5
- package/build/file/drawing/text-wrap/text-wrapping.d.ts +18 -18
- package/build/file/drawing/text-wrap/wrap-none.d.ts +4 -4
- package/build/file/drawing/text-wrap/wrap-square.d.ts +6 -6
- package/build/file/drawing/text-wrap/wrap-tight.d.ts +5 -5
- package/build/file/drawing/text-wrap/wrap-top-and-bottom.d.ts +5 -5
- package/build/file/file-child.d.ts +4 -0
- package/build/file/file.d.ts +69 -72
- package/build/file/footer/footer-attributes.d.ts +50 -50
- package/build/file/footer/footer.d.ts +9 -9
- package/build/file/footer/index.d.ts +1 -1
- package/build/file/footer-wrapper.d.ts +23 -23
- package/build/file/footnotes/footnote/footnote-attributes.d.ts +10 -10
- package/build/file/footnotes/footnote/footnote.d.ts +14 -14
- package/build/file/footnotes/footnote/index.d.ts +1 -1
- package/build/file/footnotes/footnote/run/continuation-seperator-run.d.ts +4 -4
- package/build/file/footnotes/footnote/run/continuation-seperator.d.ts +4 -4
- package/build/file/footnotes/footnote/run/footnote-ref-run.d.ts +4 -4
- package/build/file/footnotes/footnote/run/footnote-ref.d.ts +4 -4
- package/build/file/footnotes/footnote/run/index.d.ts +1 -1
- package/build/file/footnotes/footnote/run/reference-run.d.ts +15 -15
- package/build/file/footnotes/footnote/run/seperator-run.d.ts +4 -4
- package/build/file/footnotes/footnote/run/seperator.d.ts +4 -4
- package/build/file/footnotes/footnotes-attributes.d.ts +40 -40
- package/build/file/footnotes/footnotes.d.ts +6 -6
- package/build/file/footnotes/index.d.ts +2 -2
- package/build/file/footnotes-wrapper.d.ts +10 -10
- package/build/file/header/header-attributes.d.ts +72 -72
- package/build/file/header/header.d.ts +9 -9
- package/build/file/header/index.d.ts +1 -1
- package/build/file/header-wrapper.d.ts +23 -23
- package/build/file/header.d.ts +13 -13
- package/build/file/index.d.ts +19 -20
- package/build/file/media/data.d.ts +22 -22
- package/build/file/media/index.d.ts +2 -2
- package/build/file/media/media.d.ts +16 -19
- package/build/file/numbering/abstract-numbering.d.ts +6 -6
- package/build/file/numbering/index.d.ts +4 -4
- package/build/file/numbering/level.d.ts +96 -96
- package/build/file/numbering/multi-level-type.d.ts +4 -4
- package/build/file/numbering/num.d.ts +22 -20
- package/build/file/numbering/numbering.d.ts +19 -19
- package/build/file/paragraph/formatting/alignment.d.ts +26 -26
- package/build/file/paragraph/formatting/border.d.ts +14 -14
- package/build/file/paragraph/formatting/break.d.ts +11 -11
- package/build/file/paragraph/formatting/indent.d.ts +13 -12
- package/build/file/paragraph/formatting/index.d.ts +8 -8
- package/build/file/paragraph/formatting/spacing.d.ts +18 -18
- package/build/file/paragraph/formatting/style.d.ts +13 -13
- package/build/file/paragraph/formatting/tab-stop.d.ts +44 -44
- package/build/file/paragraph/formatting/unordered-list.d.ts +4 -4
- package/build/file/paragraph/formatting/word-wrap.d.ts +11 -11
- package/build/file/paragraph/frame/frame-properties.d.ts +90 -90
- package/build/file/paragraph/frame/index.d.ts +1 -1
- package/build/file/paragraph/index.d.ts +7 -7
- package/build/file/paragraph/links/bookmark-attributes.d.ts +17 -17
- package/build/file/paragraph/links/bookmark.d.ts +17 -17
- package/build/file/paragraph/links/hyperlink-attributes.d.ts +13 -13
- package/build/file/paragraph/links/hyperlink.d.ts +26 -26
- package/build/file/paragraph/links/index.d.ts +4 -4
- package/build/file/paragraph/links/outline-level.d.ts +5 -5
- package/build/file/paragraph/links/pageref-field-instruction.d.ts +5 -5
- package/build/file/paragraph/links/pageref-properties.d.ts +4 -4
- package/build/file/paragraph/links/pageref.d.ts +5 -5
- package/build/file/paragraph/math/brackets/index.d.ts +4 -4
- package/build/file/paragraph/math/brackets/math-angled-brackets.d.ts +7 -7
- package/build/file/paragraph/math/brackets/math-beginning-character.d.ts +4 -4
- package/build/file/paragraph/math/brackets/math-bracket-properties.d.ts +7 -7
- package/build/file/paragraph/math/brackets/math-curly-brackets.d.ts +7 -7
- package/build/file/paragraph/math/brackets/math-ending-char.d.ts +4 -4
- package/build/file/paragraph/math/brackets/math-round-brackets.d.ts +7 -7
- package/build/file/paragraph/math/brackets/math-square-brackets.d.ts +7 -7
- package/build/file/paragraph/math/fraction/index.d.ts +3 -3
- package/build/file/paragraph/math/fraction/math-denominator.d.ts +5 -5
- package/build/file/paragraph/math/fraction/math-fraction.d.ts +9 -9
- package/build/file/paragraph/math/fraction/math-numerator.d.ts +5 -5
- package/build/file/paragraph/math/function/index.d.ts +3 -3
- package/build/file/paragraph/math/function/math-function-name.d.ts +5 -5
- package/build/file/paragraph/math/function/math-function-properties.d.ts +4 -4
- package/build/file/paragraph/math/function/math-function.d.ts +9 -9
- package/build/file/paragraph/math/index.d.ts +9 -9
- package/build/file/paragraph/math/math-component.d.ts +9 -9
- package/build/file/paragraph/math/math-run.d.ts +4 -4
- package/build/file/paragraph/math/math-text.d.ts +4 -4
- package/build/file/paragraph/math/math.d.ts +8 -8
- package/build/file/paragraph/math/n-ary/index.d.ts +8 -8
- package/build/file/paragraph/math/n-ary/math-accent-character.d.ts +4 -4
- package/build/file/paragraph/math/n-ary/math-base.d.ts +5 -5
- package/build/file/paragraph/math/n-ary/math-integral.d.ts +10 -10
- package/build/file/paragraph/math/n-ary/math-limit-location.d.ts +4 -4
- package/build/file/paragraph/math/n-ary/math-n-ary-properties.d.ts +4 -4
- package/build/file/paragraph/math/n-ary/math-sub-script-hide.d.ts +4 -4
- package/build/file/paragraph/math/n-ary/math-sub-script.d.ts +5 -5
- package/build/file/paragraph/math/n-ary/math-sum.d.ts +10 -10
- package/build/file/paragraph/math/n-ary/math-super-script-hide.d.ts +4 -4
- package/build/file/paragraph/math/n-ary/math-super-script.d.ts +5 -5
- package/build/file/paragraph/math/radical/index.d.ts +3 -3
- package/build/file/paragraph/math/radical/math-degree-hide.d.ts +4 -4
- package/build/file/paragraph/math/radical/math-degree.d.ts +5 -5
- package/build/file/paragraph/math/radical/math-radical-properties.d.ts +4 -4
- package/build/file/paragraph/math/radical/math-radical.d.ts +9 -9
- package/build/file/paragraph/math/script/index.d.ts +4 -4
- package/build/file/paragraph/math/script/pre-sub-super-script/index.d.ts +2 -2
- package/build/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function-properties.d.ts +4 -4
- package/build/file/paragraph/math/script/pre-sub-super-script/math-pre-sub-super-script-function.d.ts +10 -10
- package/build/file/paragraph/math/script/sub-script/index.d.ts +2 -2
- package/build/file/paragraph/math/script/sub-script/math-sub-script-function-properties.d.ts +4 -4
- package/build/file/paragraph/math/script/sub-script/math-sub-script-function.d.ts +9 -9
- package/build/file/paragraph/math/script/sub-super-script/index.d.ts +2 -2
- package/build/file/paragraph/math/script/sub-super-script/math-sub-super-script-function-properties.d.ts +4 -4
- package/build/file/paragraph/math/script/sub-super-script/math-sub-super-script-function.d.ts +10 -10
- package/build/file/paragraph/math/script/super-script/index.d.ts +2 -2
- package/build/file/paragraph/math/script/super-script/math-super-script-function-properties.d.ts +4 -4
- package/build/file/paragraph/math/script/super-script/math-super-script-function.d.ts +9 -9
- package/build/file/paragraph/paragraph.d.ts +21 -20
- package/build/file/paragraph/properties.d.ts +53 -52
- package/build/file/paragraph/run/break.d.ts +4 -4
- package/build/file/paragraph/run/comment-run.d.ts +27 -26
- package/build/file/paragraph/run/emphasis-mark.d.ts +13 -13
- package/build/file/paragraph/run/empty-children.d.ts +52 -0
- package/build/file/paragraph/run/field.d.ts +10 -10
- package/build/file/paragraph/run/formatting.d.ts +14 -13
- package/build/file/paragraph/run/image-run.d.ts +19 -19
- package/build/file/paragraph/run/index.d.ts +13 -12
- package/build/file/paragraph/run/language.d.ts +7 -0
- package/build/file/paragraph/run/page-number.d.ts +10 -10
- package/build/file/paragraph/run/positional-tab.d.ts +25 -0
- package/build/file/paragraph/run/properties.d.ts +76 -59
- package/build/file/paragraph/run/run-components/symbol.d.ts +4 -4
- package/build/file/paragraph/run/run-components/text.d.ts +10 -10
- package/build/file/paragraph/run/run-fonts.d.ts +12 -12
- package/build/file/paragraph/run/run.d.ts +22 -20
- package/build/file/paragraph/run/script.d.ts +10 -10
- package/build/file/paragraph/run/sequential-identifier-instruction.d.ts +4 -4
- package/build/file/paragraph/run/sequential-identifier.d.ts +4 -4
- package/build/file/paragraph/run/simple-field.d.ts +7 -7
- package/build/file/paragraph/run/symbol-run.d.ts +8 -8
- package/build/file/paragraph/run/text-attributes.d.ts +9 -9
- package/build/file/paragraph/run/text-run.d.ts +4 -4
- package/build/file/paragraph/run/underline.d.ts +24 -24
- package/build/file/relationships/attributes.d.ts +8 -8
- package/build/file/relationships/index.d.ts +1 -1
- package/build/file/relationships/relationship/relationship-attributes.d.ts +14 -14
- package/build/file/relationships/relationship/relationship.d.ts +8 -8
- package/build/file/relationships/relationships.d.ts +7 -8
- package/build/file/settings/compatibility-setting/compatibility-setting.d.ts +15 -15
- package/build/file/settings/compatibility.d.ts +72 -72
- package/build/file/settings/index.d.ts +1 -1
- package/build/file/settings/settings.d.ts +51 -51
- package/build/file/shading/index.d.ts +1 -1
- package/build/file/shading/shading.d.ts +48 -48
- package/build/file/shared/alignment.d.ts +14 -14
- package/build/file/shared/index.d.ts +3 -3
- package/build/file/shared/number-format.d.ts +64 -64
- package/build/file/shared/space-type.d.ts +4 -4
- package/build/file/styles/defaults/document-defaults.d.ts +12 -12
- package/build/file/styles/defaults/index.d.ts +3 -3
- package/build/file/styles/defaults/paragraph-properties.d.ts +5 -5
- package/build/file/styles/defaults/run-properties.d.ts +5 -5
- package/build/file/styles/external-styles-factory.d.ts +4 -4
- package/build/file/styles/factory.d.ts +22 -22
- package/build/file/styles/index.d.ts +4 -4
- package/build/file/styles/latent-styles/exceptions.d.ts +20 -20
- package/build/file/styles/latent-styles/index.d.ts +1 -1
- package/build/file/styles/latent-styles/latent-styles.d.ts +5 -5
- package/build/file/styles/sample/default-style.d.ts +1 -1
- package/build/file/styles/sample/index.d.ts +1 -1
- package/build/file/styles/style/character-style.d.ts +13 -13
- package/build/file/styles/style/components.d.ts +11 -11
- package/build/file/styles/style/default-styles.d.ts +44 -44
- package/build/file/styles/style/index.d.ts +4 -4
- package/build/file/styles/style/paragraph-style.d.ts +15 -15
- package/build/file/styles/style/style.d.ts +20 -20
- package/build/file/styles/styles.d.ts +15 -15
- package/build/file/table/grid.d.ts +8 -7
- package/build/file/table/index.d.ts +5 -5
- package/build/file/table/table-cell/index.d.ts +2 -2
- package/build/file/table/table-cell/table-cell-components.d.ts +31 -31
- package/build/file/table/table-cell/table-cell-properties.d.ts +20 -20
- package/build/file/table/table-cell/table-cell.d.ts +12 -12
- package/build/file/table/table-properties/index.d.ts +4 -4
- package/build/file/table/table-properties/table-borders.d.ts +45 -45
- package/build/file/table/table-properties/table-cell-margin.d.ts +16 -16
- package/build/file/table/table-properties/table-float-properties.d.ts +42 -55
- package/build/file/table/table-properties/table-layout.d.ts +8 -8
- package/build/file/table/table-properties/table-properties.d.ts +23 -23
- package/build/file/table/table-row/index.d.ts +3 -3
- package/build/file/table/table-row/table-row-height.d.ts +19 -18
- package/build/file/table/table-row/table-row-properties.d.ts +14 -13
- package/build/file/table/table-row/table-row.d.ts +16 -16
- package/build/file/table/table-width.d.ts +15 -14
- package/build/file/table/table.d.ts +23 -23
- package/build/file/table-of-contents/field-instruction.d.ts +6 -6
- package/build/file/table-of-contents/index.d.ts +2 -2
- package/build/file/table-of-contents/sdt-content.d.ts +4 -4
- package/build/file/table-of-contents/sdt-properties.d.ts +4 -4
- package/build/file/table-of-contents/table-of-contents-properties.d.ts +23 -23
- package/build/file/table-of-contents/table-of-contents.d.ts +5 -5
- package/build/file/track-revision/index.d.ts +2 -2
- package/build/file/track-revision/track-revision-components/deleted-page-number.d.ts +10 -10
- package/build/file/track-revision/track-revision-components/deleted-text-run.d.ts +13 -13
- package/build/file/track-revision/track-revision-components/deleted-text.d.ts +4 -4
- package/build/file/track-revision/track-revision-components/inserted-text-run.d.ts +9 -9
- package/build/file/track-revision/track-revision.d.ts +13 -13
- package/build/file/vertical-align/index.d.ts +1 -1
- package/build/file/vertical-align/vertical-align.d.ts +16 -16
- package/build/file/xml-components/attributes.d.ts +46 -46
- package/build/file/xml-components/base.d.ts +13 -12
- package/build/file/xml-components/default-attributes.d.ts +25 -11
- package/build/file/xml-components/imported-xml-component.d.ts +14 -14
- package/build/file/xml-components/index.d.ts +8 -8
- package/build/file/xml-components/initializable-xml-component.d.ts +4 -4
- package/build/file/xml-components/simple-elements.d.ts +29 -19
- package/build/file/xml-components/xml-component.d.ts +12 -12
- package/build/file/xml-components/xmlable-object.d.ts +7 -7
- package/build/index.d.ts +5 -5
- package/build/index.js +1 -1
- package/build/patcher/content-types-manager.d.ts +2 -0
- package/build/patcher/from-docx.d.ts +25 -0
- package/build/patcher/index.d.ts +1 -0
- package/build/patcher/paragraph-split-inject.d.ts +6 -0
- package/build/patcher/paragraph-token-replacer.d.ts +8 -0
- package/build/patcher/relationship-manager.d.ts +4 -0
- package/build/patcher/replacer.d.ts +5 -0
- package/build/patcher/run-renderer.d.ts +22 -0
- package/build/patcher/traverser.d.ts +8 -0
- package/build/patcher/util.d.ts +5 -0
- package/build/tests/utility.d.ts +3 -3
- package/build/util/convenience-functions.d.ts +4 -4
- package/build/util/index.d.ts +2 -2
- package/build/util/values.d.ts +20 -17
- package/package.json +10 -8
- package/src/export/formatter.ts +1 -1
- package/src/export/packer/next-compiler.ts +23 -5
- package/src/file/document/body/section-properties/properties/column.ts +13 -15
- package/src/file/document/body/section-properties/properties/columns.ts +10 -19
- package/src/file/document/body/section-properties/properties/line-number.ts +13 -17
- package/src/file/document/body/section-properties/properties/page-borders.ts +1 -1
- package/src/file/document/body/section-properties/properties/page-margin.ts +26 -38
- package/src/file/document/body/section-properties/properties/page-size.ts +11 -19
- package/src/file/document/body/section-properties/section-properties.ts +5 -5
- package/src/file/drawing/doc-properties/doc-properties-children.spec.ts +61 -0
- package/src/file/drawing/doc-properties/doc-properties-children.ts +57 -0
- package/src/file/drawing/doc-properties/doc-properties.ts +49 -19
- package/src/file/drawing/drawing.spec.ts +254 -0
- package/src/file/drawing/inline/graphic/graphic-data/pic/non-visual-pic-properties/non-visual-properties/non-visual-properties.ts +31 -1
- package/src/file/file-child.ts +5 -0
- package/src/file/file.spec.ts +1 -25
- package/src/file/file.ts +5 -31
- package/src/file/index.ts +0 -1
- package/src/file/media/media.spec.ts +13 -79
- package/src/file/media/media.ts +0 -49
- package/src/file/numbering/concrete-numbering.spec.ts +185 -10
- package/src/file/numbering/num.ts +10 -6
- package/src/file/numbering/numbering.ts +6 -4
- package/src/file/paragraph/formatting/indent.ts +54 -40
- package/src/file/paragraph/paragraph.spec.ts +1 -0
- package/src/file/paragraph/paragraph.ts +3 -2
- package/src/file/paragraph/properties.spec.ts +16 -0
- package/src/file/paragraph/properties.ts +9 -0
- package/src/file/paragraph/run/comment-run.spec.ts +10 -8
- package/src/file/paragraph/run/comment-run.ts +6 -6
- package/src/file/paragraph/run/empty-children.spec.ts +229 -0
- package/src/file/paragraph/run/empty-children.ts +127 -0
- package/src/file/paragraph/run/formatting.ts +2 -2
- package/src/file/paragraph/run/image-run.spec.ts +4 -0
- package/src/file/paragraph/run/index.ts +2 -1
- package/src/file/paragraph/run/language.spec.ts +29 -0
- package/src/file/paragraph/run/language.ts +35 -0
- package/src/file/paragraph/run/positional-tab.spec.ts +27 -0
- package/src/file/paragraph/run/positional-tab.ts +80 -0
- package/src/file/paragraph/run/properties.ts +44 -2
- package/src/file/paragraph/run/run.spec.ts +143 -0
- package/src/file/paragraph/run/run.ts +83 -2
- package/src/file/paragraph/run/symbol-run.ts +1 -1
- package/src/file/relationships/relationships.ts +1 -5
- package/src/file/styles/sample/default-style.ts +7 -1
- package/src/file/table/grid.ts +9 -9
- package/src/file/table/table-properties/table-float-properties.spec.ts +1 -3
- package/src/file/table/table-properties/table-float-properties.ts +56 -42
- package/src/file/table/table-row/table-row-height.ts +2 -2
- package/src/file/table/table-row/table-row-properties.ts +2 -1
- package/src/file/table/table-width.ts +12 -10
- package/src/file/table/table.ts +2 -2
- package/src/file/table-of-contents/table-of-contents.ts +2 -2
- package/src/file/xml-components/base.ts +2 -0
- package/src/file/xml-components/default-attributes.ts +18 -5
- package/src/file/xml-components/imported-xml-component.spec.ts +1 -1
- package/src/file/xml-components/simple-elements.spec.ts +41 -0
- package/src/file/xml-components/simple-elements.ts +29 -3
- package/src/file/xml-components/xml-component.ts +11 -0
- package/src/index.ts +1 -1
- package/src/patcher/content-types-manager.spec.ts +51 -0
- package/src/patcher/content-types-manager.ts +16 -0
- package/src/patcher/from-docx.spec.ts +370 -0
- package/src/patcher/from-docx.ts +233 -0
- package/src/patcher/index.ts +1 -0
- package/src/patcher/paragraph-split-inject.spec.ts +224 -0
- package/src/patcher/paragraph-split-inject.ts +54 -0
- package/src/patcher/paragraph-token-replacer.spec.ts +165 -0
- package/src/patcher/paragraph-token-replacer.ts +69 -0
- package/src/patcher/relationship-manager.spec.ts +87 -0
- package/src/patcher/relationship-manager.ts +42 -0
- package/src/patcher/replacer.spec.ts +206 -0
- package/src/patcher/replacer.ts +83 -0
- package/src/patcher/run-renderer.spec.ts +96 -0
- package/src/patcher/run-renderer.ts +109 -0
- package/src/patcher/traverser.spec.ts +599 -0
- package/src/patcher/traverser.ts +45 -0
- package/src/patcher/util.spec.ts +50 -0
- package/src/patcher/util.ts +30 -0
- package/src/util/values.spec.ts +0 -22
- package/src/util/values.ts +29 -25
- package/build/file/file-properties.d.ts +0 -5
- package/build/file/paragraph/run/tab.d.ts +0 -4
- package/build/import-dotx/import-dotx.d.ts +0 -23
- package/build/import-dotx/index.d.ts +0 -1
- package/src/file/file-properties.ts +0 -11
- package/src/file/paragraph/run/tab.spec.ts +0 -22
- package/src/file/paragraph/run/tab.ts +0 -14
- package/src/import-dotx/import-dotx.spec.ts +0 -26
- package/src/import-dotx/import-dotx.ts +0 -266
- package/src/import-dotx/index.ts +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { signedTwipsMeasureValue, twipsMeasureValue } from "@util/values";
|
|
1
|
+
import { NextAttributeComponent, StringEnumValueElement, XmlComponent } from "@file/xml-components";
|
|
2
|
+
import { PositiveUniversalMeasure, signedTwipsMeasureValue, twipsMeasureValue, UniversalMeasure } from "@util/values";
|
|
3
3
|
|
|
4
4
|
export enum TableAnchorType {
|
|
5
5
|
MARGIN = "margin",
|
|
@@ -35,7 +35,7 @@ export enum OverlapType {
|
|
|
35
35
|
OVERLAP = "overlap",
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
export
|
|
38
|
+
export type ITableFloatOptions = {
|
|
39
39
|
/* cSpell:disable */
|
|
40
40
|
/**
|
|
41
41
|
* Specifies the horizontal anchor or the base object from which the horizontal positioning in the
|
|
@@ -55,7 +55,7 @@ export interface ITableFloatOptions {
|
|
|
55
55
|
* If relativeHorizontalPosition is also specified, then the absoluteHorizontalPosition attribute is ignored.
|
|
56
56
|
* If the attribute is omitted, the value is assumed to be zero.
|
|
57
57
|
*/
|
|
58
|
-
readonly absoluteHorizontalPosition?: number |
|
|
58
|
+
readonly absoluteHorizontalPosition?: number | UniversalMeasure;
|
|
59
59
|
|
|
60
60
|
/**
|
|
61
61
|
* Specifies a relative horizontal position for the table, relative to the horizontalAnchor attribute.
|
|
@@ -86,7 +86,7 @@ export interface ITableFloatOptions {
|
|
|
86
86
|
* If relativeVerticalPosition is also specified, then the absoluteVerticalPosition attribute is ignored.
|
|
87
87
|
* If the attribute is omitted, the value is assumed to be zero.
|
|
88
88
|
*/
|
|
89
|
-
readonly absoluteVerticalPosition?: number |
|
|
89
|
+
readonly absoluteVerticalPosition?: number | UniversalMeasure;
|
|
90
90
|
|
|
91
91
|
/**
|
|
92
92
|
* Specifies a relative vertical position for the table, relative to the verticalAnchor attribute.
|
|
@@ -104,27 +104,27 @@ export interface ITableFloatOptions {
|
|
|
104
104
|
* Specifies the minimum distance to be maintained between the table and the top of text in the paragraph
|
|
105
105
|
* below the table. The value is in twentieths of a point. If omitted, the value is assumed to be zero.
|
|
106
106
|
*/
|
|
107
|
-
readonly bottomFromText?: number |
|
|
107
|
+
readonly bottomFromText?: number | PositiveUniversalMeasure;
|
|
108
108
|
|
|
109
109
|
/**
|
|
110
110
|
* Specifies the minimum distance to be maintained between the table and the bottom edge of text in the paragraph
|
|
111
111
|
* above the table. The value is in twentieths of a point. If omitted, the value is assumed to be zero.
|
|
112
112
|
*/
|
|
113
|
-
readonly topFromText?: number |
|
|
113
|
+
readonly topFromText?: number | PositiveUniversalMeasure;
|
|
114
114
|
|
|
115
115
|
/**
|
|
116
116
|
* Specifies the minimum distance to be maintained between the table and the edge of text in the paragraph
|
|
117
117
|
* to the left of the table. The value is in twentieths of a point. If omitted, the value is assumed to be zero.
|
|
118
118
|
*/
|
|
119
|
-
readonly leftFromText?: number |
|
|
119
|
+
readonly leftFromText?: number | PositiveUniversalMeasure;
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
122
|
* Specifies the minimum distance to be maintained between the table and the edge of text in the paragraph
|
|
123
123
|
* to the right of the table. The value is in twentieths of a point. If omitted, the value is assumed to be zero.
|
|
124
124
|
*/
|
|
125
|
-
readonly rightFromText?: number |
|
|
125
|
+
readonly rightFromText?: number | PositiveUniversalMeasure;
|
|
126
126
|
readonly overlap?: OverlapType;
|
|
127
|
-
}
|
|
127
|
+
};
|
|
128
128
|
|
|
129
129
|
// <xsd:complexType name="CT_TblPPr">
|
|
130
130
|
// <xsd:attribute name="leftFromText" type="s:ST_TwipsMeasure"/>
|
|
@@ -139,51 +139,65 @@ export interface ITableFloatOptions {
|
|
|
139
139
|
// <xsd:attribute name="tblpY" type="ST_SignedTwipsMeasure"/>
|
|
140
140
|
// </xsd:complexType>
|
|
141
141
|
|
|
142
|
-
export class TableFloatOptionsAttributes extends XmlAttributeComponent<ITableFloatOptions> {
|
|
143
|
-
protected readonly xmlKeys = {
|
|
144
|
-
horizontalAnchor: "w:horzAnchor",
|
|
145
|
-
verticalAnchor: "w:vertAnchor",
|
|
146
|
-
absoluteHorizontalPosition: "w:tblpX",
|
|
147
|
-
relativeHorizontalPosition: "w:tblpXSpec",
|
|
148
|
-
absoluteVerticalPosition: "w:tblpY",
|
|
149
|
-
relativeVerticalPosition: "w:tblpYSpec",
|
|
150
|
-
bottomFromText: "w:bottomFromText",
|
|
151
|
-
topFromText: "w:topFromText",
|
|
152
|
-
leftFromText: "w:leftFromText",
|
|
153
|
-
rightFromText: "w:rightFromText",
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
|
|
157
142
|
export class TableFloatProperties extends XmlComponent {
|
|
158
143
|
public constructor({
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
topFromText,
|
|
162
|
-
bottomFromText,
|
|
144
|
+
horizontalAnchor,
|
|
145
|
+
verticalAnchor,
|
|
163
146
|
absoluteHorizontalPosition,
|
|
147
|
+
relativeHorizontalPosition,
|
|
164
148
|
absoluteVerticalPosition,
|
|
165
|
-
|
|
149
|
+
relativeVerticalPosition,
|
|
150
|
+
bottomFromText,
|
|
151
|
+
topFromText,
|
|
152
|
+
leftFromText,
|
|
153
|
+
rightFromText,
|
|
154
|
+
overlap,
|
|
166
155
|
}: ITableFloatOptions) {
|
|
167
156
|
super("w:tblpPr");
|
|
168
157
|
this.root.push(
|
|
169
|
-
new
|
|
170
|
-
leftFromText: leftFromText === undefined ? undefined : twipsMeasureValue(leftFromText),
|
|
171
|
-
rightFromText:
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
158
|
+
new NextAttributeComponent<Omit<ITableFloatOptions, "overlap">>({
|
|
159
|
+
leftFromText: { key: "w:leftFromText", value: leftFromText === undefined ? undefined : twipsMeasureValue(leftFromText) },
|
|
160
|
+
rightFromText: {
|
|
161
|
+
key: "w:rightFromText",
|
|
162
|
+
value: rightFromText === undefined ? undefined : twipsMeasureValue(rightFromText),
|
|
163
|
+
},
|
|
164
|
+
topFromText: { key: "w:topFromText", value: topFromText === undefined ? undefined : twipsMeasureValue(topFromText) },
|
|
165
|
+
bottomFromText: {
|
|
166
|
+
key: "w:bottomFromText",
|
|
167
|
+
value: bottomFromText === undefined ? undefined : twipsMeasureValue(bottomFromText),
|
|
168
|
+
},
|
|
169
|
+
absoluteHorizontalPosition: {
|
|
170
|
+
key: "w:tblpX",
|
|
171
|
+
value: absoluteHorizontalPosition === undefined ? undefined : signedTwipsMeasureValue(absoluteHorizontalPosition),
|
|
172
|
+
},
|
|
173
|
+
absoluteVerticalPosition: {
|
|
174
|
+
key: "w:tblpY",
|
|
175
|
+
value: absoluteVerticalPosition === undefined ? undefined : signedTwipsMeasureValue(absoluteVerticalPosition),
|
|
176
|
+
},
|
|
177
|
+
horizontalAnchor: {
|
|
178
|
+
key: "w:horzAnchor",
|
|
179
|
+
value: horizontalAnchor === undefined ? undefined : horizontalAnchor,
|
|
180
|
+
},
|
|
181
|
+
relativeHorizontalPosition: {
|
|
182
|
+
key: "w:tblpXSpec",
|
|
183
|
+
value: relativeHorizontalPosition,
|
|
184
|
+
},
|
|
185
|
+
relativeVerticalPosition: {
|
|
186
|
+
key: "w:tblpYSpec",
|
|
187
|
+
value: relativeVerticalPosition,
|
|
188
|
+
},
|
|
189
|
+
verticalAnchor: {
|
|
190
|
+
key: "w:vertAnchor",
|
|
191
|
+
value: verticalAnchor,
|
|
192
|
+
},
|
|
179
193
|
}),
|
|
180
194
|
);
|
|
181
195
|
|
|
182
|
-
if (
|
|
196
|
+
if (overlap) {
|
|
183
197
|
// <xsd:complexType name="CT_TblOverlap">
|
|
184
198
|
// <xsd:attribute name="val" type="ST_TblOverlap" use="required"/>
|
|
185
199
|
// </xsd:complexType>
|
|
186
|
-
this.root.push(new StringEnumValueElement<OverlapType>("w:tblOverlap",
|
|
200
|
+
this.root.push(new StringEnumValueElement<OverlapType>("w:tblOverlap", overlap));
|
|
187
201
|
}
|
|
188
202
|
}
|
|
189
203
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { XmlAttributeComponent, XmlComponent } from "@file/xml-components";
|
|
2
|
-
import { twipsMeasureValue } from "@util/values";
|
|
2
|
+
import { PositiveUniversalMeasure, twipsMeasureValue } from "@util/values";
|
|
3
3
|
|
|
4
4
|
// <xsd:complexType name="CT_Height">
|
|
5
5
|
// <xsd:attribute name="val" type="s:ST_TwipsMeasure"/>
|
|
@@ -30,7 +30,7 @@ export class TableRowHeightAttributes extends XmlAttributeComponent<{
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
export class TableRowHeight extends XmlComponent {
|
|
33
|
-
public constructor(value: number |
|
|
33
|
+
public constructor(value: number | PositiveUniversalMeasure, rule: HeightRule) {
|
|
34
34
|
super("w:trHeight");
|
|
35
35
|
|
|
36
36
|
this.root.push(
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
// </xsd:complexContent>
|
|
29
29
|
// </xsd:complexType>
|
|
30
30
|
import { IgnoreIfEmptyXmlComponent, OnOffElement } from "@file/xml-components";
|
|
31
|
+
import { PositiveUniversalMeasure } from "@util/values";
|
|
31
32
|
|
|
32
33
|
import { HeightRule, TableRowHeight } from "./table-row-height";
|
|
33
34
|
|
|
@@ -35,7 +36,7 @@ export interface ITableRowPropertiesOptions {
|
|
|
35
36
|
readonly cantSplit?: boolean;
|
|
36
37
|
readonly tableHeader?: boolean;
|
|
37
38
|
readonly height?: {
|
|
38
|
-
readonly value: number |
|
|
39
|
+
readonly value: number | PositiveUniversalMeasure;
|
|
39
40
|
readonly rule: HeightRule;
|
|
40
41
|
};
|
|
41
42
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// http://officeopenxml.com/WPtableWidth.php
|
|
2
|
-
import {
|
|
3
|
-
import { measurementOrPercentValue } from "@util/values";
|
|
2
|
+
import { NextAttributeComponent, XmlComponent } from "@file/xml-components";
|
|
3
|
+
import { measurementOrPercentValue, Percentage, UniversalMeasure } from "@util/values";
|
|
4
4
|
|
|
5
5
|
// <xsd:simpleType name="ST_TblWidth">
|
|
6
6
|
// <xsd:restriction base="xsd:string">
|
|
@@ -25,14 +25,10 @@ export enum WidthType {
|
|
|
25
25
|
// <xsd:attribute name="w" type="ST_MeasurementOrPercent"/>
|
|
26
26
|
// <xsd:attribute name="type" type="ST_TblWidth"/>
|
|
27
27
|
// </xsd:complexType>
|
|
28
|
-
export
|
|
29
|
-
readonly size:
|
|
28
|
+
export type ITableWidthProperties = {
|
|
29
|
+
readonly size: number | Percentage | UniversalMeasure;
|
|
30
30
|
readonly type?: WidthType;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
class TableWidthAttributes extends XmlAttributeComponent<ITableWidthProperties> {
|
|
34
|
-
protected readonly xmlKeys = { type: "w:type", size: "w:w" };
|
|
35
|
-
}
|
|
31
|
+
};
|
|
36
32
|
|
|
37
33
|
export class TableWidthElement extends XmlComponent {
|
|
38
34
|
public constructor(name: string, { type = WidthType.AUTO, size }: ITableWidthProperties) {
|
|
@@ -42,6 +38,12 @@ export class TableWidthElement extends XmlComponent {
|
|
|
42
38
|
if (type === WidthType.PERCENTAGE && typeof size === "number") {
|
|
43
39
|
tableWidthValue = `${size}%`;
|
|
44
40
|
}
|
|
45
|
-
|
|
41
|
+
|
|
42
|
+
this.root.push(
|
|
43
|
+
new NextAttributeComponent<ITableWidthProperties>({
|
|
44
|
+
type: { key: "w:type", value: type },
|
|
45
|
+
size: { key: "w:w", value: measurementOrPercentValue(tableWidthValue) },
|
|
46
|
+
}),
|
|
47
|
+
);
|
|
46
48
|
}
|
|
47
49
|
}
|
package/src/file/table/table.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// http://officeopenxml.com/WPtableGrid.php
|
|
2
|
-
import {
|
|
2
|
+
import { FileChild } from "@file/file-child";
|
|
3
3
|
|
|
4
4
|
import { AlignmentType } from "../paragraph";
|
|
5
5
|
import { TableGrid } from "./grid";
|
|
@@ -34,7 +34,7 @@ export interface ITableOptions {
|
|
|
34
34
|
readonly visuallyRightToLeft?: boolean;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
export class Table extends
|
|
37
|
+
export class Table extends FileChild {
|
|
38
38
|
public constructor({
|
|
39
39
|
rows,
|
|
40
40
|
width,
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
import { Paragraph } from "@file/paragraph";
|
|
4
4
|
import { Run } from "@file/paragraph/run";
|
|
5
5
|
import { Begin, End, Separate } from "@file/paragraph/run/field";
|
|
6
|
-
import {
|
|
6
|
+
import { FileChild } from "@file/file-child";
|
|
7
7
|
import { FieldInstruction } from "./field-instruction";
|
|
8
8
|
import { StructuredDocumentTagContent } from "./sdt-content";
|
|
9
9
|
import { StructuredDocumentTagProperties } from "./sdt-properties";
|
|
10
10
|
import { ITableOfContentsOptions } from "./table-of-contents-properties";
|
|
11
11
|
|
|
12
|
-
export class TableOfContents extends
|
|
12
|
+
export class TableOfContents extends FileChild {
|
|
13
13
|
public constructor(alias: string = "Table of Contents", properties?: ITableOfContentsOptions) {
|
|
14
14
|
super("w:sdt");
|
|
15
15
|
this.root.push(new StructuredDocumentTagProperties(alias));
|
|
@@ -5,6 +5,8 @@ import { IXmlableObject } from "./xmlable-object";
|
|
|
5
5
|
export interface IContext {
|
|
6
6
|
readonly file: File;
|
|
7
7
|
readonly viewWrapper: IViewWrapper;
|
|
8
|
+
// eslint-disable-next-line functional/prefer-readonly-type
|
|
9
|
+
readonly stack: IXmlableObject[];
|
|
8
10
|
}
|
|
9
11
|
|
|
10
12
|
export abstract class BaseXmlComponent {
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { BaseXmlComponent, IContext } from "./base";
|
|
2
|
-
import { IXmlableObject } from "./xmlable-object";
|
|
2
|
+
import { IXmlableObject, IXmlAttribute } from "./xmlable-object";
|
|
3
3
|
|
|
4
4
|
export type AttributeMap<T> = { readonly [P in keyof T]: string };
|
|
5
5
|
|
|
6
|
+
export type AttributeData = { readonly [key: string]: boolean | number | string };
|
|
7
|
+
export type AttributePayload<T> = { readonly [P in keyof T]: { readonly key: string; readonly value: T[P] } };
|
|
8
|
+
|
|
6
9
|
export abstract class XmlAttributeComponent<T extends object> extends BaseXmlComponent {
|
|
7
|
-
// tslint:disable-next-line:readonly-keyword
|
|
8
|
-
protected readonly root: T;
|
|
9
10
|
protected readonly xmlKeys?: AttributeMap<T>;
|
|
10
11
|
|
|
11
|
-
public constructor(
|
|
12
|
+
public constructor(private readonly root: T) {
|
|
12
13
|
super("_attr");
|
|
13
|
-
this.root = properties;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
public prepForXml(_: IContext): IXmlableObject {
|
|
@@ -26,3 +26,16 @@ export abstract class XmlAttributeComponent<T extends object> extends BaseXmlCom
|
|
|
26
26
|
return { _attr: attrs };
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
+
|
|
30
|
+
export class NextAttributeComponent<T extends AttributeData> extends BaseXmlComponent {
|
|
31
|
+
public constructor(private readonly root: AttributePayload<T>) {
|
|
32
|
+
super("_attr");
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public prepForXml(_: IContext): IXmlableObject {
|
|
36
|
+
const attrs = Object.values<{ readonly key: string; readonly value: string | boolean | number }>(this.root)
|
|
37
|
+
.filter(({ value }) => value !== undefined)
|
|
38
|
+
.reduce((acc, { key, value }) => ({ ...acc, [key]: value }), {} as IXmlAttribute);
|
|
39
|
+
return { _attr: attrs };
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -62,7 +62,7 @@ describe("ImportedXmlComponent", () => {
|
|
|
62
62
|
describe("#prepForXml()", () => {
|
|
63
63
|
it("should transform for xml", () => {
|
|
64
64
|
// tslint:disable-next-line: no-object-literal-type-assertion
|
|
65
|
-
const converted = importedXmlComponent.prepForXml({} as IContext);
|
|
65
|
+
const converted = importedXmlComponent.prepForXml({ stack: [] } as unknown as IContext);
|
|
66
66
|
expect(converted).to.deep.equal({
|
|
67
67
|
"w:test": [
|
|
68
68
|
{
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { expect } from "chai";
|
|
2
|
+
|
|
3
|
+
import { Formatter } from "@export/formatter";
|
|
4
|
+
|
|
5
|
+
import { BuilderElement } from "./simple-elements";
|
|
6
|
+
|
|
7
|
+
describe("BuilderElement", () => {
|
|
8
|
+
describe("#constructor()", () => {
|
|
9
|
+
it("should create a simple BuilderElement", () => {
|
|
10
|
+
const element = new BuilderElement({
|
|
11
|
+
name: "test",
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
const tree = new Formatter().format(element);
|
|
15
|
+
expect(tree).to.deep.equal({
|
|
16
|
+
test: {},
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it("should create a simple BuilderElement with attributes", () => {
|
|
21
|
+
const element = new BuilderElement<{ readonly testAttr: string }>({
|
|
22
|
+
name: "test",
|
|
23
|
+
attributes: {
|
|
24
|
+
testAttr: {
|
|
25
|
+
key: "w:testAttr",
|
|
26
|
+
value: "test",
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
const tree = new Formatter().format(element);
|
|
32
|
+
expect(tree).to.deep.equal({
|
|
33
|
+
test: {
|
|
34
|
+
_attr: {
|
|
35
|
+
"w:testAttr": "test",
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Attributes, XmlComponent } from "@file/xml-components";
|
|
1
|
+
import { AttributeData, AttributePayload, Attributes, NextAttributeComponent, XmlComponent } from "@file/xml-components";
|
|
2
2
|
|
|
3
|
-
import { hpsMeasureValue } from "@util/values";
|
|
3
|
+
import { hpsMeasureValue, PositiveUniversalMeasure } from "@util/values";
|
|
4
4
|
|
|
5
5
|
// This represents element type CT_OnOff, which indicate a boolean value.
|
|
6
6
|
//
|
|
@@ -26,8 +26,13 @@ export class OnOffElement extends XmlComponent {
|
|
|
26
26
|
// <xsd:complexType name="CT_HpsMeasure">
|
|
27
27
|
// <xsd:attribute name="val" type="ST_HpsMeasure" use="required"/>
|
|
28
28
|
// </xsd:complexType>
|
|
29
|
+
|
|
30
|
+
// <xsd:simpleType name="ST_HpsMeasure">
|
|
31
|
+
// <xsd:union memberTypes="s:ST_UnsignedDecimalNumber s:ST_PositiveUniversalMeasure" />
|
|
32
|
+
// </xsd:simpleType>
|
|
33
|
+
|
|
29
34
|
export class HpsMeasureElement extends XmlComponent {
|
|
30
|
-
public constructor(name: string, val: number |
|
|
35
|
+
public constructor(name: string, val: number | PositiveUniversalMeasure) {
|
|
31
36
|
super(name);
|
|
32
37
|
this.root.push(new Attributes({ val: hpsMeasureValue(val) }));
|
|
33
38
|
}
|
|
@@ -35,6 +40,11 @@ export class HpsMeasureElement extends XmlComponent {
|
|
|
35
40
|
|
|
36
41
|
// This represents element type CT_String, which indicate a string value.
|
|
37
42
|
//
|
|
43
|
+
// <xsd:complexType name="CT_Empty"/>
|
|
44
|
+
export class EmptyElement extends XmlComponent {}
|
|
45
|
+
|
|
46
|
+
// This represents element type CT_Empty, which indicate aan empty element.
|
|
47
|
+
//
|
|
38
48
|
// <xsd:complexType name="CT_String">
|
|
39
49
|
// <xsd:attribute name="val" type="s:ST_String" use="required"/>
|
|
40
50
|
// </xsd:complexType>
|
|
@@ -70,3 +80,19 @@ export class StringContainer extends XmlComponent {
|
|
|
70
80
|
this.root.push(val);
|
|
71
81
|
}
|
|
72
82
|
}
|
|
83
|
+
|
|
84
|
+
export class BuilderElement<T extends AttributeData> extends XmlComponent {
|
|
85
|
+
public constructor(options: {
|
|
86
|
+
readonly name: string;
|
|
87
|
+
readonly attributes?: AttributePayload<T>;
|
|
88
|
+
readonly children?: readonly XmlComponent[];
|
|
89
|
+
}) {
|
|
90
|
+
super(options.name);
|
|
91
|
+
|
|
92
|
+
if (options.attributes) {
|
|
93
|
+
this.root.push(new NextAttributeComponent(options.attributes));
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// TODO: Children
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -12,7 +12,15 @@ export abstract class XmlComponent extends BaseXmlComponent {
|
|
|
12
12
|
this.root = new Array<BaseXmlComponent | string>();
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
// This method is called by the formatter to get the XML representation of this component.
|
|
16
|
+
// It is called recursively for all child components.
|
|
17
|
+
// It is a serializer to be used in the xml library.
|
|
18
|
+
// https://www.npmjs.com/package/xml
|
|
19
|
+
// Child components can override this method to customize the XML representation, or execute side effects.
|
|
15
20
|
public prepForXml(context: IContext): IXmlableObject | undefined {
|
|
21
|
+
// Mutating the stack is required for performance reasons
|
|
22
|
+
// eslint-disable-next-line functional/immutable-data
|
|
23
|
+
context.stack.push(this);
|
|
16
24
|
const children = this.root
|
|
17
25
|
.map((comp) => {
|
|
18
26
|
if (comp instanceof BaseXmlComponent) {
|
|
@@ -21,6 +29,9 @@ export abstract class XmlComponent extends BaseXmlComponent {
|
|
|
21
29
|
return comp;
|
|
22
30
|
})
|
|
23
31
|
.filter((comp) => comp !== undefined); // Exclude undefined
|
|
32
|
+
|
|
33
|
+
// eslint-disable-next-line functional/immutable-data
|
|
34
|
+
context.stack.pop();
|
|
24
35
|
// If we only have a single IXmlableObject in our children array and it
|
|
25
36
|
// represents our attributes, use the object itself as our children to
|
|
26
37
|
// avoid an unneeded XML close element.
|
package/src/index.ts
CHANGED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { expect } from "chai";
|
|
2
|
+
import { appendContentType } from "./content-types-manager";
|
|
3
|
+
|
|
4
|
+
describe("content-types-manager", () => {
|
|
5
|
+
describe("appendContentType", () => {
|
|
6
|
+
it("should append a content type", () => {
|
|
7
|
+
const element = {
|
|
8
|
+
type: "element",
|
|
9
|
+
name: "xml",
|
|
10
|
+
elements: [
|
|
11
|
+
{
|
|
12
|
+
type: "element",
|
|
13
|
+
name: "Types",
|
|
14
|
+
elements: [
|
|
15
|
+
{
|
|
16
|
+
type: "element",
|
|
17
|
+
name: "Default",
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
appendContentType(element, "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", "docx");
|
|
24
|
+
|
|
25
|
+
expect(element).to.deep.equal({
|
|
26
|
+
elements: [
|
|
27
|
+
{
|
|
28
|
+
elements: [
|
|
29
|
+
{
|
|
30
|
+
name: "Default",
|
|
31
|
+
type: "element",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
attributes: {
|
|
35
|
+
ContentType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml",
|
|
36
|
+
Extension: "docx",
|
|
37
|
+
},
|
|
38
|
+
name: "Default",
|
|
39
|
+
type: "element",
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
name: "Types",
|
|
43
|
+
type: "element",
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
name: "xml",
|
|
47
|
+
type: "element",
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Element } from "xml-js";
|
|
2
|
+
|
|
3
|
+
import { getFirstLevelElements } from "./util";
|
|
4
|
+
|
|
5
|
+
export const appendContentType = (element: Element, contentType: string, extension: string): void => {
|
|
6
|
+
const relationshipElements = getFirstLevelElements(element, "Types");
|
|
7
|
+
// eslint-disable-next-line functional/immutable-data
|
|
8
|
+
relationshipElements.push({
|
|
9
|
+
attributes: {
|
|
10
|
+
ContentType: contentType,
|
|
11
|
+
Extension: extension,
|
|
12
|
+
},
|
|
13
|
+
name: "Default",
|
|
14
|
+
type: "element",
|
|
15
|
+
});
|
|
16
|
+
};
|