@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,553 @@
|
|
|
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
|
+
/**
|
|
12
|
+
* Typed parse/serialize helpers for `w:tcPr`.
|
|
13
|
+
*
|
|
14
|
+
* Citations: Transitional `wml.xsd` `CT_TcPrBase`, `CT_TblWidth`, `CT_TcBorders`,
|
|
15
|
+
* `CT_TcMar`, `ST_TextDirection`, `ST_VerticalJc`, `ST_Merge`.
|
|
16
|
+
*/
|
|
17
|
+
import { parseOnOff, serializeOnOff } from '../document/on-off';
|
|
18
|
+
import { elementChildren, isWml, wValAttribute, wmlAttr, wmlElement, } from '../document/wml';
|
|
19
|
+
import { emptyPropsToUndefined, normalizeCnfStyle, normalizedCnfStyleHasTrue, parseCellMargins, parseCnfStyle, parseShd, parseTblWidth, parseTcBorders, serializeCellMargins, serializeCnfStyle, serializeShd, serializeTblWidth, serializeTcBorders, twipsToPoint, upsertPropChild } from './tbl-pr';
|
|
20
|
+
/** Explicit zero cell margins used when leaving table padding inheritance. */
|
|
21
|
+
var ZERO_CELL_MARGINS = {
|
|
22
|
+
top: twipsToPoint(0),
|
|
23
|
+
left: twipsToPoint(0),
|
|
24
|
+
bottom: twipsToPoint(0),
|
|
25
|
+
right: twipsToPoint(0),
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Cell vertical alignment (`w:vAlign` / `ST_VerticalJc` public subset; omit `both`).
|
|
29
|
+
*
|
|
30
|
+
* - {@link TableCellVerticalAlignment.Top}: top of the cell (default).
|
|
31
|
+
* - {@link TableCellVerticalAlignment.Center}: middle of the cell.
|
|
32
|
+
* - {@link TableCellVerticalAlignment.Bottom}: bottom of the cell.
|
|
33
|
+
*
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
export var TableCellVerticalAlignment = {
|
|
37
|
+
Top: 'top',
|
|
38
|
+
Center: 'center',
|
|
39
|
+
Bottom: 'bottom',
|
|
40
|
+
};
|
|
41
|
+
function findWmlChild(parent, localName) {
|
|
42
|
+
var e_1, _a;
|
|
43
|
+
try {
|
|
44
|
+
for (var _b = __values(elementChildren(parent)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
45
|
+
var child = _c.value;
|
|
46
|
+
if (isWml(child, localName)) {
|
|
47
|
+
return child;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
52
|
+
finally {
|
|
53
|
+
try {
|
|
54
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
55
|
+
}
|
|
56
|
+
finally { if (e_1) throw e_1.error; }
|
|
57
|
+
}
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
function readDecimalChild(tcPr, localName) {
|
|
61
|
+
var e_2, _a;
|
|
62
|
+
try {
|
|
63
|
+
for (var _b = __values(elementChildren(tcPr)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
64
|
+
var child = _c.value;
|
|
65
|
+
if (!isWml(child, localName)) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
var raw = wValAttribute(child);
|
|
69
|
+
if (raw !== undefined && /^\d+$/.test(raw)) {
|
|
70
|
+
return parseInt(raw, 10);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
75
|
+
finally {
|
|
76
|
+
try {
|
|
77
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
78
|
+
}
|
|
79
|
+
finally { if (e_2) throw e_2.error; }
|
|
80
|
+
}
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
function readVerticalMergeChild(tcPr) {
|
|
84
|
+
var e_3, _a;
|
|
85
|
+
try {
|
|
86
|
+
for (var _b = __values(elementChildren(tcPr)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
87
|
+
var child = _c.value;
|
|
88
|
+
if (!isWml(child, 'vMerge')) {
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
var val = wValAttribute(child);
|
|
92
|
+
if (val === 'restart') {
|
|
93
|
+
return 'restart';
|
|
94
|
+
}
|
|
95
|
+
if (val === 'continue' || val === undefined) {
|
|
96
|
+
return 'continue';
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
101
|
+
finally {
|
|
102
|
+
try {
|
|
103
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
104
|
+
}
|
|
105
|
+
finally { if (e_3) throw e_3.error; }
|
|
106
|
+
}
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
function upsertTcPrChild(tcPr, localName, replacement) {
|
|
110
|
+
return upsertPropChild(tcPr, 'tcPr', localName, replacement);
|
|
111
|
+
}
|
|
112
|
+
function ensureTcPr(tcPr) {
|
|
113
|
+
return tcPr != null ? tcPr : wmlElement('tcPr');
|
|
114
|
+
}
|
|
115
|
+
function writeTcChild(tcPr, localName, replacement) {
|
|
116
|
+
var next = upsertTcPrChild(ensureTcPr(tcPr), localName, replacement);
|
|
117
|
+
return emptyPropsToUndefined(next);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* @private
|
|
121
|
+
*/
|
|
122
|
+
export function readGridSpan(tcPr) {
|
|
123
|
+
if (tcPr === undefined) {
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
return readDecimalChild(tcPr, 'gridSpan');
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* @private
|
|
130
|
+
*/
|
|
131
|
+
export function readVerticalMerge(tcPr) {
|
|
132
|
+
if (tcPr === undefined) {
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
135
|
+
return readVerticalMergeChild(tcPr);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* @private
|
|
139
|
+
*/
|
|
140
|
+
export function writeGridSpan(tcPr, span) {
|
|
141
|
+
// Absent and span===1 both mean one column — omit the element (ECMA / Word UI).
|
|
142
|
+
if (span === undefined || span === 1) {
|
|
143
|
+
if (tcPr === undefined) {
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
return writeTcChild(tcPr, 'gridSpan', undefined);
|
|
147
|
+
}
|
|
148
|
+
if (span < 1) {
|
|
149
|
+
throw new RangeError('gridSpan must be at least 1');
|
|
150
|
+
}
|
|
151
|
+
var element = wmlElement('gridSpan', { attributes: [wmlAttr('val', String(span))] });
|
|
152
|
+
return writeTcChild(tcPr, 'gridSpan', element);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* @private
|
|
156
|
+
*/
|
|
157
|
+
export function writeVerticalMerge(tcPr, merge) {
|
|
158
|
+
if (merge === undefined) {
|
|
159
|
+
if (tcPr === undefined) {
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
return writeTcChild(tcPr, 'vMerge', undefined);
|
|
163
|
+
}
|
|
164
|
+
var element = merge === 'restart'
|
|
165
|
+
? wmlElement('vMerge', { attributes: [wmlAttr('val', 'restart')] })
|
|
166
|
+
: wmlElement('vMerge', { attributes: [wmlAttr('val', 'continue')] });
|
|
167
|
+
return writeTcChild(tcPr, 'vMerge', element);
|
|
168
|
+
}
|
|
169
|
+
function readHorizontalMergeChild(tcPr) {
|
|
170
|
+
var e_4, _a;
|
|
171
|
+
try {
|
|
172
|
+
for (var _b = __values(elementChildren(tcPr)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
173
|
+
var child = _c.value;
|
|
174
|
+
if (!isWml(child, 'hMerge')) {
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
var val = wValAttribute(child);
|
|
178
|
+
if (val === 'restart') {
|
|
179
|
+
return 'restart';
|
|
180
|
+
}
|
|
181
|
+
if (val === 'continue' || val === undefined) {
|
|
182
|
+
return 'continue';
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
187
|
+
finally {
|
|
188
|
+
try {
|
|
189
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
190
|
+
}
|
|
191
|
+
finally { if (e_4) throw e_4.error; }
|
|
192
|
+
}
|
|
193
|
+
return undefined;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Horizontal merge setting on `w:tcPr/w:hMerge` (`ST_Merge`).
|
|
197
|
+
*
|
|
198
|
+
* @private
|
|
199
|
+
*/
|
|
200
|
+
export function readHorizontalMerge(tcPr) {
|
|
201
|
+
if (tcPr === undefined) {
|
|
202
|
+
return undefined;
|
|
203
|
+
}
|
|
204
|
+
return readHorizontalMergeChild(tcPr);
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* @private
|
|
208
|
+
*/
|
|
209
|
+
export function writeHorizontalMerge(tcPr, merge) {
|
|
210
|
+
if (merge === undefined) {
|
|
211
|
+
if (tcPr === undefined) {
|
|
212
|
+
return undefined;
|
|
213
|
+
}
|
|
214
|
+
return writeTcChild(tcPr, 'hMerge', undefined);
|
|
215
|
+
}
|
|
216
|
+
var element = merge === 'restart'
|
|
217
|
+
? wmlElement('hMerge', { attributes: [wmlAttr('val', 'restart')] })
|
|
218
|
+
: wmlElement('hMerge', { attributes: [wmlAttr('val', 'continue')] });
|
|
219
|
+
return writeTcChild(tcPr, 'hMerge', element);
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* @private
|
|
223
|
+
*/
|
|
224
|
+
export function readCellPreferredWidth(tcPr) {
|
|
225
|
+
if (tcPr === undefined) {
|
|
226
|
+
return undefined;
|
|
227
|
+
}
|
|
228
|
+
var el = findWmlChild(tcPr, 'tcW');
|
|
229
|
+
return el !== undefined ? parseTblWidth(el) : undefined;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* @private
|
|
233
|
+
*/
|
|
234
|
+
export function writeCellPreferredWidth(tcPr, width) {
|
|
235
|
+
return writeTcChild(tcPr, 'tcW', width !== undefined ? serializeTblWidth('tcW', width) : undefined);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* @private
|
|
239
|
+
*/
|
|
240
|
+
export function readCellBorders(tcPr) {
|
|
241
|
+
if (tcPr === undefined) {
|
|
242
|
+
return undefined;
|
|
243
|
+
}
|
|
244
|
+
var el = findWmlChild(tcPr, 'tcBorders');
|
|
245
|
+
if (el === undefined) {
|
|
246
|
+
return undefined;
|
|
247
|
+
}
|
|
248
|
+
var borders = parseTcBorders(el);
|
|
249
|
+
if (borders.top === undefined &&
|
|
250
|
+
borders.left === undefined &&
|
|
251
|
+
borders.bottom === undefined &&
|
|
252
|
+
borders.right === undefined &&
|
|
253
|
+
borders.insideH === undefined &&
|
|
254
|
+
borders.insideV === undefined &&
|
|
255
|
+
borders.tl2br === undefined &&
|
|
256
|
+
borders.tr2bl === undefined) {
|
|
257
|
+
return undefined;
|
|
258
|
+
}
|
|
259
|
+
return borders;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* @private
|
|
263
|
+
*/
|
|
264
|
+
export function writeCellBorders(tcPr, borders) {
|
|
265
|
+
var existing = tcPr !== undefined ? findWmlChild(tcPr, 'tcBorders') : undefined;
|
|
266
|
+
return writeTcChild(tcPr, 'tcBorders', borders !== undefined ? serializeTcBorders(borders, existing) : undefined);
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* @private
|
|
270
|
+
*/
|
|
271
|
+
export function readCellShading(tcPr) {
|
|
272
|
+
if (tcPr === undefined) {
|
|
273
|
+
return undefined;
|
|
274
|
+
}
|
|
275
|
+
var el = findWmlChild(tcPr, 'shd');
|
|
276
|
+
if (el === undefined) {
|
|
277
|
+
return undefined;
|
|
278
|
+
}
|
|
279
|
+
var shd = parseShd(el);
|
|
280
|
+
if (shd.fill === undefined && shd.color === undefined && shd.pattern === undefined) {
|
|
281
|
+
return undefined;
|
|
282
|
+
}
|
|
283
|
+
return shd;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Whether cell shading carries explicit direct formatting worth serializing.
|
|
287
|
+
* Bare `{ pattern: 'clear' }` with no fill/color is treated as uninitialized and omitted
|
|
288
|
+
* so table-style shading can inherit. Explicit clear+fill/color, non-clear patterns, or
|
|
289
|
+
* fill alone still emit. Parsed genuine bare clear is preserved only when callers pass a
|
|
290
|
+
* shaded object that was read from the wire with additional markers — bare clear alone
|
|
291
|
+
* must not be introduced on authoring paths.
|
|
292
|
+
*
|
|
293
|
+
* @private
|
|
294
|
+
*/
|
|
295
|
+
function isExplicitCellShading(shading) {
|
|
296
|
+
if (shading.fill !== undefined && shading.fill.length > 0) {
|
|
297
|
+
return true;
|
|
298
|
+
}
|
|
299
|
+
if (shading.color !== undefined && shading.color.length > 0 && shading.color !== 'auto') {
|
|
300
|
+
return true;
|
|
301
|
+
}
|
|
302
|
+
if (shading.pattern !== undefined && shading.pattern.length > 0 && shading.pattern !== 'clear') {
|
|
303
|
+
return true;
|
|
304
|
+
}
|
|
305
|
+
// Explicit clear with a color (including auto) is genuine direct formatting.
|
|
306
|
+
if (shading.pattern === 'clear' &&
|
|
307
|
+
shading.color !== undefined &&
|
|
308
|
+
shading.color.length > 0) {
|
|
309
|
+
return true;
|
|
310
|
+
}
|
|
311
|
+
return false;
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Write cell shading only when it is explicit direct formatting.
|
|
315
|
+
* Omits bare uninitialized `w:shd w:val="clear"` so style shading inherits in Word.
|
|
316
|
+
*
|
|
317
|
+
* @private
|
|
318
|
+
*/
|
|
319
|
+
export function writeCellShading(tcPr, shading) {
|
|
320
|
+
if (shading === undefined || !isExplicitCellShading(shading)) {
|
|
321
|
+
return writeTcChild(tcPr, 'shd', undefined);
|
|
322
|
+
}
|
|
323
|
+
return writeTcChild(tcPr, 'shd', serializeShd(shading));
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* @private
|
|
327
|
+
*/
|
|
328
|
+
export function readCellMargins(tcPr) {
|
|
329
|
+
if (tcPr === undefined) {
|
|
330
|
+
return undefined;
|
|
331
|
+
}
|
|
332
|
+
var el = findWmlChild(tcPr, 'tcMar');
|
|
333
|
+
if (el === undefined) {
|
|
334
|
+
return undefined;
|
|
335
|
+
}
|
|
336
|
+
var m = parseCellMargins(el);
|
|
337
|
+
if (m.top === undefined &&
|
|
338
|
+
m.right === undefined &&
|
|
339
|
+
m.bottom === undefined &&
|
|
340
|
+
m.left === undefined) {
|
|
341
|
+
return undefined;
|
|
342
|
+
}
|
|
343
|
+
return m;
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Whether the cell inherits table default cell margins (absence of `w:tcMar`).
|
|
347
|
+
*
|
|
348
|
+
* @private
|
|
349
|
+
*/
|
|
350
|
+
export function readIsSamePaddingsAsTable(tcPr) {
|
|
351
|
+
if (tcPr === undefined) {
|
|
352
|
+
return true;
|
|
353
|
+
}
|
|
354
|
+
return findWmlChild(tcPr, 'tcMar') === undefined;
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* @private
|
|
358
|
+
*/
|
|
359
|
+
export function writeCellMargins(tcPr, margins) {
|
|
360
|
+
var existing = tcPr !== undefined ? findWmlChild(tcPr, 'tcMar') : undefined;
|
|
361
|
+
return writeTcChild(tcPr, 'tcMar', margins !== undefined ? serializeCellMargins('tcMar', margins, existing) : undefined);
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Write inheritance mode for cell padding.
|
|
365
|
+
*
|
|
366
|
+
* - `true` removes `w:tcMar` (inherit table `tblCellMar`).
|
|
367
|
+
* - `false` ensures an explicit `w:tcMar` is present. Existing non-empty side
|
|
368
|
+
* values are retained. When `w:tcMar` is missing or empty, all four sides
|
|
369
|
+
* are written as 0 twips so Word treats the cell as a real override
|
|
370
|
+
* (Cell Options → “Same as the whole table” unchecked). An empty
|
|
371
|
+
* `<w:tcMar/>` alone is ignored by Word’s checkbox UI.
|
|
372
|
+
*
|
|
373
|
+
* @private
|
|
374
|
+
*/
|
|
375
|
+
export function writeIsSamePaddingsAsTable(tcPr, sameAsTable) {
|
|
376
|
+
if (sameAsTable) {
|
|
377
|
+
return writeCellMargins(tcPr, undefined);
|
|
378
|
+
}
|
|
379
|
+
var existing = tcPr !== undefined ? findWmlChild(tcPr, 'tcMar') : undefined;
|
|
380
|
+
if (existing !== undefined) {
|
|
381
|
+
var m = parseCellMargins(existing);
|
|
382
|
+
if (m.top !== undefined ||
|
|
383
|
+
m.right !== undefined ||
|
|
384
|
+
m.bottom !== undefined ||
|
|
385
|
+
m.left !== undefined) {
|
|
386
|
+
return tcPr;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
// Word requires concrete side elements to uncheck "Same as the whole table".
|
|
390
|
+
return writeCellMargins(tcPr, ZERO_CELL_MARGINS);
|
|
391
|
+
}
|
|
392
|
+
var TEXT_DIRECTIONS = new Set(['lr', 'rl', 'tb', 'btLr', 'lrV', 'rlV']);
|
|
393
|
+
/** Map full ST_TextDirection tokens onto the public cell subset when possible. */
|
|
394
|
+
function mapTextDirection(raw) {
|
|
395
|
+
if (raw === undefined) {
|
|
396
|
+
return undefined;
|
|
397
|
+
}
|
|
398
|
+
if (TEXT_DIRECTIONS.has(raw)) {
|
|
399
|
+
return raw;
|
|
400
|
+
}
|
|
401
|
+
if (raw === 'lrTb') {
|
|
402
|
+
return 'lr';
|
|
403
|
+
}
|
|
404
|
+
if (raw === 'tbRl') {
|
|
405
|
+
return 'tb';
|
|
406
|
+
}
|
|
407
|
+
if (raw === 'btLr') {
|
|
408
|
+
return 'btLr';
|
|
409
|
+
}
|
|
410
|
+
if (raw === 'lrTbV') {
|
|
411
|
+
return 'lrV';
|
|
412
|
+
}
|
|
413
|
+
if (raw === 'tbRlV') {
|
|
414
|
+
return 'rlV';
|
|
415
|
+
}
|
|
416
|
+
if (raw === 'tbLrV') {
|
|
417
|
+
return 'tb';
|
|
418
|
+
}
|
|
419
|
+
return undefined;
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* @private
|
|
423
|
+
*/
|
|
424
|
+
export function readCellTextDirection(tcPr) {
|
|
425
|
+
if (tcPr === undefined) {
|
|
426
|
+
return undefined;
|
|
427
|
+
}
|
|
428
|
+
var el = findWmlChild(tcPr, 'textDirection');
|
|
429
|
+
if (el === undefined) {
|
|
430
|
+
return undefined;
|
|
431
|
+
}
|
|
432
|
+
return mapTextDirection(wValAttribute(el));
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* @private
|
|
436
|
+
*/
|
|
437
|
+
export function writeCellTextDirection(tcPr, direction) {
|
|
438
|
+
return writeTcChild(tcPr, 'textDirection', direction !== undefined
|
|
439
|
+
? wmlElement('textDirection', { attributes: [wmlAttr('val', direction)] })
|
|
440
|
+
: undefined);
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* @private
|
|
444
|
+
*/
|
|
445
|
+
export function readCellVerticalAlignment(tcPr) {
|
|
446
|
+
if (tcPr === undefined) {
|
|
447
|
+
return undefined;
|
|
448
|
+
}
|
|
449
|
+
var el = findWmlChild(tcPr, 'vAlign');
|
|
450
|
+
if (el === undefined) {
|
|
451
|
+
return undefined;
|
|
452
|
+
}
|
|
453
|
+
var raw = wValAttribute(el);
|
|
454
|
+
if (raw === 'top' || raw === 'center' || raw === 'bottom') {
|
|
455
|
+
return raw;
|
|
456
|
+
}
|
|
457
|
+
return undefined;
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* @private
|
|
461
|
+
*/
|
|
462
|
+
export function writeCellVerticalAlignment(tcPr, alignment) {
|
|
463
|
+
return writeTcChild(tcPr, 'vAlign', alignment !== undefined
|
|
464
|
+
? wmlElement('vAlign', { attributes: [wmlAttr('val', alignment)] })
|
|
465
|
+
: undefined);
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* @private
|
|
469
|
+
*/
|
|
470
|
+
export function readCellNoWrap(tcPr) {
|
|
471
|
+
if (tcPr === undefined) {
|
|
472
|
+
return undefined;
|
|
473
|
+
}
|
|
474
|
+
var el = findWmlChild(tcPr, 'noWrap');
|
|
475
|
+
return el !== undefined ? parseOnOff(el) : undefined;
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* @private
|
|
479
|
+
*/
|
|
480
|
+
export function writeCellNoWrap(tcPr, noWrap) {
|
|
481
|
+
return writeTcChild(tcPr, 'noWrap', noWrap !== undefined ? serializeOnOff('noWrap', noWrap) : undefined);
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* Fit text (`w:tcFitText` — not `w:fitText`).
|
|
485
|
+
*
|
|
486
|
+
* @private
|
|
487
|
+
*/
|
|
488
|
+
export function readCellFitText(tcPr) {
|
|
489
|
+
if (tcPr === undefined) {
|
|
490
|
+
return undefined;
|
|
491
|
+
}
|
|
492
|
+
var el = findWmlChild(tcPr, 'tcFitText');
|
|
493
|
+
return el !== undefined ? parseOnOff(el) : undefined;
|
|
494
|
+
}
|
|
495
|
+
/**
|
|
496
|
+
* @private
|
|
497
|
+
*/
|
|
498
|
+
export function writeCellFitText(tcPr, fitText) {
|
|
499
|
+
return writeTcChild(tcPr, 'tcFitText', fitText !== undefined ? serializeOnOff('tcFitText', fitText) : undefined);
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* @private
|
|
503
|
+
*/
|
|
504
|
+
export function readCellHideMark(tcPr) {
|
|
505
|
+
if (tcPr === undefined) {
|
|
506
|
+
return undefined;
|
|
507
|
+
}
|
|
508
|
+
var el = findWmlChild(tcPr, 'hideMark');
|
|
509
|
+
return el !== undefined ? parseOnOff(el) : undefined;
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* @private
|
|
513
|
+
*/
|
|
514
|
+
export function writeCellHideMark(tcPr, hideMark) {
|
|
515
|
+
return writeTcChild(tcPr, 'hideMark', hideMark !== undefined ? serializeOnOff('hideMark', hideMark) : undefined);
|
|
516
|
+
}
|
|
517
|
+
/**
|
|
518
|
+
* Cell conditional formatting membership (`w:tcPr/w:cnfStyle` / `CT_Cnf`).
|
|
519
|
+
* Preserve-only: does not recompute from table layout.
|
|
520
|
+
*
|
|
521
|
+
* Citations: ECMA-376-1 §17.4.8; Part 4 §14.3.1.1 / §14.11.9; Transitional `CT_Cnf`.
|
|
522
|
+
*
|
|
523
|
+
* @private
|
|
524
|
+
*/
|
|
525
|
+
export function readCellCnfStyle(tcPr) {
|
|
526
|
+
if (tcPr === undefined) {
|
|
527
|
+
return undefined;
|
|
528
|
+
}
|
|
529
|
+
var el = findWmlChild(tcPr, 'cnfStyle');
|
|
530
|
+
if (el === undefined) {
|
|
531
|
+
return undefined;
|
|
532
|
+
}
|
|
533
|
+
var state = parseCnfStyle(el);
|
|
534
|
+
var normalized = normalizeCnfStyle(state);
|
|
535
|
+
return normalizedCnfStyleHasTrue(normalized) ? state : undefined;
|
|
536
|
+
}
|
|
537
|
+
/**
|
|
538
|
+
* Write or clear cell `w:cnfStyle`. Passing `undefined` removes the element.
|
|
539
|
+
* A supplied {@link NormalizedCnfStyle} is always written (including all-false).
|
|
540
|
+
*
|
|
541
|
+
* @private
|
|
542
|
+
*/
|
|
543
|
+
export function writeCellCnfStyle(tcPr, state) {
|
|
544
|
+
if (state === undefined) {
|
|
545
|
+
if (tcPr === undefined) {
|
|
546
|
+
return undefined;
|
|
547
|
+
}
|
|
548
|
+
return writeTcChild(tcPr, 'cnfStyle', undefined);
|
|
549
|
+
}
|
|
550
|
+
var existing = tcPr !== undefined ? findWmlChild(tcPr, 'cnfStyle') : undefined;
|
|
551
|
+
var normalized = normalizeCnfStyle(state);
|
|
552
|
+
return writeTcChild(tcPr, 'cnfStyle', serializeCnfStyle(normalized, existing));
|
|
553
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { OpenXmlElement } from '../../core/xml/index';
|
|
2
|
+
import { CnfStyle, NormalizedCnfStyle, TableAlignment, TableRowHeight, TableShading } from './tbl-pr';
|
|
3
|
+
/**
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
export declare function readRowHeight(trPr: OpenXmlElement | undefined): TableRowHeight | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* @private
|
|
9
|
+
*/
|
|
10
|
+
export declare function writeRowHeight(trPr: OpenXmlElement | undefined, height: TableRowHeight | undefined): OpenXmlElement | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* @private
|
|
13
|
+
*/
|
|
14
|
+
export declare function readRowCantSplit(trPr: OpenXmlElement | undefined): boolean | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* @private
|
|
17
|
+
*/
|
|
18
|
+
export declare function writeRowCantSplit(trPr: OpenXmlElement | undefined, cantSplit: boolean | undefined): OpenXmlElement | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* @private
|
|
21
|
+
*/
|
|
22
|
+
export declare function readRowIsHeader(trPr: OpenXmlElement | undefined): boolean | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* @private
|
|
25
|
+
*/
|
|
26
|
+
export declare function writeRowIsHeader(trPr: OpenXmlElement | undefined, isHeader: boolean | undefined): OpenXmlElement | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* @private
|
|
29
|
+
*/
|
|
30
|
+
export declare function readRowAlignment(trPr: OpenXmlElement | undefined): TableAlignment | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* @private
|
|
33
|
+
*/
|
|
34
|
+
export declare function writeRowAlignment(trPr: OpenXmlElement | undefined, alignment: TableAlignment | undefined): OpenXmlElement | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Row shading (`w:trPr/w:shd`).
|
|
37
|
+
*
|
|
38
|
+
* @private
|
|
39
|
+
*/
|
|
40
|
+
export declare function readRowShading(trPr: OpenXmlElement | undefined): TableShading | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* @private
|
|
43
|
+
*/
|
|
44
|
+
export declare function writeRowShading(trPr: OpenXmlElement | undefined, shading: TableShading | undefined): OpenXmlElement | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Row conditional formatting membership (`w:trPr/w:cnfStyle` / `CT_Cnf`).
|
|
47
|
+
* Preserve-only: does not recompute from table layout.
|
|
48
|
+
*
|
|
49
|
+
* Citations: ECMA-376-1 §17.4.7; Part 4 §14.3.1.1 / §14.11.9; Transitional `CT_Cnf`.
|
|
50
|
+
*
|
|
51
|
+
* @private
|
|
52
|
+
*/
|
|
53
|
+
export declare function readRowCnfStyle(trPr: OpenXmlElement | undefined): CnfStyle | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Write or clear row `w:cnfStyle`. Passing `undefined` removes the element.
|
|
56
|
+
* A supplied {@link NormalizedCnfStyle} is always written (including all-false).
|
|
57
|
+
*
|
|
58
|
+
* @private
|
|
59
|
+
*/
|
|
60
|
+
export declare function writeRowCnfStyle(trPr: OpenXmlElement | undefined, state: NormalizedCnfStyle | CnfStyle | undefined): OpenXmlElement | undefined;
|