@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,880 @@
|
|
|
1
|
+
import { OpenXmlElement } from '../../core/xml/index';
|
|
2
|
+
import { ParagraphAlignment } from './alignment';
|
|
3
|
+
import { Color } from './color';
|
|
4
|
+
import { CnfStyle, NormalizedCnfStyle } from '../tables/tbl-pr';
|
|
5
|
+
/**
|
|
6
|
+
* Line spacing rule (`ST_LineSpacingRule`). §17.18.48
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export declare type LineSpacingRule = 'auto' | 'exact' | 'atLeast';
|
|
10
|
+
/**
|
|
11
|
+
* Tab stop justification / alignment (`ST_TabJc`). §17.18.83
|
|
12
|
+
*
|
|
13
|
+
* Prefer named members such as {@link TabJustification.Left} in authoring APIs.
|
|
14
|
+
* Wire tokens are the member values and are unchanged for serialization.
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export declare const TabJustification: {
|
|
19
|
+
Left: "left";
|
|
20
|
+
Center: "center";
|
|
21
|
+
Right: "right";
|
|
22
|
+
Decimal: "decimal";
|
|
23
|
+
Bar: "bar";
|
|
24
|
+
Clear: "clear";
|
|
25
|
+
Num: "num";
|
|
26
|
+
Start: "start";
|
|
27
|
+
End: "end";
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* One of the {@link TabJustification} wire tokens.
|
|
31
|
+
*
|
|
32
|
+
* @public
|
|
33
|
+
*/
|
|
34
|
+
export declare type TabJustification = (typeof TabJustification)[keyof typeof TabJustification];
|
|
35
|
+
/**
|
|
36
|
+
* Alias of {@link TabJustification} kept for older `TabStop.alignment` typing.
|
|
37
|
+
*
|
|
38
|
+
* @public
|
|
39
|
+
*/
|
|
40
|
+
export declare type TabStopAlignment = TabJustification;
|
|
41
|
+
/**
|
|
42
|
+
* Tab stop leader character (`ST_TabTlc`). §17.18.84
|
|
43
|
+
*
|
|
44
|
+
* Prefer named members such as {@link TabLeader.Dot} / {@link TabLeader.NoLeader}.
|
|
45
|
+
* Wire tokens are the member values and are unchanged for serialization.
|
|
46
|
+
*
|
|
47
|
+
* @public
|
|
48
|
+
*/
|
|
49
|
+
export declare const TabLeader: {
|
|
50
|
+
NoLeader: "none";
|
|
51
|
+
Dot: "dot";
|
|
52
|
+
Heavy: "heavy";
|
|
53
|
+
Hyphen: "hyphen";
|
|
54
|
+
MiddleDot: "middleDot";
|
|
55
|
+
Single: "single";
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* One of the {@link TabLeader} wire tokens.
|
|
59
|
+
*
|
|
60
|
+
* @public
|
|
61
|
+
*/
|
|
62
|
+
export declare type TabLeader = (typeof TabLeader)[keyof typeof TabLeader];
|
|
63
|
+
/**
|
|
64
|
+
* Alias of {@link TabLeader} kept for older `TabStop.leader` typing.
|
|
65
|
+
*
|
|
66
|
+
* @public
|
|
67
|
+
*/
|
|
68
|
+
export declare type TabStopLeader = TabLeader;
|
|
69
|
+
/**
|
|
70
|
+
* A single tab stop (`w:tab` inside `w:tabs`). §17.3.1.37
|
|
71
|
+
* @public
|
|
72
|
+
*/
|
|
73
|
+
export interface TabStop {
|
|
74
|
+
/** `@w:pos` — position in points (twips on the wire). */
|
|
75
|
+
readonly position: number;
|
|
76
|
+
/** `@w:val` — alignment. */
|
|
77
|
+
readonly alignment: TabJustification;
|
|
78
|
+
/** `@w:leader` — leader character. */
|
|
79
|
+
readonly leader?: TabLeader;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Mutable DocIO-style tab-stop entry backed by {@link TabStop} storage.
|
|
83
|
+
* Distinct from run-level `w:r/w:tab` ({@link import('./text-range').Tab}).
|
|
84
|
+
*
|
|
85
|
+
* @public
|
|
86
|
+
*/
|
|
87
|
+
export declare class ParagraphTabStop {
|
|
88
|
+
private positionValue;
|
|
89
|
+
private justificationValue;
|
|
90
|
+
private leaderValue;
|
|
91
|
+
/**
|
|
92
|
+
* @public
|
|
93
|
+
*/
|
|
94
|
+
constructor(position?: number, justification?: TabJustification, leader?: TabLeader);
|
|
95
|
+
/** Position in points. */
|
|
96
|
+
position: number;
|
|
97
|
+
/** Alignment / justification (`@w:val`). */
|
|
98
|
+
justification: TabJustification;
|
|
99
|
+
/** Alias of {@link ParagraphTabStop.justification}. */
|
|
100
|
+
alignment: TabStopAlignment;
|
|
101
|
+
/** Leader character. */
|
|
102
|
+
leader: TabLeader;
|
|
103
|
+
/** @private */
|
|
104
|
+
toBagStop(): TabStop;
|
|
105
|
+
/** @private */
|
|
106
|
+
static fromTabStop(stop: TabStop): ParagraphTabStop;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Live collection over paragraph tab stops. Mirrors bag {@link ParagraphFormat.tabStops}.
|
|
110
|
+
*
|
|
111
|
+
* @public
|
|
112
|
+
*/
|
|
113
|
+
export declare class TabCollection {
|
|
114
|
+
private readonly owner;
|
|
115
|
+
/** @private */
|
|
116
|
+
constructor(owner: ParagraphFormat);
|
|
117
|
+
/** Number of tab stops. */
|
|
118
|
+
readonly count: number;
|
|
119
|
+
/**
|
|
120
|
+
* Tab stop at index, or `undefined`.
|
|
121
|
+
*/
|
|
122
|
+
item(index: number): ParagraphTabStop | undefined;
|
|
123
|
+
/**
|
|
124
|
+
* Add a tab stop (points / justification / leader).
|
|
125
|
+
* Prefer {@link TabCollection.addTab} for DocIO-aligned naming.
|
|
126
|
+
*/
|
|
127
|
+
add(position: number, justification?: TabJustification, leader?: TabLeader): ParagraphTabStop;
|
|
128
|
+
/**
|
|
129
|
+
* DocIO-aligned add. Zero-arg adds a default left stop at position `0`.
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```ts
|
|
133
|
+
* pf.tabs.addTab();
|
|
134
|
+
* pf.tabs.addTab(36);
|
|
135
|
+
* pf.tabs.addTab(72, TabJustification.Right, TabLeader.Dot);
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
addTab(position?: number, justification?: TabJustification, leader?: TabLeader): ParagraphTabStop;
|
|
139
|
+
/**
|
|
140
|
+
* Remove the tab stop at `index` (`0…count-1`).
|
|
141
|
+
* @throws RangeError when the index is out of range.
|
|
142
|
+
*/
|
|
143
|
+
removeAt(index: number): void;
|
|
144
|
+
/**
|
|
145
|
+
* Remove the first tab stop whose position equals `position` (points).
|
|
146
|
+
* No-op when no matching stop exists.
|
|
147
|
+
*/
|
|
148
|
+
removeByPosition(position: number): void;
|
|
149
|
+
/** Remove all tab stops. */
|
|
150
|
+
clear(): void;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Live single paragraph border edge (`w:pBdr` child).
|
|
154
|
+
*
|
|
155
|
+
* @public
|
|
156
|
+
*/
|
|
157
|
+
export declare class ParagraphBorderFace {
|
|
158
|
+
private readonly owner;
|
|
159
|
+
private readonly edge;
|
|
160
|
+
/** @private */
|
|
161
|
+
constructor(owner: ParagraphFormat, edge: keyof ParagraphBorders);
|
|
162
|
+
private read;
|
|
163
|
+
private write;
|
|
164
|
+
/** Line style. */
|
|
165
|
+
borderType: BorderStyle;
|
|
166
|
+
/** Hex RGB or `'auto'`. Setter also accepts a {@link Color} enum value. */
|
|
167
|
+
color: string | Color;
|
|
168
|
+
/** Thickness in points (public); stored as eighths of a point. */
|
|
169
|
+
lineWidth: number;
|
|
170
|
+
/** Space from text in points. */
|
|
171
|
+
space: number;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Live paragraph borders with per-edge access. Whole-bag assign/clear via
|
|
175
|
+
* {@link ParagraphFormat.setBorders}.
|
|
176
|
+
*
|
|
177
|
+
* @public
|
|
178
|
+
*/
|
|
179
|
+
export declare class ParagraphBordersFace {
|
|
180
|
+
private readonly owner;
|
|
181
|
+
private topFace;
|
|
182
|
+
private leftFace;
|
|
183
|
+
private bottomFace;
|
|
184
|
+
private rightFace;
|
|
185
|
+
private betweenFace;
|
|
186
|
+
private barFace;
|
|
187
|
+
/** @private */
|
|
188
|
+
constructor(owner: ParagraphFormat);
|
|
189
|
+
readonly top: ParagraphBorderFace;
|
|
190
|
+
readonly left: ParagraphBorderFace;
|
|
191
|
+
readonly bottom: ParagraphBorderFace;
|
|
192
|
+
readonly right: ParagraphBorderFace;
|
|
193
|
+
readonly between: ParagraphBorderFace;
|
|
194
|
+
readonly bar: ParagraphBorderFace;
|
|
195
|
+
/** Stamp line style onto all outer edges. */
|
|
196
|
+
borderType: BorderStyle;
|
|
197
|
+
/** Stamp color onto all outer edges (hex/`'auto'` or {@link Color}). */
|
|
198
|
+
color: string | Color;
|
|
199
|
+
/** Stamp line width (points) onto all outer edges. */
|
|
200
|
+
lineWidth: number;
|
|
201
|
+
/** Stamp space from text (points) onto all outer edges. */
|
|
202
|
+
space: number;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Paragraph border line style (`ST_Border` subset on `CT_Border/@w:val`).
|
|
206
|
+
*
|
|
207
|
+
* Authoring accepts string literals such as `'single'`; invalid tokens such as
|
|
208
|
+
* `'abc'` fail at compile time. Wire tokens match the page-setup `BorderStyle`
|
|
209
|
+
* enum; runtime known-set is derived from that enum (see `BORDER_STYLES`).
|
|
210
|
+
*
|
|
211
|
+
* @public
|
|
212
|
+
*/
|
|
213
|
+
export declare type BorderStyle = 'nil' | 'none' | 'single' | 'thick' | 'double' | 'dotted' | 'dashed' | 'dotDash' | 'dotDotDash' | 'triple' | 'thinThickSmallGap' | 'thickThinSmallGap' | 'thinThickThinSmallGap' | 'thinThickMediumGap' | 'thickThinMediumGap' | 'thinThickThinMediumGap' | 'thinThickLargeGap' | 'thickThinLargeGap' | 'thinThickThinLargeGap' | 'wave' | 'doubleWave' | 'dashSmallGap' | 'dashDotStroked' | 'threeDEmboss' | 'threeDEngrave' | 'outset' | 'inset';
|
|
214
|
+
/**
|
|
215
|
+
* A single paragraph border edge (`CT_Border`). §17.3.4
|
|
216
|
+
* @public
|
|
217
|
+
*/
|
|
218
|
+
export interface ParagraphBorder {
|
|
219
|
+
/** `@w:val` — border style (`ST_Border`). */
|
|
220
|
+
readonly style: BorderStyle;
|
|
221
|
+
/** `@w:color` — hex color or `'auto'`. */
|
|
222
|
+
readonly color?: string;
|
|
223
|
+
/** `@w:sz` — border width in eighths-of-a-point. */
|
|
224
|
+
readonly size?: number;
|
|
225
|
+
/** `@w:space` — space from text in points. */
|
|
226
|
+
readonly space?: number;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Paragraph borders (`w:pBdr`). §17.3.1.24
|
|
230
|
+
* @public
|
|
231
|
+
*/
|
|
232
|
+
export interface ParagraphBorders {
|
|
233
|
+
readonly top?: ParagraphBorder;
|
|
234
|
+
readonly left?: ParagraphBorder;
|
|
235
|
+
readonly bottom?: ParagraphBorder;
|
|
236
|
+
readonly right?: ParagraphBorder;
|
|
237
|
+
readonly between?: ParagraphBorder;
|
|
238
|
+
readonly bar?: ParagraphBorder;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Shading pattern (`ST_Shd` subset). §17.18.78
|
|
242
|
+
* @public
|
|
243
|
+
*/
|
|
244
|
+
export declare type ShadingPattern = 'clear' | 'solid' | 'horzStripe' | 'vertStripe' | 'reverseDiagStripe' | 'diagStripe' | 'horzCross' | 'diagCross' | 'thinHorzStripe' | 'thinVertStripe' | 'thinReverseDiagStripe' | 'thinDiagStripe' | 'thinHorzCross' | 'thinDiagCross' | 'pct5' | 'pct10' | 'pct12' | 'pct15' | 'pct20' | 'pct25' | 'pct30' | 'pct35' | 'pct37' | 'pct40' | 'pct45' | 'pct50' | 'pct55' | 'pct60' | 'pct62' | 'pct65' | 'pct70' | 'pct75' | 'pct80' | 'pct85' | 'pct87' | 'pct90' | 'pct95';
|
|
245
|
+
/**
|
|
246
|
+
* Paragraph text direction (`ST_TextDirection`). §17.18.93 / wml.xsd 798–813.
|
|
247
|
+
* Twelve schema tokens; unknown loaded values round-trip via the format raw slot.
|
|
248
|
+
* @public
|
|
249
|
+
*/
|
|
250
|
+
export declare type ParagraphTextDirection = 'lr' | 'rl' | 'tb' | 'tbV' | 'rlV' | 'lrV' | 'btLr' | 'lrTb' | 'lrTbV' | 'tbLrV' | 'tbRl' | 'tbRlV';
|
|
251
|
+
/**
|
|
252
|
+
* Paragraph indentation bag (`w:ind`). §17.3.1.12
|
|
253
|
+
* Used by styles modeled payload codecs — not a `Paragraph` property surface.
|
|
254
|
+
* Body authoring uses flat {@link ParagraphFormat} indent properties.
|
|
255
|
+
* `left` may be negative (e.g. outdented list text).
|
|
256
|
+
* @public
|
|
257
|
+
*/
|
|
258
|
+
export interface ParagraphIndentation {
|
|
259
|
+
/** `@w:left` in points (twips on the wire); may be negative. */
|
|
260
|
+
readonly left?: number;
|
|
261
|
+
/** `@w:right` in points (twips on the wire). */
|
|
262
|
+
readonly right?: number;
|
|
263
|
+
/** `@w:firstLine` in points (twips on the wire). Mutually exclusive with `hanging`. */
|
|
264
|
+
readonly firstLine?: number;
|
|
265
|
+
/** `@w:hanging` in points (twips on the wire). Mutually exclusive with `firstLine`. */
|
|
266
|
+
readonly hanging?: number;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Paragraph spacing bag (`w:spacing`). §17.3.1.33
|
|
270
|
+
* Used by styles modeled payload codecs — not a `Paragraph` property surface.
|
|
271
|
+
* Body authoring uses flat {@link ParagraphFormat} spacing properties.
|
|
272
|
+
* @public
|
|
273
|
+
*/
|
|
274
|
+
export interface ParagraphSpacing {
|
|
275
|
+
/** `@w:before` — space before paragraph, in points (twips on the wire). */
|
|
276
|
+
readonly before?: number;
|
|
277
|
+
/** `@w:after` — space after paragraph, in points (twips on the wire). */
|
|
278
|
+
readonly after?: number;
|
|
279
|
+
/**
|
|
280
|
+
* `@w:line` — line spacing in points (`w:lineRule` determines interpretation;
|
|
281
|
+
* twips on the wire). Prefer {@link ParagraphSpacing.lineSpacing} in styles authoring.
|
|
282
|
+
*/
|
|
283
|
+
readonly line?: number;
|
|
284
|
+
/**
|
|
285
|
+
* `@w:line` — line spacing in points (twips on the wire). Alias of
|
|
286
|
+
* {@link ParagraphSpacing.line} used by the styles feature codec and builtin catalog.
|
|
287
|
+
*/
|
|
288
|
+
readonly lineSpacing?: number;
|
|
289
|
+
/** `@w:lineRule` — how `line` / `lineSpacing` is interpreted. */
|
|
290
|
+
readonly lineRule?: LineSpacingRule;
|
|
291
|
+
/** `@w:beforeAutospacing` — ignore `before` and use automatic spacing. */
|
|
292
|
+
readonly beforeAutospacing?: boolean;
|
|
293
|
+
/** `@w:afterAutospacing` — ignore `after` and use automatic spacing. */
|
|
294
|
+
readonly afterAutospacing?: boolean;
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Paragraph shading bag (`w:shd`). §17.3.1.31
|
|
298
|
+
* Used where a value-bag is required — not a `Paragraph` property surface.
|
|
299
|
+
* Body authoring uses flat {@link ParagraphFormat} `backColor` / `foreColor` /
|
|
300
|
+
* `shadingPattern`.
|
|
301
|
+
* @public
|
|
302
|
+
*/
|
|
303
|
+
export interface ParagraphShading {
|
|
304
|
+
/** `@w:fill` — background fill color (hex or `'auto'`). */
|
|
305
|
+
readonly fill?: string;
|
|
306
|
+
/** `@w:color` — pattern foreground color (hex or `'auto'`). */
|
|
307
|
+
readonly color?: string;
|
|
308
|
+
/** `@w:val` — shading pattern. */
|
|
309
|
+
readonly pattern?: ShadingPattern;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Baseline alignment for the paragraph's lines (`ST_TextAlignment`,
|
|
313
|
+
* `w:textAlignment`). §17.3.1.39.
|
|
314
|
+
* @public
|
|
315
|
+
*/
|
|
316
|
+
export declare type BaselineAlignment = 'auto' | 'top' | 'center' | 'baseline' | 'bottom';
|
|
317
|
+
/**
|
|
318
|
+
* Host that owns a {@link ParagraphFormat} and receives mutation
|
|
319
|
+
* notifications. Implemented by {@link Paragraph} — the host performs the
|
|
320
|
+
* owner (detachment) check and invalidation.
|
|
321
|
+
* @private
|
|
322
|
+
*/
|
|
323
|
+
export interface ParagraphFormatHost {
|
|
324
|
+
notifyParagraphFormatMutation(): void;
|
|
325
|
+
/**
|
|
326
|
+
* Optional effective resolver (Paragraph host). Style-hosted PF must omit this
|
|
327
|
+
* so public getters stay direct/authored-only for style-chain walks.
|
|
328
|
+
* @private
|
|
329
|
+
*/
|
|
330
|
+
resolveEffectiveParagraphValue?(key: string): unknown;
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* @private
|
|
334
|
+
* Internal indents record (`w:ind`) — round-trip slots for spellings not
|
|
335
|
+
* surfaced on the public flat properties. Authored values live in the flat
|
|
336
|
+
* `*Indent` properties; `start`/`end`/`*Chars` twins are preserved verbatim
|
|
337
|
+
* here when loaded and re-emitted on no-op saves.
|
|
338
|
+
*/
|
|
339
|
+
export interface ParagraphIndentsRecord {
|
|
340
|
+
left?: number;
|
|
341
|
+
right?: number;
|
|
342
|
+
firstLine?: number;
|
|
343
|
+
hanging?: number;
|
|
344
|
+
start?: number;
|
|
345
|
+
end?: number;
|
|
346
|
+
leftChars?: number;
|
|
347
|
+
rightChars?: number;
|
|
348
|
+
firstLineChars?: number;
|
|
349
|
+
hangingChars?: number;
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* @private
|
|
353
|
+
* Internal spacing record (`w:spacing`) — authored values in the flat
|
|
354
|
+
* properties plus `@w:beforeLines`/`@w:afterLines` round-trip slots.
|
|
355
|
+
*/
|
|
356
|
+
export interface ParagraphSpacingRecord {
|
|
357
|
+
before?: number;
|
|
358
|
+
after?: number;
|
|
359
|
+
line?: number;
|
|
360
|
+
lineRule?: LineSpacingRule;
|
|
361
|
+
beforeAutospacing?: boolean;
|
|
362
|
+
afterAutospacing?: boolean;
|
|
363
|
+
beforeLines?: number;
|
|
364
|
+
afterLines?: number;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* @private
|
|
368
|
+
* Formatting snapshot for hydrate/serialize (ParagraphFormat module).
|
|
369
|
+
* Wire-unit storage (twips numbers) for exact round-trips; the public
|
|
370
|
+
* accessors convert to points.
|
|
371
|
+
*/
|
|
372
|
+
export interface ParagraphFormatSnapshot {
|
|
373
|
+
pPrExtra: OpenXmlElement[];
|
|
374
|
+
/** Raw `w:jc/@w:val` (unknown values preserved verbatim). */
|
|
375
|
+
jcRaw: string | undefined;
|
|
376
|
+
keepNextValue: boolean | undefined;
|
|
377
|
+
keepLinesValue: boolean | undefined;
|
|
378
|
+
pageBreakBeforeValue: boolean | undefined;
|
|
379
|
+
/** API-only (no ECMA `w:pPr` child); store/hydrate/snapshot only. */
|
|
380
|
+
pageBreakAfterValue: boolean | undefined;
|
|
381
|
+
widowControlValue: boolean | undefined;
|
|
382
|
+
bidiValue: boolean | undefined;
|
|
383
|
+
outlineLevelValue: number | undefined;
|
|
384
|
+
indentsValue: ParagraphIndentsRecord | undefined;
|
|
385
|
+
spacingValue: ParagraphSpacingRecord | undefined;
|
|
386
|
+
tabStopsValue: TabStop[] | undefined;
|
|
387
|
+
bordersValue: ParagraphBorders | undefined;
|
|
388
|
+
shadingValue: ParagraphShading | undefined;
|
|
389
|
+
suppressAutoHyphensValue: boolean | undefined;
|
|
390
|
+
suppressLineNumbersValue: boolean | undefined;
|
|
391
|
+
contextualSpacingValue: boolean | undefined;
|
|
392
|
+
mirrorIndentsValue: boolean | undefined;
|
|
393
|
+
adjustRightIndentValue: boolean | undefined;
|
|
394
|
+
textDirectionValue: ParagraphTextDirection | undefined;
|
|
395
|
+
/** Raw `w:textDirection/@w:val` for out-of-union tokens (round-trip only). */
|
|
396
|
+
textDirectionRaw: string | undefined;
|
|
397
|
+
baselineAlignmentValue: BaselineAlignment | undefined;
|
|
398
|
+
/** Raw `w:textAlignment/@w:val` for out-of-union tokens. */
|
|
399
|
+
baselineAlignmentRaw: string | undefined;
|
|
400
|
+
snapToGridValue: boolean | undefined;
|
|
401
|
+
wordWrapValue: boolean | undefined;
|
|
402
|
+
overflowPunctuationValue: boolean | undefined;
|
|
403
|
+
autoSpaceDEValue: boolean | undefined;
|
|
404
|
+
autoSpaceDNValue: boolean | undefined;
|
|
405
|
+
/** @private Round-trip only — `w:kinsoku`. */
|
|
406
|
+
kinsokuValue: boolean | undefined;
|
|
407
|
+
/** @private Round-trip only — `w:topLinePunct`. */
|
|
408
|
+
topLinePunctuationValue: boolean | undefined;
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* Batch-assign delta for {@link ParagraphFormat.assign}. One optional key
|
|
412
|
+
* per public property (points / booleans / string unions — no `Length`
|
|
413
|
+
* brand, ADR D1).
|
|
414
|
+
*
|
|
415
|
+
* @public
|
|
416
|
+
*/
|
|
417
|
+
export interface ParagraphFormatDelta {
|
|
418
|
+
horizontalAlignment?: ParagraphAlignment;
|
|
419
|
+
keepFollow?: boolean;
|
|
420
|
+
keepLines?: boolean;
|
|
421
|
+
pageBreakBefore?: boolean;
|
|
422
|
+
/** API-only; not serialized to OOXML. */
|
|
423
|
+
pageBreakAfter?: boolean;
|
|
424
|
+
widowControl?: boolean;
|
|
425
|
+
bidi?: boolean;
|
|
426
|
+
outlineLevel?: number;
|
|
427
|
+
leftIndent?: number;
|
|
428
|
+
rightIndent?: number;
|
|
429
|
+
firstLineIndent?: number;
|
|
430
|
+
beforeSpacing?: number;
|
|
431
|
+
afterSpacing?: number;
|
|
432
|
+
beforeAutospacing?: boolean;
|
|
433
|
+
afterAutospacing?: boolean;
|
|
434
|
+
beforeLines?: number;
|
|
435
|
+
afterLines?: number;
|
|
436
|
+
lineSpacing?: number;
|
|
437
|
+
lineSpacingRule?: LineSpacingRule;
|
|
438
|
+
lineSpacingCount?: number;
|
|
439
|
+
tabStops?: TabStop[];
|
|
440
|
+
borders?: ParagraphBorders;
|
|
441
|
+
/** Hex `RRGGBB` / `'auto'`, or a {@link Color} enum value. */
|
|
442
|
+
backColor?: string | Color;
|
|
443
|
+
/** Hex `RRGGBB` / `'auto'`, or a {@link Color} enum value. */
|
|
444
|
+
foreColor?: string | Color;
|
|
445
|
+
shadingPattern?: ShadingPattern;
|
|
446
|
+
suppressAutoHyphens?: boolean;
|
|
447
|
+
suppressLineNumbers?: boolean;
|
|
448
|
+
contextualSpacing?: boolean;
|
|
449
|
+
mirrorIndents?: boolean;
|
|
450
|
+
adjustRightIndent?: boolean;
|
|
451
|
+
textDirection?: ParagraphTextDirection;
|
|
452
|
+
baselineAlignment?: BaselineAlignment;
|
|
453
|
+
snapToGrid?: boolean;
|
|
454
|
+
wordWrap?: boolean;
|
|
455
|
+
overflowPunctuation?: boolean;
|
|
456
|
+
autoSpaceDE?: boolean;
|
|
457
|
+
autoSpaceDN?: boolean;
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* @private
|
|
461
|
+
* Empty snapshot factory.
|
|
462
|
+
*/
|
|
463
|
+
export declare function emptyParagraphFormatSnapshot(): ParagraphFormatSnapshot;
|
|
464
|
+
/**
|
|
465
|
+
* Direct paragraph formatting (`w:p/w:pPr`) — the only public
|
|
466
|
+
* paragraph-formatting surface. One live instance per
|
|
467
|
+
* {@link Paragraph}, lazily created via `paragraph.paragraphFormat`,
|
|
468
|
+
* never null. Mirrors the .NET DocIO `WParagraphFormat` flat property
|
|
469
|
+
* surface (ADR `docs/adr/2026-09-24-paragraph-format-facade.md`).
|
|
470
|
+
*
|
|
471
|
+
* @example
|
|
472
|
+
* ```ts
|
|
473
|
+
* paragraph.paragraphFormat.beforeSpacing = 18;
|
|
474
|
+
* paragraph.paragraphFormat.lineSpacing = 10;
|
|
475
|
+
* paragraph.paragraphFormat.firstLineIndent = 10; // negative = hanging
|
|
476
|
+
* paragraph.paragraphFormat.backColor = 'D3D3D3';
|
|
477
|
+
* paragraph.paragraphFormat.horizontalAlignment = 'end';
|
|
478
|
+
* ```
|
|
479
|
+
*
|
|
480
|
+
* @public
|
|
481
|
+
*/
|
|
482
|
+
export declare class ParagraphFormat {
|
|
483
|
+
private readonly host;
|
|
484
|
+
private pPrExtra;
|
|
485
|
+
private jcRaw;
|
|
486
|
+
private keepNextValue;
|
|
487
|
+
private keepLinesValue;
|
|
488
|
+
private pageBreakBeforeValue;
|
|
489
|
+
private pageBreakAfterValue;
|
|
490
|
+
private widowControlValue;
|
|
491
|
+
private tabsCollection;
|
|
492
|
+
private bordersFace;
|
|
493
|
+
private bidiValue;
|
|
494
|
+
private outlineLevelValue;
|
|
495
|
+
private indentsValue;
|
|
496
|
+
private spacingValue;
|
|
497
|
+
private tabStopsValue;
|
|
498
|
+
private bordersValue;
|
|
499
|
+
private shadingValue;
|
|
500
|
+
private suppressAutoHyphensValue;
|
|
501
|
+
private suppressLineNumbersValue;
|
|
502
|
+
private contextualSpacingValue;
|
|
503
|
+
private mirrorIndentsValue;
|
|
504
|
+
private adjustRightIndentValue;
|
|
505
|
+
private textDirectionValue;
|
|
506
|
+
private textDirectionRaw;
|
|
507
|
+
private baselineAlignmentValue;
|
|
508
|
+
private baselineAlignmentRaw;
|
|
509
|
+
private snapToGridValue;
|
|
510
|
+
private wordWrapValue;
|
|
511
|
+
private overflowPunctuationValue;
|
|
512
|
+
private autoSpaceDEValue;
|
|
513
|
+
private autoSpaceDNValue;
|
|
514
|
+
private kinsokuValue;
|
|
515
|
+
private topLinePunctuationValue;
|
|
516
|
+
/**
|
|
517
|
+
* @private
|
|
518
|
+
*/
|
|
519
|
+
constructor(host: ParagraphFormatHost);
|
|
520
|
+
private mutate;
|
|
521
|
+
private effective;
|
|
522
|
+
private effectiveOrDefault;
|
|
523
|
+
/**
|
|
524
|
+
* Horizontal alignment of the paragraph (`w:jc`). `undefined` = inherit.
|
|
525
|
+
*
|
|
526
|
+
* Loaded directional `left`/`right` wording is surfaced as the neutral
|
|
527
|
+
* `start`/`end` without rewriting the stored value on a no-op save;
|
|
528
|
+
* unknown `w:jc` values (distribute-family) round-trip verbatim and this
|
|
529
|
+
* getter returns `undefined` for them.
|
|
530
|
+
*
|
|
531
|
+
* @public
|
|
532
|
+
*/
|
|
533
|
+
horizontalAlignment: ParagraphAlignment | undefined;
|
|
534
|
+
/** Keep paragraph with the next (`w:keepNext`). `undefined` = inherit. */
|
|
535
|
+
keepFollow: boolean | undefined;
|
|
536
|
+
/** Keep all lines of the paragraph on one page (`w:keepLines`). */
|
|
537
|
+
keepLines: boolean | undefined;
|
|
538
|
+
/** Force this paragraph onto a new page (`w:pageBreakBefore`). */
|
|
539
|
+
pageBreakBefore: boolean | undefined;
|
|
540
|
+
/**
|
|
541
|
+
* DocIO-aligned page-break-after flag.
|
|
542
|
+
*
|
|
543
|
+
* There is no ECMA-376 `w:pageBreakAfter` on `w:pPr` (see
|
|
544
|
+
* `docs/specs/paragraph-formatting.md` § deliberate omissions). The typed flag
|
|
545
|
+
* is still stored for assign / clear / style resolve. On serialize, when the
|
|
546
|
+
* direct value is `true`, body writers emit a **following** paragraph whose
|
|
547
|
+
* only content is `w:r/w:br/@w:type="page"` after the content `w:p` — without
|
|
548
|
+
* inventing a non-schema pPr child and without placing the break run inside
|
|
549
|
+
* the content paragraph.
|
|
550
|
+
*/
|
|
551
|
+
pageBreakAfter: boolean | undefined;
|
|
552
|
+
/** Widow/orphan line control (`w:widowControl`). */
|
|
553
|
+
widowControl: boolean | undefined;
|
|
554
|
+
/** Right-to-left base flow (`w:bidi`). */
|
|
555
|
+
bidi: boolean | undefined;
|
|
556
|
+
/**
|
|
557
|
+
* Outline/navigation level (`w:outlineLvl`): 0–8 = Heading 1–9,
|
|
558
|
+
* 9 = body text. `undefined` = inherit. Authoring an integer outside
|
|
559
|
+
* 0–9 throws `RangeError` (no silent clamp).
|
|
560
|
+
*/
|
|
561
|
+
outlineLevel: number | undefined;
|
|
562
|
+
/**
|
|
563
|
+
* Left-of-flow indent in points (`w:ind/@w:left` authored; loaded
|
|
564
|
+
* `@w:start` preserved). Signed: negative values are legal outdents.
|
|
565
|
+
* Range ±1584 points; out-of-range throws `RangeError`.
|
|
566
|
+
* Setting a value drops a loaded `start`/`leftChars` twin (ADR D11).
|
|
567
|
+
*/
|
|
568
|
+
leftIndent: number | undefined;
|
|
569
|
+
/**
|
|
570
|
+
* Right-of-flow indent in points (`@w:right` authored; loaded `@w:end`
|
|
571
|
+
* preserved). Signed; range ±1584 points. Setting a value drops a loaded
|
|
572
|
+
* `end`/`rightChars` twin.
|
|
573
|
+
*/
|
|
574
|
+
rightIndent: number | undefined;
|
|
575
|
+
/**
|
|
576
|
+
* First-line indent in points, **signed** (ADR D3): positive = first-line
|
|
577
|
+
* indent (`@w:firstLine`); negative = hanging indent (`@w:hanging`,
|
|
578
|
+
* emitted as the absolute twips). Range ±1584 points. Setting a value
|
|
579
|
+
* drops a loaded `firstLineChars` twin. Loading a legacy `w:ind` that
|
|
580
|
+
* carries both `@w:firstLine` and `@w:hanging` is deterministic
|
|
581
|
+
* (firstLine wins) — the pair cannot be co-authored through this API.
|
|
582
|
+
*/
|
|
583
|
+
firstLineIndent: number | undefined;
|
|
584
|
+
/**
|
|
585
|
+
* Space above the paragraph in points (`@w:before`). Range 0–1584.
|
|
586
|
+
* User-set clears an explicit `beforeAutospacing` (set-path only, never
|
|
587
|
+
* on load). Setting a value drops a loaded `@w:beforeLines` twin.
|
|
588
|
+
*/
|
|
589
|
+
beforeSpacing: number | undefined;
|
|
590
|
+
/**
|
|
591
|
+
* Space below the paragraph in points (`@w:after`). Range 0–1584.
|
|
592
|
+
* User-set clears an explicit `afterAutospacing` and drops a loaded
|
|
593
|
+
* `@w:afterLines` twin.
|
|
594
|
+
*/
|
|
595
|
+
afterSpacing: number | undefined;
|
|
596
|
+
/** Automatic spacing above (`@w:beforeAutospacing`). */
|
|
597
|
+
beforeAutospacing: boolean | undefined;
|
|
598
|
+
/** Automatic spacing below (`@w:afterAutospacing`). */
|
|
599
|
+
afterAutospacing: boolean | undefined;
|
|
600
|
+
/**
|
|
601
|
+
* Line-grid spacing above in hundredths of a line (`@w:beforeLines`),
|
|
602
|
+
* round-trip slot for the East-Asian line-grid authoring style. Authored
|
|
603
|
+
* `beforeSpacing` drops a loaded twin.
|
|
604
|
+
*/
|
|
605
|
+
beforeLines: number | undefined;
|
|
606
|
+
/** Line-grid spacing below in hundredths of a line (`@w:afterLines`). */
|
|
607
|
+
afterLines: number | undefined;
|
|
608
|
+
/**
|
|
609
|
+
* Fixed/minimum line spacing in points (`@w:line` with
|
|
610
|
+
* `lineSpacingRule` `'atLeast'` or `'exact'`). Range 0.7–1584 points.
|
|
611
|
+
* Setting it clears {@link lineSpacingCount} — both are views of one
|
|
612
|
+
* `@line` slot (ADR D4).
|
|
613
|
+
*/
|
|
614
|
+
lineSpacing: number | undefined;
|
|
615
|
+
/**
|
|
616
|
+
* Interpretation rule for `@w:line`: `'auto'` (multiple of single
|
|
617
|
+
* spacing — use {@link lineSpacingCount}), `'exact'` (exactly the given
|
|
618
|
+
* height), `'atLeast'` (at least the given height). Default when
|
|
619
|
+
* `lineSpacing` is authored without a rule: `'exact'`.
|
|
620
|
+
*/
|
|
621
|
+
lineSpacingRule: LineSpacingRule | undefined;
|
|
622
|
+
/**
|
|
623
|
+
* Multiple-of-single line spacing (authoring view over
|
|
624
|
+
* `@line = round(n × 240)` + `@lineRule="auto"`), e.g. `1.5` or `2`.
|
|
625
|
+
* Range 0–100; mutually clears with {@link lineSpacing} (ADR D4).
|
|
626
|
+
* Getter returns `n` only when the stored rule is `'auto'` and `@line`
|
|
627
|
+
* is set; otherwise `undefined` (effective style may still resolve).
|
|
628
|
+
*/
|
|
629
|
+
lineSpacingCount: number | undefined;
|
|
630
|
+
/**
|
|
631
|
+
* Custom tab stops (`w:tabs`), assigned whole as an array. `undefined`
|
|
632
|
+
* clears explicit stops (style/default resolution may still supply some).
|
|
633
|
+
*/
|
|
634
|
+
tabStops: TabStop[] | undefined;
|
|
635
|
+
/**
|
|
636
|
+
* Live DocIO-style tab-stop collection. Mutates the same storage as
|
|
637
|
+
* {@link ParagraphFormat.tabStops}.
|
|
638
|
+
*/
|
|
639
|
+
readonly tabs: TabCollection;
|
|
640
|
+
/**
|
|
641
|
+
* Live paragraph borders (`w:pBdr`) facade — always a
|
|
642
|
+
* {@link ParagraphBordersFace} (aggregate `borderType` / `color` /
|
|
643
|
+
* `lineWidth` / `space`, plus `top` / `left` / `bottom` / `right` /
|
|
644
|
+
* `horizontal` / `vertical`). Never `undefined` and never a plain bag.
|
|
645
|
+
*
|
|
646
|
+
* Whole-bag replace or clear: {@link ParagraphFormat.setBorders}.
|
|
647
|
+
*/
|
|
648
|
+
readonly borders: ParagraphBordersFace;
|
|
649
|
+
/**
|
|
650
|
+
* Replace or clear the whole paragraph-borders bag (`w:pBdr`).
|
|
651
|
+
* Pass `undefined` to clear authored borders. Per-edge edits use
|
|
652
|
+
* {@link ParagraphFormat.borders}.
|
|
653
|
+
*/
|
|
654
|
+
setBorders(value: ParagraphBorders | undefined): void;
|
|
655
|
+
/**
|
|
656
|
+
* @private
|
|
657
|
+
* Direct bag read for facades / serializers (avoids face getter recursion).
|
|
658
|
+
*/
|
|
659
|
+
readBordersBag(): ParagraphBorders | undefined;
|
|
660
|
+
/**
|
|
661
|
+
* @private
|
|
662
|
+
*/
|
|
663
|
+
writeBordersBag(value: ParagraphBorders | undefined): void;
|
|
664
|
+
/**
|
|
665
|
+
* Background fill color (`w:shd/@w:fill`).
|
|
666
|
+
*
|
|
667
|
+
* - **Get (runtime)**: OOXML wire string — hex `RRGGBB`, `'auto'`, or the
|
|
668
|
+
* default `''` when unset. Loaded wire values are preserved (never a
|
|
669
|
+
* {@link Color} enum).
|
|
670
|
+
* - **Set**: hex string / `'auto'`, a {@link Color} enum value (converted to
|
|
671
|
+
* hex immediately), or `undefined` to clear the authored fill.
|
|
672
|
+
*
|
|
673
|
+
* TypeScript 3.3 requires identical get/set types, so the declared type is
|
|
674
|
+
* `string | Color | undefined`; the getter always returns a string.
|
|
675
|
+
*/
|
|
676
|
+
backColor: string | Color | undefined;
|
|
677
|
+
/**
|
|
678
|
+
* Pattern foreground color (`w:shd/@w:color`).
|
|
679
|
+
*
|
|
680
|
+
* - **Get (runtime)**: OOXML wire string — hex `RRGGBB`, `'auto'`, or the
|
|
681
|
+
* default `''` when unset. Loaded wire values are preserved (never a
|
|
682
|
+
* {@link Color} enum).
|
|
683
|
+
* - **Set**: hex string / `'auto'`, a {@link Color} enum value (converted to
|
|
684
|
+
* hex immediately), or `undefined` to clear.
|
|
685
|
+
*
|
|
686
|
+
* TypeScript 3.3 requires identical get/set types, so the declared type is
|
|
687
|
+
* `string | Color | undefined`; the getter always returns a string.
|
|
688
|
+
*/
|
|
689
|
+
foreColor: string | Color | undefined;
|
|
690
|
+
/**
|
|
691
|
+
* Shading pattern (`w:shd/@w:val`). Authoring an out-of-subset token
|
|
692
|
+
* throws `DocxError('content/invalid-shading-pattern', …)`; unknown
|
|
693
|
+
* loaded tokens round-trip via the parked-element path (never throw).
|
|
694
|
+
*/
|
|
695
|
+
shadingPattern: ShadingPattern | undefined;
|
|
696
|
+
/**
|
|
697
|
+
* Suppress automatic hyphenation for this paragraph
|
|
698
|
+
* (`w:suppressAutoHyphens`, ECMA-376-1 §17.3.1.34 — the only
|
|
699
|
+
* hyphenation element; ADR D5). Foreign `w:suppressHyphenation` markup
|
|
700
|
+
* (not an ECMA-376 element) parks verbatim in `pPrExtra`.
|
|
701
|
+
*/
|
|
702
|
+
suppressAutoHyphens: boolean;
|
|
703
|
+
/** Exclude this paragraph from line numbering (`w:suppressLineNumbers`). */
|
|
704
|
+
suppressLineNumbers: boolean;
|
|
705
|
+
/** Ignore before/after spacing between same-style paragraphs (`w:contextualSpacing`). */
|
|
706
|
+
contextualSpacing: boolean;
|
|
707
|
+
/** Treat left/right indents as inside/outside for mirrored margins (`w:mirrorIndents`). */
|
|
708
|
+
mirrorIndents: boolean;
|
|
709
|
+
/** Auto-adjust right indent against the document grid (`w:adjustRightInd`). */
|
|
710
|
+
adjustRightIndent: boolean;
|
|
711
|
+
/**
|
|
712
|
+
* Physical text flow direction (`w:textDirection`,
|
|
713
|
+
* `ST_TextDirection` — all 12 tokens). Unknown loaded tokens round-trip
|
|
714
|
+
* verbatim (raw slot) and the getter returns `undefined` for them;
|
|
715
|
+
* authoring an invalid token throws
|
|
716
|
+
* `DocxError('content/invalid-text-direction', …)`.
|
|
717
|
+
*/
|
|
718
|
+
textDirection: ParagraphTextDirection | undefined;
|
|
719
|
+
/**
|
|
720
|
+
* How characters of different sizes align vertically on a line
|
|
721
|
+
* (`w:textAlignment`, `ST_TextAlignment`). Unknown loaded tokens
|
|
722
|
+
* round-trip verbatim and the getter returns `undefined` for them;
|
|
723
|
+
* authoring an invalid token throws
|
|
724
|
+
* `DocxError('content/invalid-baseline-alignment', …)`.
|
|
725
|
+
*/
|
|
726
|
+
baselineAlignment: BaselineAlignment | undefined;
|
|
727
|
+
/** Use document grid line pitch (`w:snapToGrid`). */
|
|
728
|
+
snapToGrid: boolean;
|
|
729
|
+
/** Break lines on word level (`w:wordWrap`). */
|
|
730
|
+
wordWrap: boolean;
|
|
731
|
+
/** Allow trailing punctuation to extend beyond the line (`w:overflowPunct`). */
|
|
732
|
+
overflowPunctuation: boolean;
|
|
733
|
+
/** Auto space between East-Asian and Latin text (`w:autoSpaceDE`). */
|
|
734
|
+
autoSpaceDE: boolean;
|
|
735
|
+
/** Auto space between East-Asian text and numbers (`w:autoSpaceDN`). */
|
|
736
|
+
autoSpaceDN: boolean;
|
|
737
|
+
/**
|
|
738
|
+
* @private
|
|
739
|
+
* `w:kinsoku` — East-Asian line-breaking rules (round-trip only).
|
|
740
|
+
*/
|
|
741
|
+
/** @private */
|
|
742
|
+
kinsoku: boolean | undefined;
|
|
743
|
+
/**
|
|
744
|
+
* @private
|
|
745
|
+
* `w:topLinePunct` — punctuation at line start preference (round-trip only).
|
|
746
|
+
*/
|
|
747
|
+
/** @private */
|
|
748
|
+
topLinePunctuation: boolean | undefined;
|
|
749
|
+
/**
|
|
750
|
+
* @private
|
|
751
|
+
* Raw loaded `w:textDirection/@w:val` for tokens outside the public union.
|
|
752
|
+
*/
|
|
753
|
+
textDirectionRawValue(): string | undefined;
|
|
754
|
+
/**
|
|
755
|
+
* @private
|
|
756
|
+
* Raw loaded `w:textAlignment/@w:val` for tokens outside the public union.
|
|
757
|
+
*/
|
|
758
|
+
baselineAlignmentRawValue(): string | undefined;
|
|
759
|
+
/**
|
|
760
|
+
* Apply a partial delta. Uses setters — cross-property effects
|
|
761
|
+
* (autospacing clearing, mutual line-slot clearing) apply.
|
|
762
|
+
* @public
|
|
763
|
+
*/
|
|
764
|
+
assign(delta: ParagraphFormatDelta): void;
|
|
765
|
+
/**
|
|
766
|
+
* Clear all typed formatting. Does not clear `pPrExtra`.
|
|
767
|
+
* @public
|
|
768
|
+
*/
|
|
769
|
+
clear(): void;
|
|
770
|
+
/**
|
|
771
|
+
* @private
|
|
772
|
+
* Load a snapshot without set-path cross-property effects.
|
|
773
|
+
*/
|
|
774
|
+
hydrate(data: ParagraphFormatSnapshot): void;
|
|
775
|
+
/**
|
|
776
|
+
* @private
|
|
777
|
+
*/
|
|
778
|
+
snapshot(): ParagraphFormatSnapshot;
|
|
779
|
+
/**
|
|
780
|
+
* @private
|
|
781
|
+
* Parked children (`framePr`, `pPrChange`, unknowns, foreign invalid markup).
|
|
782
|
+
* Mark `w:rPr` is owned by {@link Paragraph.breakCharacterFormat}, not parked here.
|
|
783
|
+
* Read/write for the paragraph-owned serializer.
|
|
784
|
+
*/
|
|
785
|
+
extraChildren(): OpenXmlElement[];
|
|
786
|
+
/**
|
|
787
|
+
* @private
|
|
788
|
+
* Paragraph conditional formatting membership (`w:pPr/w:cnfStyle`).
|
|
789
|
+
*/
|
|
790
|
+
readCnfStyle(): CnfStyle | undefined;
|
|
791
|
+
/**
|
|
792
|
+
* @private
|
|
793
|
+
* Write or clear paragraph `w:cnfStyle` in parked extra children.
|
|
794
|
+
* `undefined` removes the element; a supplied state always writes
|
|
795
|
+
* (including all-false normalized form).
|
|
796
|
+
*/
|
|
797
|
+
writeCnfStyle(state: NormalizedCnfStyle | CnfStyle | undefined): void;
|
|
798
|
+
/**
|
|
799
|
+
* @private
|
|
800
|
+
* Materialize `w:pPr` children owned by this format (CT_PPrBase order).
|
|
801
|
+
* Does not emit `pStyle` / `numPr` / `rPr` / `sectPr` — those stay on {@link Paragraph}.
|
|
802
|
+
*/
|
|
803
|
+
buildPPrChildren(inject?: ParagraphPPrInject): OpenXmlElement[];
|
|
804
|
+
}
|
|
805
|
+
/**
|
|
806
|
+
* Optional inject hooks for paragraph-owned children that must sit at fixed
|
|
807
|
+
* CT_PPrBase / CT_PPr positions inside the materialised `w:pPr` list.
|
|
808
|
+
* @private
|
|
809
|
+
*/
|
|
810
|
+
export interface ParagraphPPrInject {
|
|
811
|
+
/** Pre-built `w:numPr` element, emitted after `widowControl`. */
|
|
812
|
+
numPr?: OpenXmlElement;
|
|
813
|
+
/**
|
|
814
|
+
* Pre-built mark `w:rPr` from {@link Paragraph.breakCharacterFormat},
|
|
815
|
+
* emitted after `outlineLvl` and before `sectPr` (CT_PPr order).
|
|
816
|
+
*/
|
|
817
|
+
rPr?: OpenXmlElement;
|
|
818
|
+
/** Pre-built `w:sectPr` element, emitted after mark `rPr` and before `pPrChange`. */
|
|
819
|
+
sectPr?: OpenXmlElement;
|
|
820
|
+
}
|
|
821
|
+
/**
|
|
822
|
+
* Parse `w:ind` into a wire-twips {@link ParagraphIndentsRecord}.
|
|
823
|
+
* Preserves `@start`/`@end`/`*Chars` for D2 round-trip.
|
|
824
|
+
* @private
|
|
825
|
+
*/
|
|
826
|
+
export declare function parseIndentsRecord(el: OpenXmlElement): ParagraphIndentsRecord | undefined;
|
|
827
|
+
/**
|
|
828
|
+
* Parse `w:spacing` into a wire-unit {@link ParagraphSpacingRecord}.
|
|
829
|
+
* Preserves `@beforeLines`/`@afterLines` for round-trip.
|
|
830
|
+
* @private
|
|
831
|
+
*/
|
|
832
|
+
export declare function parseSpacingRecord(el: OpenXmlElement): ParagraphSpacingRecord | undefined;
|
|
833
|
+
/**
|
|
834
|
+
* Parse `w:pPr` children into a {@link ParagraphFormatSnapshot}.
|
|
835
|
+
* Invalid / unmodeled markup is parked in `pPrExtra` (never throws on load).
|
|
836
|
+
* Does not consume `pStyle` / `numPr` / `rPr` / `sectPr` — callers handle those.
|
|
837
|
+
*
|
|
838
|
+
* @private
|
|
839
|
+
*/
|
|
840
|
+
export declare function parseParagraphFormat(pPrElement: OpenXmlElement): ParagraphFormatSnapshot;
|
|
841
|
+
/**
|
|
842
|
+
* Serialize wire-twips indents record → `w:ind`.
|
|
843
|
+
* D2: authored `left`/`right` plus any RT `start`/`end`/`*Chars` slots.
|
|
844
|
+
* @private
|
|
845
|
+
*/
|
|
846
|
+
export declare function serializeIndentsRecord(ind: ParagraphIndentsRecord): OpenXmlElement;
|
|
847
|
+
/**
|
|
848
|
+
* Serialize wire-unit spacing record → `w:spacing`.
|
|
849
|
+
* @private
|
|
850
|
+
*/
|
|
851
|
+
export declare function serializeSpacingRecord(sp: ParagraphSpacingRecord): OpenXmlElement;
|
|
852
|
+
/**
|
|
853
|
+
* Materialize format-owned `w:pPr` children in CT_PPrBase / CT_PPr order.
|
|
854
|
+
* Inject optional paragraph-owned `numPr` / `sectPr` at schema positions.
|
|
855
|
+
* D5: never emits `w:suppressHyphenation` from typed state.
|
|
856
|
+
*
|
|
857
|
+
* @private
|
|
858
|
+
*/
|
|
859
|
+
export declare function buildPPrChildrenFromSnapshot(snap: ParagraphFormatSnapshot, inject?: ParagraphPPrInject): OpenXmlElement[];
|
|
860
|
+
/**
|
|
861
|
+
* Wire `w:spacing` → public points {@link ParagraphSpacing} with `lineSpacing` key.
|
|
862
|
+
* Used by the styles feature; preserves prior payload shape.
|
|
863
|
+
* @private
|
|
864
|
+
*/
|
|
865
|
+
export declare function parseParagraphSpacingPoints(el: OpenXmlElement): ParagraphSpacing | undefined;
|
|
866
|
+
/**
|
|
867
|
+
* Wire `w:ind` → public points {@link ParagraphIndentation}.
|
|
868
|
+
* @private
|
|
869
|
+
*/
|
|
870
|
+
export declare function parseParagraphIndentationPoints(el: OpenXmlElement): ParagraphIndentation | undefined;
|
|
871
|
+
/**
|
|
872
|
+
* Points {@link ParagraphSpacing} → `w:spacing` (styles `lineSpacing` key).
|
|
873
|
+
* @private
|
|
874
|
+
*/
|
|
875
|
+
export declare function serializeParagraphSpacingPoints(spacing: ParagraphSpacing): OpenXmlElement;
|
|
876
|
+
/**
|
|
877
|
+
* Points {@link ParagraphIndentation} → `w:ind` (D2 left/right spellings).
|
|
878
|
+
* @private
|
|
879
|
+
*/
|
|
880
|
+
export declare function serializeParagraphIndentationPoints(indentation: ParagraphIndentation): OpenXmlElement;
|