@syncfusion/ej2-docx 0.0.0-stage → 35.1.39
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 +68 -2
- package/core.js +4 -0
- package/dist/ej2-docx.umd.min.js +2 -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 +2 -0
- package/dist/global/ej2-docx.min.js.map +1 -0
- package/dist/global/index.d.ts +5 -0
- package/features.js +4 -0
- package/index.js +4 -0
- package/license +10 -0
- package/package.json +31 -4
- 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,661 @@
|
|
|
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
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
12
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
13
|
+
if (!m) return o;
|
|
14
|
+
var i = m.call(o), r, ar = [], e;
|
|
15
|
+
try {
|
|
16
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
17
|
+
}
|
|
18
|
+
catch (error) { e = { error: error }; }
|
|
19
|
+
finally {
|
|
20
|
+
try {
|
|
21
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
22
|
+
}
|
|
23
|
+
finally { if (e) throw e.error; }
|
|
24
|
+
}
|
|
25
|
+
return ar;
|
|
26
|
+
};
|
|
27
|
+
var __spread = (this && this.__spread) || function () {
|
|
28
|
+
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
import { DocxError } from '../../core/errors/docx-error';
|
|
32
|
+
import { parseBodyBlocks, serializeBodyBlocks } from '../document/body-blocks';
|
|
33
|
+
import { FeatureInlineParagraphItem, serializeRun, TextRange, } from '../document/text-range';
|
|
34
|
+
import { elementChildren, isWml, wmlAttr, wmlElement } from '../document/wml';
|
|
35
|
+
import { partByName, relationshipsForPart } from '../../core/opc/package';
|
|
36
|
+
import { resolveInternalTarget } from '../../core/opc/part-name';
|
|
37
|
+
import { featureId, registerFeature, registerFeatureBlockHandler, registerFeatureInlineHandler, registerFeatureMultiPartHandler, } from '../../core/registry/index';
|
|
38
|
+
import { detachedBodyBlockParseContext } from '../../core/registry/block-handlers';
|
|
39
|
+
import { serializeFeatureInline, tryParseFeatureInline, } from '../../core/registry/inline-handlers';
|
|
40
|
+
import { parseXml } from '../../core/xml/index';
|
|
41
|
+
var CUSTOM_XML = featureId('custom-xml');
|
|
42
|
+
var utf8Decoder = new TextDecoder('utf-8');
|
|
43
|
+
/**
|
|
44
|
+
* @private
|
|
45
|
+
* Transitional custom XML datastore relationship (ECMA-376-1 §15.2.5). */
|
|
46
|
+
export var CUSTOM_XML_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml';
|
|
47
|
+
/**
|
|
48
|
+
* @private
|
|
49
|
+
* Strict custom XML datastore relationship. */
|
|
50
|
+
export var STRICT_CUSTOM_XML_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/customXml';
|
|
51
|
+
/**
|
|
52
|
+
* @private
|
|
53
|
+
* Transitional custom XML properties relationship (ECMA-376-1 §15.2.6). */
|
|
54
|
+
export var CUSTOM_XML_PROPS_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps';
|
|
55
|
+
/**
|
|
56
|
+
* @private
|
|
57
|
+
* Strict custom XML properties relationship. */
|
|
58
|
+
export var STRICT_CUSTOM_XML_PROPS_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/customXmlProps';
|
|
59
|
+
/**
|
|
60
|
+
* @private
|
|
61
|
+
* Custom XML Data Storage Properties part content type. */
|
|
62
|
+
export var CUSTOM_XML_PROPS_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.customXmlProperties+xml';
|
|
63
|
+
/**
|
|
64
|
+
* @private
|
|
65
|
+
* Custom XML Data Storage part content type (ECMA-376-1 §15.2.5). */
|
|
66
|
+
export var CUSTOM_XML_DATA_CONTENT_TYPE = 'application/xml';
|
|
67
|
+
/**
|
|
68
|
+
* @private
|
|
69
|
+
* Root namespace for custom XML properties parts. */
|
|
70
|
+
export var CUSTOM_XML_PROPS_NAMESPACE = 'http://schemas.openxmlformats.org/officeDocument/2006/customXml';
|
|
71
|
+
var CUSTOM_XML_RELATIONSHIP_TYPES = [
|
|
72
|
+
CUSTOM_XML_RELATIONSHIP_TYPE,
|
|
73
|
+
STRICT_CUSTOM_XML_RELATIONSHIP_TYPE,
|
|
74
|
+
];
|
|
75
|
+
var CUSTOM_XML_PROPS_RELATIONSHIP_TYPES = [
|
|
76
|
+
CUSTOM_XML_PROPS_RELATIONSHIP_TYPE,
|
|
77
|
+
STRICT_CUSTOM_XML_PROPS_RELATIONSHIP_TYPE,
|
|
78
|
+
];
|
|
79
|
+
function unqualifiedAttribute(el, localName) {
|
|
80
|
+
var __ts33_0;
|
|
81
|
+
return ((__ts33_0 = el.attributes.find(function (a) { return a.localName === localName &&
|
|
82
|
+
(a.namespaceUri === '' || a.prefix === 'w' || a.namespaceUri.includes('wordprocessingml')); })), __ts33_0 == null ? undefined : __ts33_0.value);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Custom XML wrapper properties read from `w:customXmlPr`.
|
|
86
|
+
* Preserve-only; not part of the supported public surface.
|
|
87
|
+
*
|
|
88
|
+
* @private
|
|
89
|
+
*/
|
|
90
|
+
var CustomXmlProperties = /** @class */ (function () {
|
|
91
|
+
/**
|
|
92
|
+
* @private
|
|
93
|
+
*/
|
|
94
|
+
function CustomXmlProperties(placeholder, attributes) {
|
|
95
|
+
this.placeholder = placeholder;
|
|
96
|
+
this.attributes = attributes;
|
|
97
|
+
}
|
|
98
|
+
return CustomXmlProperties;
|
|
99
|
+
}());
|
|
100
|
+
export { CustomXmlProperties };
|
|
101
|
+
function parseCustomXmlAttribute(element) {
|
|
102
|
+
if (!isWml(element, 'attr')) {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
var name = unqualifiedAttribute(element, 'name');
|
|
106
|
+
var val = unqualifiedAttribute(element, 'val');
|
|
107
|
+
if (name === undefined || name.length === 0 || val === undefined) {
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
var uri = unqualifiedAttribute(element, 'uri');
|
|
111
|
+
return { uri: uri, name: name, val: val };
|
|
112
|
+
}
|
|
113
|
+
function parseCustomXmlProperties(customXmlPr) {
|
|
114
|
+
var e_1, _a;
|
|
115
|
+
if (customXmlPr === undefined || !isWml(customXmlPr, 'customXmlPr')) {
|
|
116
|
+
return undefined;
|
|
117
|
+
}
|
|
118
|
+
var placeholder;
|
|
119
|
+
var attributes = [];
|
|
120
|
+
try {
|
|
121
|
+
for (var _b = __values(elementChildren(customXmlPr)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
122
|
+
var child = _c.value;
|
|
123
|
+
if (isWml(child, 'placeholder')) {
|
|
124
|
+
placeholder = unqualifiedAttribute(child, 'val');
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
var attribute = parseCustomXmlAttribute(child);
|
|
128
|
+
if (attribute !== undefined) {
|
|
129
|
+
attributes.push(attribute);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
134
|
+
finally {
|
|
135
|
+
try {
|
|
136
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
137
|
+
}
|
|
138
|
+
finally { if (e_1) throw e_1.error; }
|
|
139
|
+
}
|
|
140
|
+
if (placeholder === undefined && attributes.length === 0) {
|
|
141
|
+
return undefined;
|
|
142
|
+
}
|
|
143
|
+
return new CustomXmlProperties(placeholder, attributes);
|
|
144
|
+
}
|
|
145
|
+
var detachedRunOwner = {
|
|
146
|
+
assertAttachedItem: function () {
|
|
147
|
+
return;
|
|
148
|
+
},
|
|
149
|
+
};
|
|
150
|
+
function parseInlineContent(children, owner) {
|
|
151
|
+
var e_2, _a;
|
|
152
|
+
var inlines = [];
|
|
153
|
+
try {
|
|
154
|
+
for (var children_1 = __values(children), children_1_1 = children_1.next(); !children_1_1.done; children_1_1 = children_1.next()) {
|
|
155
|
+
var child = children_1_1.value;
|
|
156
|
+
if (child.kind !== 'element') {
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
var element = child;
|
|
160
|
+
if (isWml(element, 'r')) {
|
|
161
|
+
inlines.push({ type: 'textRange', run: TextRange.fromXml(element, owner) });
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
var feature = tryParseFeatureInline(element);
|
|
165
|
+
if (feature !== undefined) {
|
|
166
|
+
inlines.push(feature);
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
inlines.push({ type: 'opaque', xml: element });
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
173
|
+
finally {
|
|
174
|
+
try {
|
|
175
|
+
if (children_1_1 && !children_1_1.done && (_a = children_1.return)) _a.call(children_1);
|
|
176
|
+
}
|
|
177
|
+
finally { if (e_2) throw e_2.error; }
|
|
178
|
+
}
|
|
179
|
+
return inlines;
|
|
180
|
+
}
|
|
181
|
+
function serializeInlineContent(inlines) {
|
|
182
|
+
var e_3, _a;
|
|
183
|
+
var out = [];
|
|
184
|
+
try {
|
|
185
|
+
for (var inlines_1 = __values(inlines), inlines_1_1 = inlines_1.next(); !inlines_1_1.done; inlines_1_1 = inlines_1.next()) {
|
|
186
|
+
var inline = inlines_1_1.value;
|
|
187
|
+
if (inline.type === 'textRange') {
|
|
188
|
+
out.push(serializeRun(inline.run));
|
|
189
|
+
}
|
|
190
|
+
else if (inline.type === 'feature') {
|
|
191
|
+
out.push(serializeFeatureInline(inline));
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
out.push(inline.xml);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
199
|
+
finally {
|
|
200
|
+
try {
|
|
201
|
+
if (inlines_1_1 && !inlines_1_1.done && (_a = inlines_1.return)) _a.call(inlines_1);
|
|
202
|
+
}
|
|
203
|
+
finally { if (e_3) throw e_3.error; }
|
|
204
|
+
}
|
|
205
|
+
return out;
|
|
206
|
+
}
|
|
207
|
+
function releaseBlockContent(blocks) {
|
|
208
|
+
var e_4, _a;
|
|
209
|
+
try {
|
|
210
|
+
for (var blocks_1 = __values(blocks), blocks_1_1 = blocks_1.next(); !blocks_1_1.done; blocks_1_1 = blocks_1.next()) {
|
|
211
|
+
var block = blocks_1_1.value;
|
|
212
|
+
if (block.type === 'feature' && block.value instanceof CustomXmlMarkup) {
|
|
213
|
+
block.value.releaseContent();
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
218
|
+
finally {
|
|
219
|
+
try {
|
|
220
|
+
if (blocks_1_1 && !blocks_1_1.done && (_a = blocks_1.return)) _a.call(blocks_1);
|
|
221
|
+
}
|
|
222
|
+
finally { if (e_4) throw e_4.error; }
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
function releaseInlineContent(inlines) {
|
|
226
|
+
var e_5, _a;
|
|
227
|
+
try {
|
|
228
|
+
for (var inlines_2 = __values(inlines), inlines_2_1 = inlines_2.next(); !inlines_2_1.done; inlines_2_1 = inlines_2.next()) {
|
|
229
|
+
var inline = inlines_2_1.value;
|
|
230
|
+
if (inline.type === 'feature' && inline.value instanceof CustomXmlMarkup) {
|
|
231
|
+
inline.value.releaseContent();
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
236
|
+
finally {
|
|
237
|
+
try {
|
|
238
|
+
if (inlines_2_1 && !inlines_2_1.done && (_a = inlines_2.return)) _a.call(inlines_2);
|
|
239
|
+
}
|
|
240
|
+
finally { if (e_5) throw e_5.error; }
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Preserve-only in-body custom XML wrapper (`w:customXml`) at block or run level.
|
|
245
|
+
* Markup and children round-trip; bindings are never resolved. No schema
|
|
246
|
+
* validation, data-source mutation, or binding-editor API is provided.
|
|
247
|
+
*
|
|
248
|
+
* @private
|
|
249
|
+
*/
|
|
250
|
+
var CustomXmlMarkup = /** @class */ (function () {
|
|
251
|
+
/**
|
|
252
|
+
* @private
|
|
253
|
+
*/
|
|
254
|
+
function CustomXmlMarkup(elementName, uri, properties, customXmlPr, blocks, inlines, preservedXml) {
|
|
255
|
+
this.elementName = elementName;
|
|
256
|
+
this.uri = uri;
|
|
257
|
+
this.properties = properties;
|
|
258
|
+
this.customXmlPr = customXmlPr;
|
|
259
|
+
this.blocks = blocks;
|
|
260
|
+
this.inlines = inlines;
|
|
261
|
+
this.preservedXml = preservedXml;
|
|
262
|
+
}
|
|
263
|
+
Object.defineProperty(CustomXmlMarkup.prototype, "blockContent", {
|
|
264
|
+
/**
|
|
265
|
+
* @private
|
|
266
|
+
* Block-level inner content, when loaded from a body block. */
|
|
267
|
+
get: function () {
|
|
268
|
+
return this.blocks;
|
|
269
|
+
},
|
|
270
|
+
enumerable: true,
|
|
271
|
+
configurable: true
|
|
272
|
+
});
|
|
273
|
+
Object.defineProperty(CustomXmlMarkup.prototype, "inlineContent", {
|
|
274
|
+
/**
|
|
275
|
+
* @private
|
|
276
|
+
* Run-level inner content, when loaded from a paragraph inline. */
|
|
277
|
+
get: function () {
|
|
278
|
+
return this.inlines;
|
|
279
|
+
},
|
|
280
|
+
enumerable: true,
|
|
281
|
+
configurable: true
|
|
282
|
+
});
|
|
283
|
+
Object.defineProperty(CustomXmlMarkup.prototype, "firstParagraphText", {
|
|
284
|
+
/**
|
|
285
|
+
* @private
|
|
286
|
+
* Visible paragraph text inside a block wrapper, when present. */
|
|
287
|
+
get: function () {
|
|
288
|
+
var e_6, _a, e_7, _b;
|
|
289
|
+
if (this.blocks === undefined) {
|
|
290
|
+
return undefined;
|
|
291
|
+
}
|
|
292
|
+
try {
|
|
293
|
+
for (var _c = __values(this.blocks), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
294
|
+
var block = _d.value;
|
|
295
|
+
if (block.type !== 'paragraph') {
|
|
296
|
+
continue;
|
|
297
|
+
}
|
|
298
|
+
try {
|
|
299
|
+
for (var _e = __values(block.paragraph.items), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
300
|
+
var inline = _f.value;
|
|
301
|
+
if (inline instanceof TextRange && inline.text.length > 0) {
|
|
302
|
+
return inline.text;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
catch (e_7_1) { e_7 = { error: e_7_1 }; }
|
|
307
|
+
finally {
|
|
308
|
+
try {
|
|
309
|
+
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
|
|
310
|
+
}
|
|
311
|
+
finally { if (e_7) throw e_7.error; }
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
316
|
+
finally {
|
|
317
|
+
try {
|
|
318
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
319
|
+
}
|
|
320
|
+
finally { if (e_6) throw e_6.error; }
|
|
321
|
+
}
|
|
322
|
+
return undefined;
|
|
323
|
+
},
|
|
324
|
+
enumerable: true,
|
|
325
|
+
configurable: true
|
|
326
|
+
});
|
|
327
|
+
/**
|
|
328
|
+
* @private
|
|
329
|
+
*/
|
|
330
|
+
CustomXmlMarkup.prototype.releaseContent = function () {
|
|
331
|
+
if (this.blocks !== undefined) {
|
|
332
|
+
releaseBlockContent(this.blocks);
|
|
333
|
+
}
|
|
334
|
+
if (this.inlines !== undefined) {
|
|
335
|
+
releaseInlineContent(this.inlines);
|
|
336
|
+
}
|
|
337
|
+
};
|
|
338
|
+
/**
|
|
339
|
+
* @private
|
|
340
|
+
* Serialize to `w:customXml` (or preserved original element). */
|
|
341
|
+
CustomXmlMarkup.prototype.toOpenXml = function () {
|
|
342
|
+
if (this.preservedXml !== undefined) {
|
|
343
|
+
return this.preservedXml;
|
|
344
|
+
}
|
|
345
|
+
var attributes = [wmlAttr('element', this.elementName)];
|
|
346
|
+
if (this.uri !== undefined && this.uri.length > 0) {
|
|
347
|
+
attributes.push(wmlAttr('uri', this.uri));
|
|
348
|
+
}
|
|
349
|
+
var children = [];
|
|
350
|
+
if (this.customXmlPr !== undefined) {
|
|
351
|
+
children.push(this.customXmlPr);
|
|
352
|
+
}
|
|
353
|
+
if (this.blocks !== undefined) {
|
|
354
|
+
children.push.apply(children, __spread(serializeBodyBlocks(this.blocks)));
|
|
355
|
+
}
|
|
356
|
+
else if (this.inlines !== undefined) {
|
|
357
|
+
children.push.apply(children, __spread(serializeInlineContent(this.inlines)));
|
|
358
|
+
}
|
|
359
|
+
return wmlElement('customXml', { attributes: attributes, children: children });
|
|
360
|
+
};
|
|
361
|
+
return CustomXmlMarkup;
|
|
362
|
+
}());
|
|
363
|
+
export { CustomXmlMarkup };
|
|
364
|
+
function splitCustomXmlChildren(element) {
|
|
365
|
+
var e_8, _a;
|
|
366
|
+
var content = [];
|
|
367
|
+
var customXmlPr;
|
|
368
|
+
try {
|
|
369
|
+
for (var _b = __values(elementChildren(element)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
370
|
+
var child = _c.value;
|
|
371
|
+
if (isWml(child, 'customXmlPr')) {
|
|
372
|
+
customXmlPr = child;
|
|
373
|
+
}
|
|
374
|
+
else {
|
|
375
|
+
content.push(child);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
catch (e_8_1) { e_8 = { error: e_8_1 }; }
|
|
380
|
+
finally {
|
|
381
|
+
try {
|
|
382
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
383
|
+
}
|
|
384
|
+
finally { if (e_8) throw e_8.error; }
|
|
385
|
+
}
|
|
386
|
+
return { customXmlPr: customXmlPr, content: content };
|
|
387
|
+
}
|
|
388
|
+
function parseCustomXmlMarkup(element, mode, ctx) {
|
|
389
|
+
if (!isWml(element, 'customXml')) {
|
|
390
|
+
return undefined;
|
|
391
|
+
}
|
|
392
|
+
var elementName = unqualifiedAttribute(element, 'element');
|
|
393
|
+
if (elementName === undefined || elementName.length === 0) {
|
|
394
|
+
return new CustomXmlMarkup('', undefined, undefined, undefined, undefined, undefined, element);
|
|
395
|
+
}
|
|
396
|
+
var uri = unqualifiedAttribute(element, 'uri');
|
|
397
|
+
var _a = splitCustomXmlChildren(element), customXmlPr = _a.customXmlPr, content = _a.content;
|
|
398
|
+
var properties = parseCustomXmlProperties(customXmlPr);
|
|
399
|
+
if (mode === 'block') {
|
|
400
|
+
var blocks = parseBodyBlocks(content, ctx);
|
|
401
|
+
return new CustomXmlMarkup(elementName, uri, properties, customXmlPr, blocks, undefined, undefined);
|
|
402
|
+
}
|
|
403
|
+
var inlines = parseInlineContent(content, detachedRunOwner);
|
|
404
|
+
return new CustomXmlMarkup(elementName, uri, properties, customXmlPr, undefined, inlines, undefined);
|
|
405
|
+
}
|
|
406
|
+
function parseItemIdFromProps(data) {
|
|
407
|
+
var __ts33_1;
|
|
408
|
+
try {
|
|
409
|
+
var root = parseXml(utf8Decoder.decode(data));
|
|
410
|
+
if (root.localName !== 'datastoreItem') {
|
|
411
|
+
return undefined;
|
|
412
|
+
}
|
|
413
|
+
return ((__ts33_1 = root.attributes.find(function (attribute) { return attribute.localName === 'itemID' &&
|
|
414
|
+
(attribute.namespaceUri === CUSTOM_XML_PROPS_NAMESPACE ||
|
|
415
|
+
attribute.namespaceUri === '' ||
|
|
416
|
+
attribute.namespaceUri.includes('customXml')); })), __ts33_1 == null ? undefined : __ts33_1.value);
|
|
417
|
+
}
|
|
418
|
+
catch (_a) {
|
|
419
|
+
return undefined;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* One Custom XML item part plus optional properties part.
|
|
424
|
+
* Preserve-only; not part of the supported public surface.
|
|
425
|
+
*
|
|
426
|
+
* @private
|
|
427
|
+
*/
|
|
428
|
+
var CustomXmlStorageItem = /** @class */ (function () {
|
|
429
|
+
/**
|
|
430
|
+
* @private
|
|
431
|
+
*/
|
|
432
|
+
function CustomXmlStorageItem(partNameValue, data, contentType, itemId, propertiesPartName, propertiesData, propertiesContentType) {
|
|
433
|
+
this.partName = partNameValue;
|
|
434
|
+
this.data = data;
|
|
435
|
+
this.contentType = contentType;
|
|
436
|
+
this.itemId = itemId;
|
|
437
|
+
this.propertiesPartName = propertiesPartName;
|
|
438
|
+
this.propertiesData = propertiesData;
|
|
439
|
+
this.propertiesContentType = propertiesContentType;
|
|
440
|
+
}
|
|
441
|
+
return CustomXmlStorageItem;
|
|
442
|
+
}());
|
|
443
|
+
export { CustomXmlStorageItem };
|
|
444
|
+
/**
|
|
445
|
+
* Preserve-only Custom XML datastore catalog linked from the Main Document.
|
|
446
|
+
* Items round-trip as opaque bytes; no mutation or binding API is provided.
|
|
447
|
+
* Not part of the supported public surface.
|
|
448
|
+
*
|
|
449
|
+
* @private
|
|
450
|
+
*/
|
|
451
|
+
var CustomXmlDatastore = /** @class */ (function () {
|
|
452
|
+
/**
|
|
453
|
+
* @private
|
|
454
|
+
*/
|
|
455
|
+
function CustomXmlDatastore(storageItems) {
|
|
456
|
+
this.storageItems = storageItems;
|
|
457
|
+
}
|
|
458
|
+
Object.defineProperty(CustomXmlDatastore.prototype, "items", {
|
|
459
|
+
/**
|
|
460
|
+
* @private
|
|
461
|
+
* Loaded datastore items in relationship order. */
|
|
462
|
+
get: function () {
|
|
463
|
+
return this.storageItems;
|
|
464
|
+
},
|
|
465
|
+
enumerable: true,
|
|
466
|
+
configurable: true
|
|
467
|
+
});
|
|
468
|
+
/**
|
|
469
|
+
* @private
|
|
470
|
+
*/
|
|
471
|
+
CustomXmlDatastore.prototype.isDirty = function () {
|
|
472
|
+
return false;
|
|
473
|
+
};
|
|
474
|
+
/**
|
|
475
|
+
* @private
|
|
476
|
+
*/
|
|
477
|
+
CustomXmlDatastore.prototype.applyToPackage = function (pkg, mainPartName) {
|
|
478
|
+
void mainPartName;
|
|
479
|
+
return pkg;
|
|
480
|
+
};
|
|
481
|
+
return CustomXmlDatastore;
|
|
482
|
+
}());
|
|
483
|
+
export { CustomXmlDatastore };
|
|
484
|
+
function isCustomXmlRelationship(type) {
|
|
485
|
+
return CUSTOM_XML_RELATIONSHIP_TYPES.indexOf(type) !== -1;
|
|
486
|
+
}
|
|
487
|
+
function isCustomXmlPropsRelationship(type) {
|
|
488
|
+
return CUSTOM_XML_PROPS_RELATIONSHIP_TYPES.indexOf(type) !== -1;
|
|
489
|
+
}
|
|
490
|
+
function loadDatastore(pkg, mainPartName) {
|
|
491
|
+
var e_9, _a, e_10, _b;
|
|
492
|
+
var items = [];
|
|
493
|
+
try {
|
|
494
|
+
for (var _c = __values(relationshipsForPart(pkg, mainPartName).items), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
495
|
+
var rel = _d.value;
|
|
496
|
+
if (!isCustomXmlRelationship(rel.type)) {
|
|
497
|
+
continue;
|
|
498
|
+
}
|
|
499
|
+
var itemPartName = resolveInternalTarget(rel.target, mainPartName);
|
|
500
|
+
var itemPart = partByName(pkg, itemPartName);
|
|
501
|
+
if (itemPart === undefined) {
|
|
502
|
+
continue;
|
|
503
|
+
}
|
|
504
|
+
var propertiesPartName = void 0;
|
|
505
|
+
var propertiesData = void 0;
|
|
506
|
+
var propertiesContentType = void 0;
|
|
507
|
+
var itemId = void 0;
|
|
508
|
+
try {
|
|
509
|
+
for (var _e = __values(relationshipsForPart(pkg, itemPartName).items), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
510
|
+
var propsRel = _f.value;
|
|
511
|
+
if (!isCustomXmlPropsRelationship(propsRel.type)) {
|
|
512
|
+
continue;
|
|
513
|
+
}
|
|
514
|
+
propertiesPartName = resolveInternalTarget(propsRel.target, itemPartName);
|
|
515
|
+
var propsPart = partByName(pkg, propertiesPartName);
|
|
516
|
+
if (propsPart === undefined) {
|
|
517
|
+
continue;
|
|
518
|
+
}
|
|
519
|
+
propertiesData = propsPart.data;
|
|
520
|
+
propertiesContentType = propsPart.contentType;
|
|
521
|
+
itemId = parseItemIdFromProps(propsPart.data);
|
|
522
|
+
break;
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
catch (e_10_1) { e_10 = { error: e_10_1 }; }
|
|
526
|
+
finally {
|
|
527
|
+
try {
|
|
528
|
+
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
|
|
529
|
+
}
|
|
530
|
+
finally { if (e_10) throw e_10.error; }
|
|
531
|
+
}
|
|
532
|
+
items.push(new CustomXmlStorageItem(itemPartName, itemPart.data, itemPart.contentType, itemId, propertiesPartName, propertiesData, propertiesContentType));
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
catch (e_9_1) { e_9 = { error: e_9_1 }; }
|
|
536
|
+
finally {
|
|
537
|
+
try {
|
|
538
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
539
|
+
}
|
|
540
|
+
finally { if (e_9) throw e_9.error; }
|
|
541
|
+
}
|
|
542
|
+
return new CustomXmlDatastore(items);
|
|
543
|
+
}
|
|
544
|
+
function markupFromBlocks(blocks) {
|
|
545
|
+
var e_11, _a;
|
|
546
|
+
var found = [];
|
|
547
|
+
try {
|
|
548
|
+
for (var blocks_2 = __values(blocks), blocks_2_1 = blocks_2.next(); !blocks_2_1.done; blocks_2_1 = blocks_2.next()) {
|
|
549
|
+
var block = blocks_2_1.value;
|
|
550
|
+
if (block.type === 'feature' && block.value instanceof CustomXmlMarkup) {
|
|
551
|
+
found.push(block.value);
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
catch (e_11_1) { e_11 = { error: e_11_1 }; }
|
|
556
|
+
finally {
|
|
557
|
+
try {
|
|
558
|
+
if (blocks_2_1 && !blocks_2_1.done && (_a = blocks_2.return)) _a.call(blocks_2);
|
|
559
|
+
}
|
|
560
|
+
finally { if (e_11) throw e_11.error; }
|
|
561
|
+
}
|
|
562
|
+
return found;
|
|
563
|
+
}
|
|
564
|
+
function markupFromInlines(inlines) {
|
|
565
|
+
var e_12, _a;
|
|
566
|
+
var found = [];
|
|
567
|
+
try {
|
|
568
|
+
for (var inlines_3 = __values(inlines), inlines_3_1 = inlines_3.next(); !inlines_3_1.done; inlines_3_1 = inlines_3.next()) {
|
|
569
|
+
var inline = inlines_3_1.value;
|
|
570
|
+
if (inline instanceof FeatureInlineParagraphItem && inline.value instanceof CustomXmlMarkup) {
|
|
571
|
+
found.push(inline.value);
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
catch (e_12_1) { e_12 = { error: e_12_1 }; }
|
|
576
|
+
finally {
|
|
577
|
+
try {
|
|
578
|
+
if (inlines_3_1 && !inlines_3_1.done && (_a = inlines_3.return)) _a.call(inlines_3);
|
|
579
|
+
}
|
|
580
|
+
finally { if (e_12) throw e_12.error; }
|
|
581
|
+
}
|
|
582
|
+
return found;
|
|
583
|
+
}
|
|
584
|
+
var registered = false;
|
|
585
|
+
/**
|
|
586
|
+
* @private
|
|
587
|
+
* Test hook */
|
|
588
|
+
export function resetCustomXmlFeatureForTests() {
|
|
589
|
+
registered = false;
|
|
590
|
+
}
|
|
591
|
+
/**
|
|
592
|
+
* @private
|
|
593
|
+
* Register custom XML markup and datastore handlers. Idempotent. */
|
|
594
|
+
export function registerCustomXmlFeature() {
|
|
595
|
+
if (registered) {
|
|
596
|
+
return;
|
|
597
|
+
}
|
|
598
|
+
registered = true;
|
|
599
|
+
registerFeature({ id: CUSTOM_XML });
|
|
600
|
+
registerFeatureMultiPartHandler({
|
|
601
|
+
featureId: CUSTOM_XML,
|
|
602
|
+
relationshipTypes: CUSTOM_XML_RELATIONSHIP_TYPES,
|
|
603
|
+
loadParts: function (pkg, ctx) {
|
|
604
|
+
return loadDatastore(pkg, ctx.mainPartName);
|
|
605
|
+
},
|
|
606
|
+
});
|
|
607
|
+
registerFeatureInlineHandler({
|
|
608
|
+
featureId: CUSTOM_XML,
|
|
609
|
+
wmlLocalName: 'customXml',
|
|
610
|
+
tryParse: function (element) {
|
|
611
|
+
return parseCustomXmlMarkup(element, 'inline', detachedBodyBlockParseContext());
|
|
612
|
+
},
|
|
613
|
+
});
|
|
614
|
+
registerFeatureBlockHandler({
|
|
615
|
+
featureId: CUSTOM_XML,
|
|
616
|
+
wmlLocalName: 'customXml',
|
|
617
|
+
tryParse: function (element, ctx) {
|
|
618
|
+
return parseCustomXmlMarkup(element, 'block', ctx);
|
|
619
|
+
},
|
|
620
|
+
});
|
|
621
|
+
}
|
|
622
|
+
/**
|
|
623
|
+
* Custom XML datastore linked from the Main Document.
|
|
624
|
+
* Returns the preserve-only catalog; not part of the supported public surface.
|
|
625
|
+
*
|
|
626
|
+
* @private
|
|
627
|
+
*/
|
|
628
|
+
export function customXmlDatastore(document) {
|
|
629
|
+
var part = document.featurePart(CUSTOM_XML);
|
|
630
|
+
if (part === undefined || !(part instanceof CustomXmlDatastore)) {
|
|
631
|
+
throw new DocxError('feature/not-registered', 'Custom XML datastore was not loaded; call registerCustomXmlFeature() before WordDocument.open');
|
|
632
|
+
}
|
|
633
|
+
return part;
|
|
634
|
+
}
|
|
635
|
+
/**
|
|
636
|
+
* Block-level custom XML wrappers in a block list, in document order.
|
|
637
|
+
*
|
|
638
|
+
* @private
|
|
639
|
+
*/
|
|
640
|
+
export function customXmlMarkupInBlocks(blocks) {
|
|
641
|
+
return markupFromBlocks(blocks);
|
|
642
|
+
}
|
|
643
|
+
/**
|
|
644
|
+
* Run-level custom XML wrappers in a paragraph, in document order.
|
|
645
|
+
*
|
|
646
|
+
* @private
|
|
647
|
+
*/
|
|
648
|
+
export function customXmlMarkupInParagraph(paragraph) {
|
|
649
|
+
return markupFromInlines(paragraph.items.toArray());
|
|
650
|
+
}
|
|
651
|
+
/**
|
|
652
|
+
* Whether inline content is modeled custom XML from this module.
|
|
653
|
+
*
|
|
654
|
+
* @private
|
|
655
|
+
*/
|
|
656
|
+
export function isCustomXmlMarkupInline(inline) {
|
|
657
|
+
return (inline instanceof FeatureInlineParagraphItem &&
|
|
658
|
+
inline.featureId === CUSTOM_XML &&
|
|
659
|
+
inline.value instanceof CustomXmlMarkup);
|
|
660
|
+
}
|
|
661
|
+
registerCustomXmlFeature();
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic paragraph alignment mapped from `ST_Jc`.
|
|
3
|
+
*
|
|
4
|
+
* New writes use `start`/`center`/`end`/`justify`. Loaded `left` reads as `Start`
|
|
5
|
+
* and `both` reads as `Justify` without rewriting the stored value on a no-op save.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export declare const ParagraphAlignment: {
|
|
10
|
+
Left: "start";
|
|
11
|
+
Center: "center";
|
|
12
|
+
Right: "end";
|
|
13
|
+
Justify: "justify";
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* One of the `ParagraphAlignment` tokens (`start`, `center`, `end`, `justify`).
|
|
17
|
+
*
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
export declare type ParagraphAlignment = (typeof ParagraphAlignment)[keyof typeof ParagraphAlignment];
|
|
21
|
+
/** ST_Jc `left`/`start` read as Start; `both` reads as Justify (spec). */
|
|
22
|
+
export declare function alignmentFromJc(val: string): ParagraphAlignment | undefined;
|
|
23
|
+
export declare function jcForNewAlignment(alignment: ParagraphAlignment): string;
|