@syncfusion/ej2-docx 0.0.0-stage → 35.1.40
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/.gitleaksignore +35 -0
- package/README.md +68 -2
- package/core.js +4 -0
- package/dist/ej2-docx.umd.min.js +11 -0
- package/dist/ej2-docx.umd.min.js.map +1 -0
- package/dist/es6/ej2-docx.es2015.js +66697 -0
- package/dist/es6/ej2-docx.es2015.js.map +1 -0
- package/dist/es6/ej2-docx.es5.js +77568 -0
- package/dist/es6/ej2-docx.es5.js.map +1 -0
- package/dist/global/ej2-docx.min.js +11 -0
- package/dist/global/ej2-docx.min.js.map +1 -0
- package/dist/global/index.d.ts +14 -0
- package/features.js +4 -0
- package/index.js +4 -0
- package/license +10 -0
- package/package.json +30 -3
- package/src/all.d.ts +50 -0
- package/src/all.js +147 -0
- package/src/core/compat/base64.d.ts +13 -0
- package/src/core/compat/base64.js +90 -0
- package/src/core/compat/object-compat.d.ts +30 -0
- package/src/core/compat/object-compat.js +40 -0
- package/src/core/compat/sha256.d.ts +9 -0
- package/src/core/compat/sha256.js +98 -0
- package/src/core/errors/docx-error.d.ts +89 -0
- package/src/core/errors/docx-error.js +138 -0
- package/src/core/errors/error-codes.d.ts +8 -0
- package/src/core/errors/error-codes.js +0 -0
- package/src/core/errors/index.d.ts +10 -0
- package/src/core/errors/index.js +9 -0
- package/src/core/index.d.ts +12 -0
- package/src/core/index.js +12 -0
- package/src/core/mc/alternate-content.d.ts +7 -0
- package/src/core/mc/alternate-content.js +67 -0
- package/src/core/mc/attributes.d.ts +24 -0
- package/src/core/mc/attributes.js +82 -0
- package/src/core/mc/index.d.ts +7 -0
- package/src/core/mc/index.js +5 -0
- package/src/core/mc/inspect.d.ts +16 -0
- package/src/core/mc/inspect.js +148 -0
- package/src/core/mc/namespaces.d.ts +4 -0
- package/src/core/mc/namespaces.js +4 -0
- package/src/core/mc/scope.d.ts +6 -0
- package/src/core/mc/scope.js +47 -0
- package/src/core/opc/content-types.d.ts +34 -0
- package/src/core/opc/content-types.js +162 -0
- package/src/core/opc/index.d.ts +8 -0
- package/src/core/opc/index.js +4 -0
- package/src/core/opc/package.d.ts +49 -0
- package/src/core/opc/package.js +324 -0
- package/src/core/opc/part-name.d.ts +47 -0
- package/src/core/opc/part-name.js +205 -0
- package/src/core/opc/relationships.d.ts +46 -0
- package/src/core/opc/relationships.js +212 -0
- package/src/core/preservation/index.d.ts +2 -0
- package/src/core/preservation/index.js +1 -0
- package/src/core/preservation/opaque-body.d.ts +16 -0
- package/src/core/preservation/opaque-body.js +69 -0
- package/src/core/registry/block-handlers.d.ts +30 -0
- package/src/core/registry/block-handlers.js +36 -0
- package/src/core/registry/create-defaults.d.ts +39 -0
- package/src/core/registry/create-defaults.js +42 -0
- package/src/core/registry/feature-registry.d.ts +20 -0
- package/src/core/registry/feature-registry.js +29 -0
- package/src/core/registry/index.d.ts +9 -0
- package/src/core/registry/index.js +8 -0
- package/src/core/registry/inline-handlers.d.ts +20 -0
- package/src/core/registry/inline-handlers.js +30 -0
- package/src/core/registry/materialize-handlers.d.ts +35 -0
- package/src/core/registry/materialize-handlers.js +75 -0
- package/src/core/registry/multi-part-handlers.d.ts +37 -0
- package/src/core/registry/multi-part-handlers.js +206 -0
- package/src/core/registry/package-part-handlers.d.ts +28 -0
- package/src/core/registry/package-part-handlers.js +190 -0
- package/src/core/registry/part-handlers.d.ts +24 -0
- package/src/core/registry/part-handlers.js +172 -0
- package/src/core/registry/run-leaf-handlers.d.ts +26 -0
- package/src/core/registry/run-leaf-handlers.js +72 -0
- package/src/core/security/limits.d.ts +40 -0
- package/src/core/security/limits.js +26 -0
- package/src/core/xml/index.d.ts +7 -0
- package/src/core/xml/index.js +3 -0
- package/src/core/xml/model.d.ts +66 -0
- package/src/core/xml/model.js +17 -0
- package/src/core/xml/parse.d.ts +12 -0
- package/src/core/xml/parse.js +382 -0
- package/src/core/xml/serialize.d.ts +6 -0
- package/src/core/xml/serialize.js +93 -0
- package/src/core/zip/crc32.d.ts +2 -0
- package/src/core/zip/crc32.js +25 -0
- package/src/core/zip/deflate.d.ts +6 -0
- package/src/core/zip/deflate.js +6 -0
- package/src/core/zip/index.d.ts +10 -0
- package/src/core/zip/index.js +4 -0
- package/src/core/zip/inflate-raw.d.ts +17 -0
- package/src/core/zip/inflate-raw.js +450 -0
- package/src/core/zip/names.d.ts +6 -0
- package/src/core/zip/names.js +52 -0
- package/src/core/zip/read.d.ts +8 -0
- package/src/core/zip/read.js +262 -0
- package/src/core/zip/write.d.ts +7 -0
- package/src/core/zip/write.js +189 -0
- package/src/core/zip/zip-entry.d.ts +4 -0
- package/src/core/zip/zip-entry.js +0 -0
- package/src/features/bibliography/index.d.ts +100 -0
- package/src/features/bibliography/index.js +290 -0
- package/src/features/bookmarks/index.d.ts +331 -0
- package/src/features/bookmarks/index.js +1009 -0
- package/src/features/comments/comment-extensions.d.ts +157 -0
- package/src/features/comments/comment-extensions.js +356 -0
- package/src/features/comments/index.d.ts +579 -0
- package/src/features/comments/index.js +1727 -0
- package/src/features/content-controls/index.d.ts +821 -0
- package/src/features/content-controls/index.js +2857 -0
- package/src/features/custom-xml/index.d.ts +236 -0
- package/src/features/custom-xml/index.js +661 -0
- package/src/features/document/alignment.d.ts +23 -0
- package/src/features/document/alignment.js +36 -0
- package/src/features/document/alt-chunk.d.ts +103 -0
- package/src/features/document/alt-chunk.js +221 -0
- package/src/features/document/assert-never.d.ts +1 -0
- package/src/features/document/assert-never.js +4 -0
- package/src/features/document/augmentations.d.ts +578 -0
- package/src/features/document/augmentations.js +0 -0
- package/src/features/document/body-always-on.d.ts +36 -0
- package/src/features/document/body-always-on.js +66 -0
- package/src/features/document/body-blocks.d.ts +7 -0
- package/src/features/document/body-blocks.js +78 -0
- package/src/features/document/body-item-adapters.d.ts +62 -0
- package/src/features/document/body-item-adapters.js +97 -0
- package/src/features/document/body-item-collection.d.ts +151 -0
- package/src/features/document/body-item-collection.js +440 -0
- package/src/features/document/body-item.d.ts +35 -0
- package/src/features/document/body-item.js +8 -0
- package/src/features/document/body.d.ts +150 -0
- package/src/features/document/body.js +263 -0
- package/src/features/document/character-format.d.ts +413 -0
- package/src/features/document/character-format.js +2054 -0
- package/src/features/document/color.d.ts +178 -0
- package/src/features/document/color.js +495 -0
- package/src/features/document/document.d.ts +410 -0
- package/src/features/document/document.js +1049 -0
- package/src/features/document/element-type.d.ts +68 -0
- package/src/features/document/element-type.js +133 -0
- package/src/features/document/entity-type.d.ts +92 -0
- package/src/features/document/entity-type.js +93 -0
- package/src/features/document/feature-block.d.ts +16 -0
- package/src/features/document/feature-block.js +0 -0
- package/src/features/document/feature-inline.d.ts +13 -0
- package/src/features/document/feature-inline.js +0 -0
- package/src/features/document/feature-multi-package-part.d.ts +19 -0
- package/src/features/document/feature-multi-package-part.js +8 -0
- package/src/features/document/feature-package-level-part.d.ts +18 -0
- package/src/features/document/feature-package-level-part.js +8 -0
- package/src/features/document/feature-package-part.d.ts +14 -0
- package/src/features/document/feature-package-part.js +0 -0
- package/src/features/document/feature-run-leaf.d.ts +9 -0
- package/src/features/document/feature-run-leaf.js +0 -0
- package/src/features/document/headers-footers.d.ts +206 -0
- package/src/features/document/headers-footers.js +384 -0
- package/src/features/document/index.d.ts +41 -0
- package/src/features/document/index.js +34 -0
- package/src/features/document/length.d.ts +152 -0
- package/src/features/document/length.js +245 -0
- package/src/features/document/load-options.d.ts +14 -0
- package/src/features/document/load-options.js +0 -0
- package/src/features/document/locale-ids.d.ts +227 -0
- package/src/features/document/locale-ids.js +485 -0
- package/src/features/document/on-off.d.ts +9 -0
- package/src/features/document/on-off.js +27 -0
- package/src/features/document/page-setup.d.ts +339 -0
- package/src/features/document/page-setup.js +244 -0
- package/src/features/document/paragraph-format.d.ts +880 -0
- package/src/features/document/paragraph-format.js +2807 -0
- package/src/features/document/paragraph-item-collection.d.ts +162 -0
- package/src/features/document/paragraph-item-collection.js +363 -0
- package/src/features/document/paragraph-item.d.ts +83 -0
- package/src/features/document/paragraph-item.js +103 -0
- package/src/features/document/paragraph.d.ts +435 -0
- package/src/features/document/paragraph.js +888 -0
- package/src/features/document/run.d.ts +1 -0
- package/src/features/document/run.js +768 -0
- package/src/features/document/section-partition-flatten.d.ts +124 -0
- package/src/features/document/section-partition-flatten.js +217 -0
- package/src/features/document/section-properties-model.d.ts +13 -0
- package/src/features/document/section-properties-model.js +0 -0
- package/src/features/document/section.d.ts +93 -0
- package/src/features/document/section.js +178 -0
- package/src/features/document/sections.d.ts +103 -0
- package/src/features/document/sections.js +217 -0
- package/src/features/document/sub-super-script.d.ts +23 -0
- package/src/features/document/sub-super-script.js +43 -0
- package/src/features/document/text-range.d.ts +445 -0
- package/src/features/document/text-range.js +1156 -0
- package/src/features/document/typed-body-collections.d.ts +162 -0
- package/src/features/document/typed-body-collections.js +371 -0
- package/src/features/document/underline-style.d.ts +38 -0
- package/src/features/document/underline-style.js +126 -0
- package/src/features/document/units.d.ts +8 -0
- package/src/features/document/units.js +7 -0
- package/src/features/document/wml.d.ts +16 -0
- package/src/features/document/wml.js +67 -0
- package/src/features/drawing/authoring.d.ts +27 -0
- package/src/features/drawing/authoring.js +271 -0
- package/src/features/drawing/body-pr.d.ts +271 -0
- package/src/features/drawing/body-pr.js +663 -0
- package/src/features/drawing/drawing-shape.d.ts +1192 -0
- package/src/features/drawing/drawing-shape.js +3239 -0
- package/src/features/drawing/encode-builders.d.ts +176 -0
- package/src/features/drawing/encode-builders.js +390 -0
- package/src/features/drawing/fill-format.d.ts +52 -0
- package/src/features/drawing/fill-format.js +124 -0
- package/src/features/drawing/host-codec.d.ts +632 -0
- package/src/features/drawing/host-codec.js +2595 -0
- package/src/features/drawing/index.d.ts +13 -0
- package/src/features/drawing/index.js +33 -0
- package/src/features/drawing/line-format.d.ts +76 -0
- package/src/features/drawing/line-format.js +343 -0
- package/src/features/drawing/parse-register.d.ts +50 -0
- package/src/features/drawing/parse-register.js +257 -0
- package/src/features/drawing/residual-utils.d.ts +47 -0
- package/src/features/drawing/residual-utils.js +290 -0
- package/src/features/drawing/shape-types.d.ts +433 -0
- package/src/features/drawing/shape-types.js +437 -0
- package/src/features/drawing/sp-pr.d.ts +396 -0
- package/src/features/drawing/sp-pr.js +610 -0
- package/src/features/drawing/text-frame.d.ts +90 -0
- package/src/features/drawing/text-frame.js +152 -0
- package/src/features/drawing/types.d.ts +352 -0
- package/src/features/drawing/types.js +60 -0
- package/src/features/drawing/wrap-format.d.ts +62 -0
- package/src/features/drawing/wrap-format.js +114 -0
- package/src/features/editable-ranges/index.d.ts +494 -0
- package/src/features/editable-ranges/index.js +1348 -0
- package/src/features/fields/index.d.ts +428 -0
- package/src/features/fields/index.js +2148 -0
- package/src/features/fields/paragraph-field.d.ts +187 -0
- package/src/features/fields/paragraph-field.js +692 -0
- package/src/features/font-table/font-substitution-table.d.ts +75 -0
- package/src/features/font-table/font-substitution-table.js +257 -0
- package/src/features/font-table/font-table-entry.d.ts +255 -0
- package/src/features/font-table/font-table-entry.js +823 -0
- package/src/features/font-table/font-table.d.ts +128 -0
- package/src/features/font-table/font-table.js +313 -0
- package/src/features/font-table/index.d.ts +27 -0
- package/src/features/font-table/index.js +48 -0
- package/src/features/glossary/index.d.ts +97 -0
- package/src/features/glossary/index.js +286 -0
- package/src/features/headers-footers/index.d.ts +506 -0
- package/src/features/headers-footers/index.js +1666 -0
- package/src/features/hyperlinks/index.d.ts +230 -0
- package/src/features/hyperlinks/index.js +685 -0
- package/src/features/images/caption-authoring-api.d.ts +33 -0
- package/src/features/images/caption-authoring-api.js +33 -0
- package/src/features/images/caption-enums.d.ts +52 -0
- package/src/features/images/caption-enums.js +141 -0
- package/src/features/images/caption-host.d.ts +10 -0
- package/src/features/images/caption-host.js +21 -0
- package/src/features/images/captions.d.ts +13 -0
- package/src/features/images/captions.js +142 -0
- package/src/features/images/host-codec.d.ts +103 -0
- package/src/features/images/host-codec.js +720 -0
- package/src/features/images/image-sniff.d.ts +21 -0
- package/src/features/images/image-sniff.js +71 -0
- package/src/features/images/index.d.ts +506 -0
- package/src/features/images/index.js +1429 -0
- package/src/features/images/layout-types.d.ts +232 -0
- package/src/features/images/layout-types.js +294 -0
- package/src/features/images/public-entry.d.ts +9 -0
- package/src/features/images/public-entry.js +9 -0
- package/src/features/index.d.ts +35 -0
- package/src/features/index.js +36 -0
- package/src/features/mail-merge/index.d.ts +113 -0
- package/src/features/mail-merge/index.js +315 -0
- package/src/features/notes/index.d.ts +573 -0
- package/src/features/notes/index.js +1725 -0
- package/src/features/numbering/abstract-numbering.d.ts +90 -0
- package/src/features/numbering/abstract-numbering.js +292 -0
- package/src/features/numbering/index.d.ts +182 -0
- package/src/features/numbering/index.js +668 -0
- package/src/features/numbering/list-format.d.ts +158 -0
- package/src/features/numbering/list-format.js +590 -0
- package/src/features/numbering/list-string.d.ts +7 -0
- package/src/features/numbering/list-string.js +423 -0
- package/src/features/numbering/list-style.d.ts +204 -0
- package/src/features/numbering/list-style.js +1084 -0
- package/src/features/numbering/numbering-instance.d.ts +101 -0
- package/src/features/numbering/numbering-instance.js +329 -0
- package/src/features/numbering/numbering-level.d.ts +118 -0
- package/src/features/numbering/numbering-level.js +501 -0
- package/src/features/numbering/picture-bullet.d.ts +34 -0
- package/src/features/numbering/picture-bullet.js +88 -0
- package/src/features/ole-object/catalog.d.ts +300 -0
- package/src/features/ole-object/catalog.js +908 -0
- package/src/features/ole-object/index.d.ts +526 -0
- package/src/features/ole-object/index.js +1421 -0
- package/src/features/ole-object/relationship.d.ts +27 -0
- package/src/features/ole-object/relationship.js +27 -0
- package/src/features/ole-object/typed-dom.d.ts +186 -0
- package/src/features/ole-object/typed-dom.js +595 -0
- package/src/features/properties/index.d.ts +205 -0
- package/src/features/properties/index.js +549 -0
- package/src/features/revisions/index.d.ts +204 -0
- package/src/features/revisions/index.js +695 -0
- package/src/features/sections/column-collection.d.ts +119 -0
- package/src/features/sections/column-collection.js +478 -0
- package/src/features/sections/column.d.ts +15 -0
- package/src/features/sections/column.js +37 -0
- package/src/features/sections/index.d.ts +91 -0
- package/src/features/sections/index.js +1096 -0
- package/src/features/sections/margins.d.ts +40 -0
- package/src/features/sections/margins.js +105 -0
- package/src/features/sections/page-number-style.d.ts +21 -0
- package/src/features/sections/page-number-style.js +62 -0
- package/src/features/sections/page-orientation.d.ts +10 -0
- package/src/features/sections/page-orientation.js +10 -0
- package/src/features/sections/page-setup.d.ts +435 -0
- package/src/features/sections/page-setup.js +1479 -0
- package/src/features/sections/page-size.d.ts +59 -0
- package/src/features/sections/page-size.js +68 -0
- package/src/features/sections/section-break-code.d.ts +27 -0
- package/src/features/sections/section-break-code.js +60 -0
- package/src/features/sections/section-document-association.d.ts +18 -0
- package/src/features/sections/section-document-association.js +31 -0
- package/src/features/sections/section-validation.d.ts +43 -0
- package/src/features/sections/section-validation.js +97 -0
- package/src/features/settings/attached-template.d.ts +35 -0
- package/src/features/settings/attached-template.js +98 -0
- package/src/features/settings/compat-settings.d.ts +216 -0
- package/src/features/settings/compat-settings.js +508 -0
- package/src/features/settings/document-background.d.ts +59 -0
- package/src/features/settings/document-background.js +131 -0
- package/src/features/settings/document-protection.d.ts +65 -0
- package/src/features/settings/document-protection.js +157 -0
- package/src/features/settings/document-settings-facades.d.ts +108 -0
- package/src/features/settings/document-settings-facades.js +312 -0
- package/src/features/settings/document-settings-values.d.ts +43 -0
- package/src/features/settings/document-settings-values.js +60 -0
- package/src/features/settings/footnote-properties.d.ts +211 -0
- package/src/features/settings/footnote-properties.js +591 -0
- package/src/features/settings/index.d.ts +356 -0
- package/src/features/settings/index.js +829 -0
- package/src/features/settings/settings-children.d.ts +151 -0
- package/src/features/settings/settings-children.js +505 -0
- package/src/features/settings/web-settings.d.ts +88 -0
- package/src/features/settings/web-settings.js +227 -0
- package/src/features/settings/zoom.d.ts +79 -0
- package/src/features/settings/zoom.js +147 -0
- package/src/features/styles/builtin-catalog.d.ts +159 -0
- package/src/features/styles/builtin-catalog.js +963 -0
- package/src/features/styles/builtin-resolver.d.ts +49 -0
- package/src/features/styles/builtin-resolver.js +165 -0
- package/src/features/styles/default-styles.d.ts +37 -0
- package/src/features/styles/default-styles.js +186 -0
- package/src/features/styles/default-theme.d.ts +13 -0
- package/src/features/styles/default-theme.js +13 -0
- package/src/features/styles/doc-defaults.d.ts +58 -0
- package/src/features/styles/doc-defaults.js +178 -0
- package/src/features/styles/formatting-resolver.d.ts +27 -0
- package/src/features/styles/formatting-resolver.js +72 -0
- package/src/features/styles/index.d.ts +256 -0
- package/src/features/styles/index.js +1325 -0
- package/src/features/styles/latent-styles.d.ts +68 -0
- package/src/features/styles/latent-styles.js +305 -0
- package/src/features/styles/paragraph-properties.d.ts +71 -0
- package/src/features/styles/paragraph-properties.js +237 -0
- package/src/features/styles/run-properties.d.ts +93 -0
- package/src/features/styles/run-properties.js +516 -0
- package/src/features/styles/style-base.d.ts +402 -0
- package/src/features/styles/style-base.js +1026 -0
- package/src/features/styles/style-collection.d.ts +264 -0
- package/src/features/styles/style-collection.js +714 -0
- package/src/features/styles/style-format-bridge.d.ts +64 -0
- package/src/features/styles/style-format-bridge.js +100 -0
- package/src/features/styles/style.d.ts +84 -0
- package/src/features/styles/style.js +375 -0
- package/src/features/styles/styles-with-effects.d.ts +71 -0
- package/src/features/styles/styles-with-effects.js +180 -0
- package/src/features/styles/table-style.d.ts +272 -0
- package/src/features/styles/table-style.js +1226 -0
- package/src/features/styles/theme.d.ts +126 -0
- package/src/features/styles/theme.js +377 -0
- package/src/features/tables/border-style-map.d.ts +24 -0
- package/src/features/tables/border-style-map.js +81 -0
- package/src/features/tables/borders.d.ts +126 -0
- package/src/features/tables/borders.js +527 -0
- package/src/features/tables/collections.d.ts +113 -0
- package/src/features/tables/collections.js +261 -0
- package/src/features/tables/format.d.ts +208 -0
- package/src/features/tables/format.js +716 -0
- package/src/features/tables/index.d.ts +597 -0
- package/src/features/tables/index.js +2386 -0
- package/src/features/tables/paddings.d.ts +41 -0
- package/src/features/tables/paddings.js +97 -0
- package/src/features/tables/tbl-pr-positioning.d.ts +27 -0
- package/src/features/tables/tbl-pr-positioning.js +178 -0
- package/src/features/tables/tbl-pr.d.ts +528 -0
- package/src/features/tables/tbl-pr.js +1208 -0
- package/src/features/tables/tc-pr.d.ts +168 -0
- package/src/features/tables/tc-pr.js +553 -0
- package/src/features/tables/tr-pr.d.ts +60 -0
- package/src/features/tables/tr-pr.js +215 -0
- package/src/features/watermark/detect.d.ts +76 -0
- package/src/features/watermark/detect.js +219 -0
- package/src/features/watermark/index.d.ts +28 -0
- package/src/features/watermark/index.js +91 -0
- package/src/features/watermark/logical-store.d.ts +29 -0
- package/src/features/watermark/logical-store.js +31 -0
- package/src/features/watermark/model.d.ts +285 -0
- package/src/features/watermark/model.js +597 -0
- package/src/features/watermark/parse.d.ts +84 -0
- package/src/features/watermark/parse.js +815 -0
- package/src/features/watermark/serialize.d.ts +98 -0
- package/src/features/watermark/serialize.js +1517 -0
- package/src/global.js +1 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +2 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Legacy units barrel (package-private). Public APIs use plain point numbers.
|
|
3
|
+
* or `./length`. Multi-unit constructors are package-private.
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*/
|
|
7
|
+
export { pointToEmus, pointToHalfPoints, pointToTwips, twipsToPoint, emuToPoint, halfPointsToPoint, addPoints, scalePoint, lengthToEmus, lengthToHalfPoints, halfPoints, emus, LengthUnits, Pt, Inches, Cm, Mm, Px, Twips, Emu, add, scale, inchesToPoint, cmToPoint, mmToPoint, pxToPoint } from './length';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OpenXmlAttribute, OpenXmlChild, OpenXmlElement } from '../../core/xml/index';
|
|
2
|
+
export declare const WML = "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
|
|
3
|
+
/** True when the URI is Transitional or Strict WordprocessingML. */
|
|
4
|
+
export declare function isWmlNamespace(namespaceUri: string): boolean;
|
|
5
|
+
export declare function isWml(el: OpenXmlElement, localName: string): boolean;
|
|
6
|
+
export declare function elementChildren(el: OpenXmlElement): ReadonlyArray<OpenXmlElement>;
|
|
7
|
+
export declare function textContent(el: OpenXmlElement): string;
|
|
8
|
+
export declare function wmlAttr(localName: string, value: string): OpenXmlAttribute;
|
|
9
|
+
export declare function xmlSpacePreserve(): OpenXmlAttribute;
|
|
10
|
+
export declare function wmlElement(localName: string, options?: {
|
|
11
|
+
readonly attributes?: ReadonlyArray<OpenXmlAttribute>;
|
|
12
|
+
readonly children?: ReadonlyArray<OpenXmlChild>;
|
|
13
|
+
readonly namespaceDeclarations?: OpenXmlElement['namespaceDeclarations'];
|
|
14
|
+
}): OpenXmlElement;
|
|
15
|
+
export declare function wValAttribute(el: OpenXmlElement): string | undefined;
|
|
16
|
+
export declare function xmlSpaceIsPreserve(el: OpenXmlElement): boolean;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
var __values = (this && this.__values) || function (o) {
|
|
2
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
|
|
3
|
+
if (m) return m.call(o);
|
|
4
|
+
return {
|
|
5
|
+
next: function () {
|
|
6
|
+
if (o && i >= o.length) o = void 0;
|
|
7
|
+
return { value: o && o[i++], done: !o };
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
import { WML_STRICT_NAMESPACE, WML_TRANSITIONAL_NAMESPACE, XML_NAMESPACE } from '../../core/xml/index';
|
|
12
|
+
export var WML = WML_TRANSITIONAL_NAMESPACE;
|
|
13
|
+
/** True when the URI is Transitional or Strict WordprocessingML. */
|
|
14
|
+
export function isWmlNamespace(namespaceUri) {
|
|
15
|
+
return namespaceUri === WML_TRANSITIONAL_NAMESPACE || namespaceUri === WML_STRICT_NAMESPACE;
|
|
16
|
+
}
|
|
17
|
+
export function isWml(el, localName) {
|
|
18
|
+
return isWmlNamespace(el.namespaceUri) && el.localName === localName;
|
|
19
|
+
}
|
|
20
|
+
export function elementChildren(el) {
|
|
21
|
+
return el.children.filter(function (c) { return c.kind === 'element'; });
|
|
22
|
+
}
|
|
23
|
+
export function textContent(el) {
|
|
24
|
+
var e_1, _a;
|
|
25
|
+
var out = '';
|
|
26
|
+
try {
|
|
27
|
+
for (var _b = __values(el.children), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
28
|
+
var child = _c.value;
|
|
29
|
+
if (child.kind === 'text') {
|
|
30
|
+
out += child.value;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
35
|
+
finally {
|
|
36
|
+
try {
|
|
37
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
38
|
+
}
|
|
39
|
+
finally { if (e_1) throw e_1.error; }
|
|
40
|
+
}
|
|
41
|
+
return out;
|
|
42
|
+
}
|
|
43
|
+
export function wmlAttr(localName, value) {
|
|
44
|
+
return { namespaceUri: WML, localName: localName, prefix: 'w', value: value };
|
|
45
|
+
}
|
|
46
|
+
export function xmlSpacePreserve() {
|
|
47
|
+
return { namespaceUri: XML_NAMESPACE, localName: 'space', prefix: 'xml', value: 'preserve' };
|
|
48
|
+
}
|
|
49
|
+
export function wmlElement(localName, options) {
|
|
50
|
+
var __ts33_0, __ts33_1, __ts33_2;
|
|
51
|
+
return {
|
|
52
|
+
kind: 'element',
|
|
53
|
+
namespaceUri: WML,
|
|
54
|
+
localName: localName,
|
|
55
|
+
prefix: 'w',
|
|
56
|
+
attributes: ((__ts33_0 = options == null ? undefined : options.attributes), __ts33_0 != null ? __ts33_0 : []),
|
|
57
|
+
namespaceDeclarations: ((__ts33_1 = options == null ? undefined : options.namespaceDeclarations), __ts33_1 != null ? __ts33_1 : []),
|
|
58
|
+
children: ((__ts33_2 = options == null ? undefined : options.children), __ts33_2 != null ? __ts33_2 : []),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export function wValAttribute(el) {
|
|
62
|
+
var found = el.attributes.find(function (a) { return a.localName === 'val' && (isWmlNamespace(a.namespaceUri) || a.namespaceUri === ''); });
|
|
63
|
+
return found == null ? undefined : found.value;
|
|
64
|
+
}
|
|
65
|
+
export function xmlSpaceIsPreserve(el) {
|
|
66
|
+
return el.attributes.some(function (a) { return a.localName === 'space' && a.namespaceUri === XML_NAMESPACE && a.value === 'preserve'; });
|
|
67
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Paragraph } from '../document/paragraph';
|
|
2
|
+
import { AutoShapeType } from './shape-types';
|
|
3
|
+
import { GroupOptions } from './types';
|
|
4
|
+
import { GroupShape, Shape } from './drawing-shape';
|
|
5
|
+
/**
|
|
6
|
+
* Append a preset-geometry drawing shape as a dual MC run leaf (Policy B).
|
|
7
|
+
*
|
|
8
|
+
* Defaults follow Shape.md section 2 (anchor, wrap none, side distances =
|
|
9
|
+
* package anchor default, default solid fill White, default solid black 1 pt
|
|
10
|
+
* outline, no modeled text box until text body is accessed).
|
|
11
|
+
*
|
|
12
|
+
* @throws DocxError `content/invalid-shape` when geometry or size is invalid.
|
|
13
|
+
*
|
|
14
|
+
* @private
|
|
15
|
+
*/
|
|
16
|
+
export declare function appendShapeToParagraph(paragraph: Paragraph, autoShapeType: AutoShapeType, width: number, height: number): Shape;
|
|
17
|
+
/**
|
|
18
|
+
* Append an empty wordprocessing group as dual MC run leaf (Choice `wpg` +
|
|
19
|
+
* Fallback VML). Nested children are authored via {@link GroupShape.appendShape}
|
|
20
|
+
* on the returned group. Default placement is `wp:anchor`.
|
|
21
|
+
*
|
|
22
|
+
* @throws DocxError `content/invalid-shape` when size is invalid.
|
|
23
|
+
* @throws RangeError when wrap/position enums are not known schema tokens.
|
|
24
|
+
*
|
|
25
|
+
* @private
|
|
26
|
+
*/
|
|
27
|
+
export declare function appendGroupToParagraph(paragraph: Paragraph, options: GroupOptions): GroupShape;
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Drawing authoring APIs (`appendShape` / `appendGroup`).
|
|
3
|
+
*
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
import { pointToEmus, pointToCoordinateEmus, emuToPoint } from '../document/length';
|
|
7
|
+
import { DocxError } from '../../core/errors/docx-error';
|
|
8
|
+
import { assertEnumMember, HORIZONTAL_ALIGNMENT_SET, HORIZONTAL_ORIGIN_SET, TEXT_WRAPPING_STYLE_SET, TextWrappingStyle, VERTICAL_ALIGNMENT_SET, VERTICAL_ORIGIN_SET } from '../images/layout-types';
|
|
9
|
+
import { encodeAuthoredDrawingShape, encodeAuthoredGroup } from './host-codec';
|
|
10
|
+
import { isPresetAutoShapeType } from './shape-types';
|
|
11
|
+
import { ANCHOR_DEFAULT_SIDE_DIST_EMU, DRAWING } from './types';
|
|
12
|
+
import { GroupShape, Shape } from './drawing-shape';
|
|
13
|
+
import { drawingShapeInit, encodeDrawingShapeInput, encodeGroupInput, modeledFillForEncode, modeledLineForEncode } from './encode-builders';
|
|
14
|
+
import { defaultAuthoredShapeFill } from './fill-format';
|
|
15
|
+
import { defaultAuthoredShapeLine } from './line-format';
|
|
16
|
+
import { allocateDocPrId } from './parse-register';
|
|
17
|
+
var ANCHOR_DEFAULT_SIDE_DIST_POINTS = emuToPoint(ANCHOR_DEFAULT_SIDE_DIST_EMU);
|
|
18
|
+
/**
|
|
19
|
+
* Append a preset-geometry drawing shape as a dual MC run leaf (Policy B).
|
|
20
|
+
*
|
|
21
|
+
* Defaults follow Shape.md section 2 (anchor, wrap none, side distances =
|
|
22
|
+
* package anchor default, default solid fill White, default solid black 1 pt
|
|
23
|
+
* outline, no modeled text box until text body is accessed).
|
|
24
|
+
*
|
|
25
|
+
* @throws DocxError `content/invalid-shape` when geometry or size is invalid.
|
|
26
|
+
*
|
|
27
|
+
* @private
|
|
28
|
+
*/
|
|
29
|
+
export function appendShapeToParagraph(paragraph, autoShapeType, width, height) {
|
|
30
|
+
if (!isPresetAutoShapeType(autoShapeType)) {
|
|
31
|
+
throw new DocxError('content/invalid-shape', "Invalid autoShapeType \"" + String(autoShapeType) + "\"; expected a preset AutoShapeType token");
|
|
32
|
+
}
|
|
33
|
+
var widthEmu;
|
|
34
|
+
var heightEmu;
|
|
35
|
+
try {
|
|
36
|
+
widthEmu = pointToEmus(width);
|
|
37
|
+
heightEmu = pointToEmus(height);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
if (error instanceof RangeError) {
|
|
41
|
+
throw new DocxError('content/invalid-shape', 'Shape width and height must be positive point values', { cause: error });
|
|
42
|
+
}
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
if (!(widthEmu > 0) || !(heightEmu > 0)) {
|
|
46
|
+
throw new DocxError('content/invalid-shape', 'Shape width and height must be positive point values');
|
|
47
|
+
}
|
|
48
|
+
var placement = 'anchor';
|
|
49
|
+
var wrapping = TextWrappingStyle.None;
|
|
50
|
+
var docPrId = allocateDocPrId(paragraph);
|
|
51
|
+
var name = 'Shape';
|
|
52
|
+
var rotation = 0;
|
|
53
|
+
var lockAspectRatio = true;
|
|
54
|
+
var flipHorizontal = false;
|
|
55
|
+
var flipVertical = false;
|
|
56
|
+
var distanceTop = 0;
|
|
57
|
+
var distanceBottom = 0;
|
|
58
|
+
var distanceLeft = ANCHOR_DEFAULT_SIDE_DIST_POINTS;
|
|
59
|
+
var distanceRight = ANCHOR_DEFAULT_SIDE_DIST_POINTS;
|
|
60
|
+
var behindDocument = false;
|
|
61
|
+
var lockAnchor = false;
|
|
62
|
+
var allowOverlap = true;
|
|
63
|
+
var layoutInCell = true;
|
|
64
|
+
var defaultFill = defaultAuthoredShapeFill();
|
|
65
|
+
var defaultLine = defaultAuthoredShapeLine();
|
|
66
|
+
var encodeFill = modeledFillForEncode(defaultFill);
|
|
67
|
+
var encodeLine = modeledLineForEncode(defaultLine);
|
|
68
|
+
var residual = encodeAuthoredDrawingShape(encodeDrawingShapeInput({
|
|
69
|
+
placement: placement,
|
|
70
|
+
widthEmu: widthEmu,
|
|
71
|
+
heightEmu: heightEmu,
|
|
72
|
+
presetGeometry: autoShapeType,
|
|
73
|
+
docPrId: docPrId,
|
|
74
|
+
name: name,
|
|
75
|
+
title: undefined,
|
|
76
|
+
description: undefined,
|
|
77
|
+
rotation: rotation,
|
|
78
|
+
flipHorizontal: flipHorizontal,
|
|
79
|
+
flipVertical: flipVertical,
|
|
80
|
+
lockAspectRatio: lockAspectRatio,
|
|
81
|
+
wrapping: wrapping,
|
|
82
|
+
distanceTopEmu: pointToCoordinateEmus(distanceTop),
|
|
83
|
+
distanceBottomEmu: pointToCoordinateEmus(distanceBottom),
|
|
84
|
+
distanceLeftEmu: ANCHOR_DEFAULT_SIDE_DIST_EMU,
|
|
85
|
+
distanceRightEmu: ANCHOR_DEFAULT_SIDE_DIST_EMU,
|
|
86
|
+
behindDocument: behindDocument,
|
|
87
|
+
lockAnchor: lockAnchor,
|
|
88
|
+
allowOverlap: allowOverlap,
|
|
89
|
+
layoutInCell: layoutInCell,
|
|
90
|
+
layoutDirty: true,
|
|
91
|
+
txbxContent: undefined,
|
|
92
|
+
bodyPr: undefined,
|
|
93
|
+
fill: encodeFill,
|
|
94
|
+
line: encodeLine,
|
|
95
|
+
}));
|
|
96
|
+
var shape = new Shape(drawingShapeInit({
|
|
97
|
+
encoding: 'drawingml',
|
|
98
|
+
residual: residual,
|
|
99
|
+
dirty: 'structure',
|
|
100
|
+
name: name,
|
|
101
|
+
title: undefined,
|
|
102
|
+
description: undefined,
|
|
103
|
+
docPrId: docPrId,
|
|
104
|
+
placement: placement,
|
|
105
|
+
width: width,
|
|
106
|
+
height: height,
|
|
107
|
+
presetGeometry: autoShapeType,
|
|
108
|
+
rotation: rotation,
|
|
109
|
+
lockAspectRatio: lockAspectRatio,
|
|
110
|
+
flipHorizontal: flipHorizontal,
|
|
111
|
+
flipVertical: flipVertical,
|
|
112
|
+
wrapping: wrapping,
|
|
113
|
+
distanceTop: distanceTop,
|
|
114
|
+
distanceBottom: distanceBottom,
|
|
115
|
+
distanceLeft: distanceLeft,
|
|
116
|
+
distanceRight: distanceRight,
|
|
117
|
+
behindDocument: behindDocument,
|
|
118
|
+
lockAnchor: lockAnchor,
|
|
119
|
+
allowOverlap: allowOverlap,
|
|
120
|
+
layoutInCell: layoutInCell,
|
|
121
|
+
txbxContent: undefined,
|
|
122
|
+
bodyPrElement: undefined,
|
|
123
|
+
fill: defaultFill,
|
|
124
|
+
line: defaultLine,
|
|
125
|
+
}));
|
|
126
|
+
paragraph.appendFeatureRunItem(DRAWING, shape);
|
|
127
|
+
shape.bindAnchoringParagraph(paragraph);
|
|
128
|
+
return shape;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Append an empty wordprocessing group as dual MC run leaf (Choice `wpg` +
|
|
132
|
+
* Fallback VML). Nested children are authored via {@link GroupShape.appendShape}
|
|
133
|
+
* on the returned group. Default placement is `wp:anchor`.
|
|
134
|
+
*
|
|
135
|
+
* @throws DocxError `content/invalid-shape` when size is invalid.
|
|
136
|
+
* @throws RangeError when wrap/position enums are not known schema tokens.
|
|
137
|
+
*
|
|
138
|
+
* @private
|
|
139
|
+
*/
|
|
140
|
+
export function appendGroupToParagraph(paragraph, options) {
|
|
141
|
+
var widthEmu;
|
|
142
|
+
var heightEmu;
|
|
143
|
+
try {
|
|
144
|
+
widthEmu = pointToEmus(options.width);
|
|
145
|
+
heightEmu = pointToEmus(options.height);
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
if (error instanceof RangeError) {
|
|
149
|
+
throw new DocxError('content/invalid-shape', 'Group width and height must be positive point values', { cause: error });
|
|
150
|
+
}
|
|
151
|
+
throw error;
|
|
152
|
+
}
|
|
153
|
+
if (!(widthEmu > 0) || !(heightEmu > 0)) {
|
|
154
|
+
throw new DocxError('content/invalid-shape', 'Group width and height must be positive point values');
|
|
155
|
+
}
|
|
156
|
+
var placementRaw = options.placement != null ? options.placement : 'anchor';
|
|
157
|
+
if (placementRaw !== 'inline' && placementRaw !== 'anchor') {
|
|
158
|
+
throw new DocxError('content/invalid-shape', "Invalid placement \"" + placementRaw + "\"; expected 'inline' or 'anchor'");
|
|
159
|
+
}
|
|
160
|
+
var placement = placementRaw;
|
|
161
|
+
var wrapping = options.wrappingStyle;
|
|
162
|
+
if (wrapping !== undefined) {
|
|
163
|
+
assertEnumMember('wrappingStyle', wrapping, TEXT_WRAPPING_STYLE_SET);
|
|
164
|
+
placement = wrapping === TextWrappingStyle.Inline ? 'inline' : 'anchor';
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
wrapping = placement === 'inline' ? TextWrappingStyle.Inline : TextWrappingStyle.None;
|
|
168
|
+
}
|
|
169
|
+
var docPrId = allocateDocPrId(paragraph);
|
|
170
|
+
var name = options.name != null ? options.name : 'Group';
|
|
171
|
+
var rotation = options.rotation != null ? options.rotation : 0;
|
|
172
|
+
if (!Number.isFinite(rotation)) {
|
|
173
|
+
throw new DocxError('content/invalid-shape', 'Group rotation must be a finite number of degrees');
|
|
174
|
+
}
|
|
175
|
+
var lockAspectRatio = options.lockAspectRatio != null ? options.lockAspectRatio : true;
|
|
176
|
+
var flipHorizontal = options.flipHorizontal != null ? options.flipHorizontal : false;
|
|
177
|
+
var flipVertical = options.flipVertical != null ? options.flipVertical : false;
|
|
178
|
+
var distanceTopEmu = options.distanceTop !== undefined ? pointToCoordinateEmus(options.distanceTop) : undefined;
|
|
179
|
+
var distanceBottomEmu = options.distanceBottom !== undefined ? pointToCoordinateEmus(options.distanceBottom) : undefined;
|
|
180
|
+
var distanceLeftEmu = options.distanceLeft !== undefined ? pointToCoordinateEmus(options.distanceLeft) : undefined;
|
|
181
|
+
var distanceRightEmu = options.distanceRight !== undefined ? pointToCoordinateEmus(options.distanceRight) : undefined;
|
|
182
|
+
var behindDocument = options.behindDocument;
|
|
183
|
+
var horizontalOrigin = options.horizontalOrigin;
|
|
184
|
+
var verticalOrigin = options.verticalOrigin;
|
|
185
|
+
var horizontalPositionEmu = options.horizontalPosition !== undefined ? pointToCoordinateEmus(options.horizontalPosition) : undefined;
|
|
186
|
+
var verticalPositionEmu = options.verticalPosition !== undefined ? pointToCoordinateEmus(options.verticalPosition) : undefined;
|
|
187
|
+
var horizontalAlignment = options.horizontalAlignment;
|
|
188
|
+
var verticalAlignment = options.verticalAlignment;
|
|
189
|
+
if (horizontalAlignment !== undefined) {
|
|
190
|
+
assertEnumMember('horizontalAlignment', horizontalAlignment, HORIZONTAL_ALIGNMENT_SET);
|
|
191
|
+
}
|
|
192
|
+
if (verticalAlignment !== undefined) {
|
|
193
|
+
assertEnumMember('verticalAlignment', verticalAlignment, VERTICAL_ALIGNMENT_SET);
|
|
194
|
+
}
|
|
195
|
+
if (horizontalOrigin !== undefined) {
|
|
196
|
+
assertEnumMember('horizontalOrigin', horizontalOrigin, HORIZONTAL_ORIGIN_SET);
|
|
197
|
+
}
|
|
198
|
+
if (verticalOrigin !== undefined) {
|
|
199
|
+
assertEnumMember('verticalOrigin', verticalOrigin, VERTICAL_ORIGIN_SET);
|
|
200
|
+
}
|
|
201
|
+
var horizontalAlignmentFinal = options.horizontalPosition !== undefined ? undefined : horizontalAlignment;
|
|
202
|
+
var verticalAlignmentFinal = options.verticalPosition !== undefined ? undefined : verticalAlignment;
|
|
203
|
+
var lockAnchor = options.lockAnchor;
|
|
204
|
+
var allowOverlap = options.allowOverlap;
|
|
205
|
+
var layoutInCell = options.layoutInCell;
|
|
206
|
+
var residual = encodeAuthoredGroup(encodeGroupInput({
|
|
207
|
+
placement: placement,
|
|
208
|
+
widthEmu: widthEmu,
|
|
209
|
+
heightEmu: heightEmu,
|
|
210
|
+
docPrId: docPrId,
|
|
211
|
+
name: name,
|
|
212
|
+
title: options.title,
|
|
213
|
+
description: options.description,
|
|
214
|
+
rotation: rotation,
|
|
215
|
+
flipHorizontal: flipHorizontal,
|
|
216
|
+
flipVertical: flipVertical,
|
|
217
|
+
lockAspectRatio: lockAspectRatio,
|
|
218
|
+
wrapping: wrapping,
|
|
219
|
+
distanceTopEmu: distanceTopEmu,
|
|
220
|
+
distanceBottomEmu: distanceBottomEmu,
|
|
221
|
+
distanceLeftEmu: distanceLeftEmu,
|
|
222
|
+
distanceRightEmu: distanceRightEmu,
|
|
223
|
+
behindDocument: behindDocument,
|
|
224
|
+
horizontalOrigin: horizontalOrigin,
|
|
225
|
+
verticalOrigin: verticalOrigin,
|
|
226
|
+
horizontalPositionEmu: horizontalPositionEmu,
|
|
227
|
+
verticalPositionEmu: verticalPositionEmu,
|
|
228
|
+
horizontalAlignment: horizontalAlignmentFinal,
|
|
229
|
+
verticalAlignment: verticalAlignmentFinal,
|
|
230
|
+
lockAnchor: lockAnchor,
|
|
231
|
+
allowOverlap: allowOverlap,
|
|
232
|
+
layoutInCell: layoutInCell,
|
|
233
|
+
layoutDirty: true,
|
|
234
|
+
children: [],
|
|
235
|
+
}));
|
|
236
|
+
var shape = new GroupShape(drawingShapeInit({
|
|
237
|
+
encoding: 'drawingml',
|
|
238
|
+
residual: residual,
|
|
239
|
+
dirty: 'structure',
|
|
240
|
+
name: name,
|
|
241
|
+
title: options.title,
|
|
242
|
+
description: options.description,
|
|
243
|
+
docPrId: docPrId,
|
|
244
|
+
placement: placement,
|
|
245
|
+
width: options.width,
|
|
246
|
+
height: options.height,
|
|
247
|
+
rotation: rotation,
|
|
248
|
+
lockAspectRatio: lockAspectRatio,
|
|
249
|
+
flipHorizontal: flipHorizontal,
|
|
250
|
+
flipVertical: flipVertical,
|
|
251
|
+
wrapping: wrapping,
|
|
252
|
+
distanceTop: options.distanceTop,
|
|
253
|
+
distanceBottom: options.distanceBottom,
|
|
254
|
+
distanceLeft: options.distanceLeft,
|
|
255
|
+
distanceRight: options.distanceRight,
|
|
256
|
+
behindDocument: behindDocument,
|
|
257
|
+
horizontalOrigin: horizontalOrigin,
|
|
258
|
+
verticalOrigin: verticalOrigin,
|
|
259
|
+
horizontalPosition: options.horizontalPosition,
|
|
260
|
+
verticalPosition: options.verticalPosition,
|
|
261
|
+
horizontalAlignment: horizontalAlignmentFinal,
|
|
262
|
+
verticalAlignment: verticalAlignmentFinal,
|
|
263
|
+
lockAnchor: lockAnchor,
|
|
264
|
+
allowOverlap: allowOverlap,
|
|
265
|
+
layoutInCell: layoutInCell,
|
|
266
|
+
children: [],
|
|
267
|
+
}));
|
|
268
|
+
paragraph.appendFeatureRunItem(DRAWING, shape);
|
|
269
|
+
shape.bindAnchoringParagraph(paragraph);
|
|
270
|
+
return shape;
|
|
271
|
+
}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `wps:bodyPr` text-body properties codec (TASK-8049).
|
|
3
|
+
*
|
|
4
|
+
* Schema cites (transitional `dml-main.xsd` + `dml-wordprocessingDrawing.xsd`):
|
|
5
|
+
* - `CT_TextBodyProperties` attributes: `rot`, `spcFirstLastPara`,
|
|
6
|
+
* `vertOverflow` (`ST_TextVertOverflowType`), `horzOverflow`
|
|
7
|
+
* (`ST_TextHorzOverflowType`), `vert` (`ST_TextVerticalType`), `wrap`
|
|
8
|
+
* (`ST_TextWrappingType` = `none|square` only), `lIns`/`tIns`/`rIns`/`bIns`
|
|
9
|
+
* (`ST_Coordinate32` EMU), `numCol`, `spcCol`, `rtlCol`, `fromWordArt`,
|
|
10
|
+
* `anchor` (`ST_TextAnchoringType`), `anchorCtr`, `forceAA`, `upright`
|
|
11
|
+
* (default false), `compatLnSpc`
|
|
12
|
+
* - Sequence: `prstTxWarp?`, `EG_TextAutofit?` (`a:noAutofit` |
|
|
13
|
+
* `a:normAutofit` | `a:spAutoFit`), `scene3d?`, `EG_Text3D?`, `extLst?`
|
|
14
|
+
* - `CT_TextNormalAutofit`: `@fontScale` (`ST_TextFontScalePercent` 1000…100000,
|
|
15
|
+
* default 100%), `@lnSpcReduction` (default 0%)
|
|
16
|
+
* - Wire element: **`wps:bodyPr`** (type `a:CT_TextBodyProperties`); autofit
|
|
17
|
+
* children use the DrawingML `a:` namespace
|
|
18
|
+
* - `CT_WordprocessingShape` (dml-wordprocessingDrawing): after `style?` /
|
|
19
|
+
* `extLst?` / `txbx|linkedTxbx?`, **`bodyPr` minOccurs=1**
|
|
20
|
+
*
|
|
21
|
+
* Unknown attrs and residual children (`prstTxWarp`, `scene3d`, Text3D,
|
|
22
|
+
* `extLst`) stay residual — never invent OOXML.
|
|
23
|
+
*
|
|
24
|
+
* @packageDocumentation
|
|
25
|
+
*/
|
|
26
|
+
import { Emus } from '../document/length';
|
|
27
|
+
import { OpenXmlElement } from '../../core/xml/index';
|
|
28
|
+
/**
|
|
29
|
+
* DrawingML text anchoring (`ST_TextAnchoringType`).
|
|
30
|
+
*
|
|
31
|
+
* @private
|
|
32
|
+
*/
|
|
33
|
+
export declare const TEXT_ANCHORING_VALUES: string[];
|
|
34
|
+
/**
|
|
35
|
+
* DrawingML text anchoring token.
|
|
36
|
+
*
|
|
37
|
+
* @private
|
|
38
|
+
*/
|
|
39
|
+
export declare type TextAnchoring = (typeof TEXT_ANCHORING_VALUES)[number];
|
|
40
|
+
/**
|
|
41
|
+
* DrawingML vertical text overflow (`ST_TextVertOverflowType`).
|
|
42
|
+
*
|
|
43
|
+
* @private
|
|
44
|
+
*/
|
|
45
|
+
export declare const TEXT_VERT_OVERFLOW_VALUES: string[];
|
|
46
|
+
/**
|
|
47
|
+
* DrawingML vertical text overflow token.
|
|
48
|
+
*
|
|
49
|
+
* @private
|
|
50
|
+
*/
|
|
51
|
+
export declare type TextVertOverflow = (typeof TEXT_VERT_OVERFLOW_VALUES)[number];
|
|
52
|
+
/**
|
|
53
|
+
* DrawingML horizontal text overflow (`ST_TextHorzOverflowType`).
|
|
54
|
+
*
|
|
55
|
+
* @private
|
|
56
|
+
*/
|
|
57
|
+
export declare const TEXT_HORZ_OVERFLOW_VALUES: string[];
|
|
58
|
+
/**
|
|
59
|
+
* DrawingML horizontal text overflow token.
|
|
60
|
+
*
|
|
61
|
+
* @private
|
|
62
|
+
*/
|
|
63
|
+
export declare type TextHorzOverflow = (typeof TEXT_HORZ_OVERFLOW_VALUES)[number];
|
|
64
|
+
/**
|
|
65
|
+
* DrawingML text vertical type (`ST_TextVerticalType`).
|
|
66
|
+
*
|
|
67
|
+
* @private
|
|
68
|
+
*/
|
|
69
|
+
export declare const TEXT_VERTICAL_TYPE_VALUES: string[];
|
|
70
|
+
/**
|
|
71
|
+
* DrawingML text vertical type token.
|
|
72
|
+
*
|
|
73
|
+
* @private
|
|
74
|
+
*/
|
|
75
|
+
export declare type TextVerticalType = (typeof TEXT_VERTICAL_TYPE_VALUES)[number];
|
|
76
|
+
/**
|
|
77
|
+
* DrawingML text wrapping inside the shape (`ST_TextWrappingType`).
|
|
78
|
+
* Schema allows **`none` | `square` only**.
|
|
79
|
+
*
|
|
80
|
+
* @private
|
|
81
|
+
*/
|
|
82
|
+
export declare const TEXT_BODY_WRAP_VALUES: string[];
|
|
83
|
+
/**
|
|
84
|
+
* DrawingML text body wrap token (`none` | `square`).
|
|
85
|
+
*
|
|
86
|
+
* @private
|
|
87
|
+
*/
|
|
88
|
+
export declare type TextBodyWrap = (typeof TEXT_BODY_WRAP_VALUES)[number];
|
|
89
|
+
/**
|
|
90
|
+
* Autofit choice (`EG_TextAutofit`): `a:noAutofit` | `a:normAutofit` | `a:spAutoFit`.
|
|
91
|
+
*
|
|
92
|
+
* @private
|
|
93
|
+
*/
|
|
94
|
+
export declare type TextAutoFit = {
|
|
95
|
+
readonly kind: 'none';
|
|
96
|
+
} | {
|
|
97
|
+
readonly kind: 'normal';
|
|
98
|
+
readonly fontScale?: number;
|
|
99
|
+
readonly lineSpaceReduction?: number;
|
|
100
|
+
} | {
|
|
101
|
+
readonly kind: 'shape';
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Whether `value` is a schema `ST_TextAnchoringType` token.
|
|
105
|
+
*
|
|
106
|
+
* @private
|
|
107
|
+
*/
|
|
108
|
+
export declare function isTextAnchoring(value: string): value is TextAnchoring;
|
|
109
|
+
/**
|
|
110
|
+
* Whether `value` is a schema `ST_TextVertOverflowType` token.
|
|
111
|
+
*
|
|
112
|
+
* @private
|
|
113
|
+
*/
|
|
114
|
+
export declare function isTextVertOverflow(value: string): value is TextVertOverflow;
|
|
115
|
+
/**
|
|
116
|
+
* Whether `value` is a schema `ST_TextHorzOverflowType` token.
|
|
117
|
+
*
|
|
118
|
+
* @private
|
|
119
|
+
*/
|
|
120
|
+
export declare function isTextHorzOverflow(value: string): value is TextHorzOverflow;
|
|
121
|
+
/**
|
|
122
|
+
* Whether `value` is a schema `ST_TextVerticalType` token.
|
|
123
|
+
*
|
|
124
|
+
* @private
|
|
125
|
+
*/
|
|
126
|
+
export declare function isTextVerticalType(value: string): value is TextVerticalType;
|
|
127
|
+
/**
|
|
128
|
+
* Whether `value` is a schema `ST_TextWrappingType` token (`none`|`square`).
|
|
129
|
+
*
|
|
130
|
+
* @private
|
|
131
|
+
*/
|
|
132
|
+
export declare function isTextBodyWrap(value: string): value is TextBodyWrap;
|
|
133
|
+
/**
|
|
134
|
+
* Text-body insets from `wps:bodyPr` (`lIns`/`tIns`/`rIns`/`bIns`,
|
|
135
|
+
* `ST_Coordinate32`, ≥0).
|
|
136
|
+
*
|
|
137
|
+
* @private
|
|
138
|
+
*/
|
|
139
|
+
export interface BodyInsets {
|
|
140
|
+
readonly left?: number | undefined;
|
|
141
|
+
readonly top?: number | undefined;
|
|
142
|
+
readonly right?: number | undefined;
|
|
143
|
+
readonly bottom?: number | undefined;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* @private
|
|
147
|
+
* Typed MVP state read from `wps:bodyPr`.
|
|
148
|
+
* Residual `prstTxWarp` / 3D / extLst / unknown attrs are flagged, not modeled.
|
|
149
|
+
*/
|
|
150
|
+
export interface BodyPropertiesState {
|
|
151
|
+
readonly verticalAnchor: TextAnchoring | undefined;
|
|
152
|
+
readonly anchorCenter: boolean | undefined;
|
|
153
|
+
readonly textDirection: TextVerticalType | undefined;
|
|
154
|
+
readonly textWrapInside: TextBodyWrap | undefined;
|
|
155
|
+
readonly verticalOverflow: TextVertOverflow | undefined;
|
|
156
|
+
readonly horizontalOverflow: TextHorzOverflow | undefined;
|
|
157
|
+
readonly fromWordArt: boolean | undefined;
|
|
158
|
+
readonly insets: BodyInsets | undefined;
|
|
159
|
+
readonly autoFit: TextAutoFit | undefined;
|
|
160
|
+
/** `a:prstTxWarp` present — residual WordArt warp path. */
|
|
161
|
+
readonly hasPresetTextWarp: boolean;
|
|
162
|
+
/** Unknown residual children (scene3d / Text3D / extLst) or unmodeled attrs. */
|
|
163
|
+
readonly residual: boolean;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Shallow child lookup under `root` (direct element children only).
|
|
167
|
+
*
|
|
168
|
+
* @private
|
|
169
|
+
*/
|
|
170
|
+
export declare function findBodyPrChild(root: OpenXmlElement, namespaceUri: string, localName: string): OpenXmlElement | undefined;
|
|
171
|
+
/**
|
|
172
|
+
* Locate `wps:bodyPr` under a residual dual-AC drawing host.
|
|
173
|
+
*
|
|
174
|
+
* @private
|
|
175
|
+
*/
|
|
176
|
+
export declare function findBodyPrElement(residual: OpenXmlElement): OpenXmlElement | undefined;
|
|
177
|
+
/**
|
|
178
|
+
* Locate `wps:txbx` under a residual dual-AC drawing host.
|
|
179
|
+
*
|
|
180
|
+
* @private
|
|
181
|
+
*/
|
|
182
|
+
export declare function findTxbxElement(residual: OpenXmlElement): OpenXmlElement | undefined;
|
|
183
|
+
/**
|
|
184
|
+
* Locate `w:txbxContent` under a residual host (WML namespace, local `txbxContent`).
|
|
185
|
+
*
|
|
186
|
+
* @private
|
|
187
|
+
*/
|
|
188
|
+
export declare function findTxbxContentElement(residual: OpenXmlElement): OpenXmlElement | undefined;
|
|
189
|
+
/**
|
|
190
|
+
* Read `wps:bodyPr` MVP state from residual DrawingML host.
|
|
191
|
+
*
|
|
192
|
+
* Residual hosts are dual MC AlternateContent trees, so `wps:bodyPr` is
|
|
193
|
+
* located with a deep walk. Children of the found bodyPr stay shallow.
|
|
194
|
+
*
|
|
195
|
+
* Cites: `CT_TextBodyProperties` + `EG_TextAutofit` (dml-main.xsd);
|
|
196
|
+
* `CT_WordprocessingShape/bodyPr` (dml-wordprocessingDrawing.xsd).
|
|
197
|
+
*
|
|
198
|
+
* @private
|
|
199
|
+
*/
|
|
200
|
+
export declare function readBodyPropertiesState(residual: OpenXmlElement): BodyPropertiesState;
|
|
201
|
+
/**
|
|
202
|
+
* Build `wps:bodyPr` from the modeled MVP subset.
|
|
203
|
+
*
|
|
204
|
+
* Always emits the element (schema requires bodyPr on `wps:wsp`). When no
|
|
205
|
+
* modeled fields are set, emits empty `<wps:bodyPr/>`.
|
|
206
|
+
*
|
|
207
|
+
* Autofit children use the DrawingML `a:` namespace. Residual warp/3d/extLst
|
|
208
|
+
* are not re-emitted on the full structure rebuild path.
|
|
209
|
+
*
|
|
210
|
+
* @private
|
|
211
|
+
*/
|
|
212
|
+
export declare function buildBodyPrElement(state: {
|
|
213
|
+
readonly verticalAnchor?: TextAnchoring | undefined;
|
|
214
|
+
readonly anchorCenter?: boolean | undefined;
|
|
215
|
+
readonly textDirection?: TextVerticalType | undefined;
|
|
216
|
+
readonly textWrapInside?: TextBodyWrap | undefined;
|
|
217
|
+
readonly verticalOverflow?: TextVertOverflow | undefined;
|
|
218
|
+
readonly horizontalOverflow?: TextHorzOverflow | undefined;
|
|
219
|
+
readonly fromWordArt?: boolean | undefined;
|
|
220
|
+
readonly insets?: BodyInsets | undefined;
|
|
221
|
+
readonly autoFit?: TextAutoFit | undefined;
|
|
222
|
+
}): OpenXmlElement;
|
|
223
|
+
/**
|
|
224
|
+
* Whether any modeled bodyPr field is present (used by encode path to decide
|
|
225
|
+
* empty vs populated bodyPr emission — empty is still required on wsp).
|
|
226
|
+
*
|
|
227
|
+
* @private
|
|
228
|
+
*/
|
|
229
|
+
export declare function hasModeledBodyPrFields(state: {
|
|
230
|
+
readonly verticalAnchor?: TextAnchoring | undefined;
|
|
231
|
+
readonly anchorCenter?: boolean | undefined;
|
|
232
|
+
readonly textDirection?: TextVerticalType | undefined;
|
|
233
|
+
readonly textWrapInside?: TextBodyWrap | undefined;
|
|
234
|
+
readonly verticalOverflow?: TextVertOverflow | undefined;
|
|
235
|
+
readonly horizontalOverflow?: TextHorzOverflow | undefined;
|
|
236
|
+
readonly fromWordArt?: boolean | undefined;
|
|
237
|
+
readonly insets?: BodyInsets | undefined;
|
|
238
|
+
readonly autoFit?: TextAutoFit | undefined;
|
|
239
|
+
}): boolean;
|
|
240
|
+
/**
|
|
241
|
+
* @private
|
|
242
|
+
* Re-export Emus brand helper for encode callers that store inset EMUs. */
|
|
243
|
+
export declare type BodyInsetEmus = Emus;
|
|
244
|
+
/**
|
|
245
|
+
* Public text direction inside a shape text frame (`wps:bodyPr/@vert`).
|
|
246
|
+
* @public
|
|
247
|
+
*/
|
|
248
|
+
export declare const TextDirection: {
|
|
249
|
+
Horizontal: "horz";
|
|
250
|
+
Vertical: "vert";
|
|
251
|
+
Vertical270: "vert270";
|
|
252
|
+
WordArtVertical: "wordArtVert";
|
|
253
|
+
EastAsianVertical: "eaVert";
|
|
254
|
+
MongolianVertical: "mongolianVert";
|
|
255
|
+
WordArtVerticalRtl: "wordArtVertRtl";
|
|
256
|
+
};
|
|
257
|
+
/** @public */
|
|
258
|
+
export declare type TextDirection = (typeof TextDirection)[keyof typeof TextDirection];
|
|
259
|
+
/**
|
|
260
|
+
* Public vertical alignment of text inside a shape text frame (`wps:bodyPr/@anchor`).
|
|
261
|
+
* @public
|
|
262
|
+
*/
|
|
263
|
+
export declare const TextVerticalAlignment: {
|
|
264
|
+
Top: "t";
|
|
265
|
+
Center: "ctr";
|
|
266
|
+
Bottom: "b";
|
|
267
|
+
Justified: "just";
|
|
268
|
+
Distributed: "dist";
|
|
269
|
+
};
|
|
270
|
+
/** @public */
|
|
271
|
+
export declare type TextVerticalAlignment = (typeof TextVerticalAlignment)[keyof typeof TextVerticalAlignment];
|