@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,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public WrapFormat owned by Shape / GroupShape (Shape.md §8).
|
|
3
|
+
* @packageDocumentation
|
|
4
|
+
*/
|
|
5
|
+
import { assertEnumMember, TEXT_WRAPPING_STYLE_SET, TEXT_WRAPPING_TYPE_SET, TextWrappingType, } from '../images/layout-types';
|
|
6
|
+
/**
|
|
7
|
+
* Drawing host text-wrap formatting.
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
var WrapFormat = /** @class */ (function () {
|
|
11
|
+
/** @private */
|
|
12
|
+
function WrapFormat(owner) {
|
|
13
|
+
this.owner = owner;
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(WrapFormat.prototype, "textWrappingStyle", {
|
|
16
|
+
/** @public */
|
|
17
|
+
get: function () {
|
|
18
|
+
return this.owner.readWrapStyle();
|
|
19
|
+
},
|
|
20
|
+
set: function (value) {
|
|
21
|
+
assertEnumMember('textWrappingStyle', value, TEXT_WRAPPING_STYLE_SET);
|
|
22
|
+
this.owner.writeWrapStyle(value);
|
|
23
|
+
},
|
|
24
|
+
enumerable: true,
|
|
25
|
+
configurable: true
|
|
26
|
+
});
|
|
27
|
+
Object.defineProperty(WrapFormat.prototype, "textWrappingType", {
|
|
28
|
+
/** @public */
|
|
29
|
+
get: function () {
|
|
30
|
+
return this.owner.readWrapType();
|
|
31
|
+
},
|
|
32
|
+
set: function (value) {
|
|
33
|
+
if (value === TextWrappingType.Unknown) {
|
|
34
|
+
throw new RangeError('WrapFormat.textWrappingType cannot be set to TextWrappingType.Unknown');
|
|
35
|
+
}
|
|
36
|
+
assertEnumMember('textWrappingType', value, TEXT_WRAPPING_TYPE_SET);
|
|
37
|
+
this.owner.writeWrapType(value);
|
|
38
|
+
},
|
|
39
|
+
enumerable: true,
|
|
40
|
+
configurable: true
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(WrapFormat.prototype, "allowOverlap", {
|
|
43
|
+
/** @public */
|
|
44
|
+
get: function () {
|
|
45
|
+
return this.owner.readAllowOverlap();
|
|
46
|
+
},
|
|
47
|
+
set: function (value) {
|
|
48
|
+
if (value !== true && value !== false) {
|
|
49
|
+
throw new RangeError('WrapFormat.allowOverlap must be a boolean');
|
|
50
|
+
}
|
|
51
|
+
this.owner.writeAllowOverlap(value);
|
|
52
|
+
},
|
|
53
|
+
enumerable: true,
|
|
54
|
+
configurable: true
|
|
55
|
+
});
|
|
56
|
+
Object.defineProperty(WrapFormat.prototype, "distanceTop", {
|
|
57
|
+
/** @public */
|
|
58
|
+
get: function () {
|
|
59
|
+
return this.owner.readDistanceTop();
|
|
60
|
+
},
|
|
61
|
+
set: function (value) {
|
|
62
|
+
if (typeof value !== 'number' || !Number.isFinite(value)) {
|
|
63
|
+
throw new RangeError('WrapFormat.distanceTop must be a finite number of points');
|
|
64
|
+
}
|
|
65
|
+
this.owner.writeDistanceTop(value);
|
|
66
|
+
},
|
|
67
|
+
enumerable: true,
|
|
68
|
+
configurable: true
|
|
69
|
+
});
|
|
70
|
+
Object.defineProperty(WrapFormat.prototype, "distanceBottom", {
|
|
71
|
+
/** @public */
|
|
72
|
+
get: function () {
|
|
73
|
+
return this.owner.readDistanceBottom();
|
|
74
|
+
},
|
|
75
|
+
set: function (value) {
|
|
76
|
+
if (typeof value !== 'number' || !Number.isFinite(value)) {
|
|
77
|
+
throw new RangeError('WrapFormat.distanceBottom must be a finite number of points');
|
|
78
|
+
}
|
|
79
|
+
this.owner.writeDistanceBottom(value);
|
|
80
|
+
},
|
|
81
|
+
enumerable: true,
|
|
82
|
+
configurable: true
|
|
83
|
+
});
|
|
84
|
+
Object.defineProperty(WrapFormat.prototype, "distanceLeft", {
|
|
85
|
+
/** @public */
|
|
86
|
+
get: function () {
|
|
87
|
+
return this.owner.readDistanceLeft();
|
|
88
|
+
},
|
|
89
|
+
set: function (value) {
|
|
90
|
+
if (typeof value !== 'number' || !Number.isFinite(value)) {
|
|
91
|
+
throw new RangeError('WrapFormat.distanceLeft must be a finite number of points');
|
|
92
|
+
}
|
|
93
|
+
this.owner.writeDistanceLeft(value);
|
|
94
|
+
},
|
|
95
|
+
enumerable: true,
|
|
96
|
+
configurable: true
|
|
97
|
+
});
|
|
98
|
+
Object.defineProperty(WrapFormat.prototype, "distanceRight", {
|
|
99
|
+
/** @public */
|
|
100
|
+
get: function () {
|
|
101
|
+
return this.owner.readDistanceRight();
|
|
102
|
+
},
|
|
103
|
+
set: function (value) {
|
|
104
|
+
if (typeof value !== 'number' || !Number.isFinite(value)) {
|
|
105
|
+
throw new RangeError('WrapFormat.distanceRight must be a finite number of points');
|
|
106
|
+
}
|
|
107
|
+
this.owner.writeDistanceRight(value);
|
|
108
|
+
},
|
|
109
|
+
enumerable: true,
|
|
110
|
+
configurable: true
|
|
111
|
+
});
|
|
112
|
+
return WrapFormat;
|
|
113
|
+
}());
|
|
114
|
+
export { WrapFormat };
|
|
@@ -0,0 +1,494 @@
|
|
|
1
|
+
import { WordDocument } from '../document/document';
|
|
2
|
+
import { FeatureBlock } from '../document/feature-block';
|
|
3
|
+
import { FeatureInline } from '../document/feature-inline';
|
|
4
|
+
import { Paragraph } from '../document/paragraph';
|
|
5
|
+
import { FeatureInlineParagraphItem, ParagraphItem } from '../document/text-range';
|
|
6
|
+
import { OpenXmlAttribute, OpenXmlElement } from '../../core/xml/index';
|
|
7
|
+
/**
|
|
8
|
+
* Editor group for an editable range (`ST_EdGrp`, ECMA-376-1 §17.18.21).
|
|
9
|
+
*
|
|
10
|
+
* `w:edGrp` on the start marker names the set of users who may edit the range.
|
|
11
|
+
* ECMA note: `w:ed` (a single editor) takes precedence over the group when both
|
|
12
|
+
* are present; the library stores both without resolving precedence.
|
|
13
|
+
*
|
|
14
|
+
* @private
|
|
15
|
+
*/
|
|
16
|
+
export declare const EditableRangeEditorGroup: {
|
|
17
|
+
None: string;
|
|
18
|
+
Everyone: string;
|
|
19
|
+
Administrators: string;
|
|
20
|
+
Contributors: string;
|
|
21
|
+
Editors: string;
|
|
22
|
+
Owners: string;
|
|
23
|
+
Current: string;
|
|
24
|
+
};
|
|
25
|
+
export declare type EditableRangeEditorGroup = (typeof EditableRangeEditorGroup)[keyof typeof EditableRangeEditorGroup];
|
|
26
|
+
/**
|
|
27
|
+
* Physical displacement relative to a custom XML markup element
|
|
28
|
+
* (`ST_DisplacedByCustomXml`, ECMA-376-1 §17.18.13).
|
|
29
|
+
*
|
|
30
|
+
* @private
|
|
31
|
+
*/
|
|
32
|
+
export declare type DisplacedByCustomXml = 'next' | 'prev';
|
|
33
|
+
/**
|
|
34
|
+
* Editable-range start marker (`w:permStart`, ECMA-376-1 §17.13.7.2).
|
|
35
|
+
*
|
|
36
|
+
* Paired with an {@link EditableRangeEnd} by matching {@link EditableRangeStart.rangeId}
|
|
37
|
+
* (`w:id`). Markers are first-class DOM nodes occupying an exact slot among
|
|
38
|
+
* paragraph inlines (or body blocks for run-level markers between paragraphs),
|
|
39
|
+
* so relative order versus runs, bookmarks, fields, and other content is stable.
|
|
40
|
+
*
|
|
41
|
+
* @remarks
|
|
42
|
+
* - `rangeId` maps `w:id` (non-negative after save materialization; a negative
|
|
43
|
+
* pending id is allocated on author and remapped before save).
|
|
44
|
+
* - `editorGroup` maps `w:edGrp` (`ST_EdGrp`); `editor` maps `w:ed`.
|
|
45
|
+
* - `columnFirst` / `columnLast` map `w:colFirst` / `w:colLast` (zero-based
|
|
46
|
+
* table column span).
|
|
47
|
+
* - Attributes outside the modeled set are preserved verbatim and re-emitted on
|
|
48
|
+
* serialization (lossless round-trip).
|
|
49
|
+
* - `undefined` means the attribute is absent on serialize; assigning a value
|
|
50
|
+
* emits it; assigning `undefined` removes it.
|
|
51
|
+
*
|
|
52
|
+
* @private
|
|
53
|
+
*/
|
|
54
|
+
export declare class EditableRangeStart implements FeatureInline, FeatureBlock {
|
|
55
|
+
private rangeIdValue;
|
|
56
|
+
private editorGroupValue;
|
|
57
|
+
private editorValue;
|
|
58
|
+
private columnFirstValue;
|
|
59
|
+
private columnLastValue;
|
|
60
|
+
private displacedByCustomXmlValue;
|
|
61
|
+
private readonly residual;
|
|
62
|
+
/**
|
|
63
|
+
* @private
|
|
64
|
+
*/
|
|
65
|
+
constructor(rangeId: number, options?: {
|
|
66
|
+
readonly editorGroup?: EditableRangeEditorGroup | undefined;
|
|
67
|
+
readonly editor?: string | undefined;
|
|
68
|
+
readonly columnFirst?: number | undefined;
|
|
69
|
+
readonly columnLast?: number | undefined;
|
|
70
|
+
readonly displacedByCustomXml?: DisplacedByCustomXml | undefined;
|
|
71
|
+
readonly residualAttributes?: ReadonlyArray<OpenXmlAttribute> | undefined;
|
|
72
|
+
});
|
|
73
|
+
/**
|
|
74
|
+
* Editable-range identifier shared with the paired end marker (`w:id`).
|
|
75
|
+
*/
|
|
76
|
+
readonly rangeId: number;
|
|
77
|
+
/**
|
|
78
|
+
* @private
|
|
79
|
+
*/
|
|
80
|
+
setRangeId(rangeId: number): void;
|
|
81
|
+
/**
|
|
82
|
+
* @private
|
|
83
|
+
*/
|
|
84
|
+
isPendingRangeId(): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Editor group allowed to edit the range (`w:edGrp`, `ST_EdGrp`).
|
|
87
|
+
*/
|
|
88
|
+
editorGroup: EditableRangeEditorGroup | undefined;
|
|
89
|
+
/**
|
|
90
|
+
* Single editor allowed to edit the range (`w:ed`) — `DOMAIN\user`,
|
|
91
|
+
* `user@domain`, or a machine-local `user` form.
|
|
92
|
+
*/
|
|
93
|
+
editor: string | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* Zero-based first table column of the range (`w:colFirst`).
|
|
96
|
+
*/
|
|
97
|
+
columnFirst: number | undefined;
|
|
98
|
+
/**
|
|
99
|
+
* Zero-based last table column of the range (`w:colLast`).
|
|
100
|
+
*/
|
|
101
|
+
columnLast: number | undefined;
|
|
102
|
+
/**
|
|
103
|
+
* Displacement relative to a custom XML markup element
|
|
104
|
+
* (`w:displacedByCustomXml`).
|
|
105
|
+
*/
|
|
106
|
+
displacedByCustomXml: DisplacedByCustomXml | undefined;
|
|
107
|
+
/**
|
|
108
|
+
* @private
|
|
109
|
+
* Residual attributes preserved for lossless serialization. */
|
|
110
|
+
residualAttributes(): ReadonlyArray<OpenXmlAttribute>;
|
|
111
|
+
/**
|
|
112
|
+
* @private
|
|
113
|
+
*/
|
|
114
|
+
releaseContent(): void;
|
|
115
|
+
toOpenXml(): OpenXmlElement;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Editable-range end marker (`w:permEnd`, ECMA-376-1 §17.13.7.1).
|
|
119
|
+
*
|
|
120
|
+
* Paired with an {@link EditableRangeStart} by matching `w:id`. The end marker
|
|
121
|
+
* carries only the identifier, optional displacement, and residual attributes.
|
|
122
|
+
*
|
|
123
|
+
* @private
|
|
124
|
+
*/
|
|
125
|
+
export declare class EditableRangeEnd implements FeatureInline, FeatureBlock {
|
|
126
|
+
private rangeIdValue;
|
|
127
|
+
private displacedByCustomXmlValue;
|
|
128
|
+
private readonly residual;
|
|
129
|
+
/**
|
|
130
|
+
* @private
|
|
131
|
+
*/
|
|
132
|
+
constructor(rangeId: number, options?: {
|
|
133
|
+
readonly displacedByCustomXml?: DisplacedByCustomXml | undefined;
|
|
134
|
+
readonly residualAttributes?: ReadonlyArray<OpenXmlAttribute> | undefined;
|
|
135
|
+
});
|
|
136
|
+
/**
|
|
137
|
+
* Editable-range identifier shared with the paired start marker (`w:id`).
|
|
138
|
+
*/
|
|
139
|
+
readonly rangeId: number;
|
|
140
|
+
/**
|
|
141
|
+
* @private
|
|
142
|
+
*/
|
|
143
|
+
setRangeId(rangeId: number): void;
|
|
144
|
+
/**
|
|
145
|
+
* @private
|
|
146
|
+
*/
|
|
147
|
+
isPendingRangeId(): boolean;
|
|
148
|
+
/**
|
|
149
|
+
* Displacement relative to a custom XML markup element
|
|
150
|
+
* (`w:displacedByCustomXml`).
|
|
151
|
+
*/
|
|
152
|
+
displacedByCustomXml: DisplacedByCustomXml | undefined;
|
|
153
|
+
/**
|
|
154
|
+
* @private
|
|
155
|
+
* Residual attributes preserved for lossless serialization. */
|
|
156
|
+
residualAttributes(): ReadonlyArray<OpenXmlAttribute>;
|
|
157
|
+
/**
|
|
158
|
+
* @private
|
|
159
|
+
*/
|
|
160
|
+
releaseContent(): void;
|
|
161
|
+
toOpenXml(): OpenXmlElement;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Live query view over a paired start/end marker pair, resolved by `w:id`.
|
|
165
|
+
*
|
|
166
|
+
* The view does not own markup: {@link EditableRangeStart} and
|
|
167
|
+
* {@link EditableRangeEnd} remain in their host containers (which may be
|
|
168
|
+
* different paragraphs), and property reads write through to the live start
|
|
169
|
+
* marker.
|
|
170
|
+
*
|
|
171
|
+
* @private
|
|
172
|
+
*/
|
|
173
|
+
export declare class EditableRange {
|
|
174
|
+
private readonly startMarkerValue;
|
|
175
|
+
private readonly endMarkerValue;
|
|
176
|
+
/**
|
|
177
|
+
* @private
|
|
178
|
+
*/
|
|
179
|
+
constructor(start: EditableRangeStart, end: EditableRangeEnd);
|
|
180
|
+
/**
|
|
181
|
+
* Identifier shared by the paired markers (`w:id`).
|
|
182
|
+
*/
|
|
183
|
+
readonly rangeId: number;
|
|
184
|
+
/**
|
|
185
|
+
* Start marker (`w:permStart`).
|
|
186
|
+
*/
|
|
187
|
+
readonly startMarker: EditableRangeStart;
|
|
188
|
+
/**
|
|
189
|
+
* End marker (`w:permEnd`).
|
|
190
|
+
*/
|
|
191
|
+
readonly endMarker: EditableRangeEnd;
|
|
192
|
+
/**
|
|
193
|
+
* Editor group allowed to edit the range (`w:edGrp` on the start marker).
|
|
194
|
+
* Assignment writes through to {@link EditableRangeStart.editorGroup}.
|
|
195
|
+
*/
|
|
196
|
+
editorGroup: EditableRangeEditorGroup | undefined;
|
|
197
|
+
/**
|
|
198
|
+
* Single editor allowed to edit the range (`w:ed` on the start marker).
|
|
199
|
+
* Assignment writes through to {@link EditableRangeStart.editor}.
|
|
200
|
+
*/
|
|
201
|
+
editor: string | undefined;
|
|
202
|
+
/**
|
|
203
|
+
* Zero-based first table column of the range (`w:colFirst`).
|
|
204
|
+
*/
|
|
205
|
+
readonly columnFirst: number | undefined;
|
|
206
|
+
/**
|
|
207
|
+
* Zero-based last table column of the range (`w:colLast`).
|
|
208
|
+
*/
|
|
209
|
+
readonly columnLast: number | undefined;
|
|
210
|
+
/**
|
|
211
|
+
* Whether both markers are paragraph inlines of the same paragraph.
|
|
212
|
+
*
|
|
213
|
+
* Requires a document walk; pass the owning document via
|
|
214
|
+
* {@link editableRangeMarkersShareParagraph}.
|
|
215
|
+
*
|
|
216
|
+
|
|
217
|
+
* @private
|
|
218
|
+
*/
|
|
219
|
+
markersShareParagraph(document: WordDocument): boolean;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Whether both markers of a paired range are inlines of the same paragraph.
|
|
223
|
+
*
|
|
224
|
+
* @private
|
|
225
|
+
*/
|
|
226
|
+
export declare function editableRangeMarkersShareParagraph(document: WordDocument, range: EditableRange): boolean;
|
|
227
|
+
/**
|
|
228
|
+
* Deep-clone a start marker, optionally overriding `rangeId`.
|
|
229
|
+
*
|
|
230
|
+
* Residual attributes are copied. Used by paragraph/content clone helpers that
|
|
231
|
+
* re-insert ranges without sharing live marker instances.
|
|
232
|
+
*
|
|
233
|
+
* @private
|
|
234
|
+
*/
|
|
235
|
+
export declare function cloneEditableRangeStart(source: EditableRangeStart, options?: {
|
|
236
|
+
readonly rangeId?: number;
|
|
237
|
+
}): EditableRangeStart;
|
|
238
|
+
/**
|
|
239
|
+
* Deep-clone an end marker, optionally overriding `rangeId`.
|
|
240
|
+
*
|
|
241
|
+
* @private
|
|
242
|
+
*/
|
|
243
|
+
export declare function cloneEditableRangeEnd(source: EditableRangeEnd, options?: {
|
|
244
|
+
readonly rangeId?: number;
|
|
245
|
+
}): EditableRangeEnd;
|
|
246
|
+
/**
|
|
247
|
+
* Clone a paired range’s markers onto a target document with a fresh pending id.
|
|
248
|
+
*
|
|
249
|
+
* Returns detached start/end clones (not inserted). Callers insert them into
|
|
250
|
+
* the desired hosts. Both clones share the same pending id so they pair after
|
|
251
|
+
* insertion. Does not mutate the source markers.
|
|
252
|
+
*
|
|
253
|
+
* @private
|
|
254
|
+
*/
|
|
255
|
+
export declare function cloneEditableRangeForInsert(document: WordDocument, range: EditableRange): {
|
|
256
|
+
readonly start: EditableRangeStart;
|
|
257
|
+
readonly end: EditableRangeEnd;
|
|
258
|
+
};
|
|
259
|
+
/**
|
|
260
|
+
* Remove both markers of a paired editable range; enclosed content is kept.
|
|
261
|
+
*
|
|
262
|
+
* Markers may be paragraph inlines and/or body-level feature blocks. After
|
|
263
|
+
* removal the pair is gone from query APIs; orphan policy does not apply
|
|
264
|
+
* because both ends are deleted together.
|
|
265
|
+
*
|
|
266
|
+
* @param document - Owning document (used for body-level marker removal)
|
|
267
|
+
* @param range - Pair view from a query or authoring API
|
|
268
|
+
* @returns Nothing
|
|
269
|
+
* @throws {@link DocxError} `content/unknown-editable-range` when either marker
|
|
270
|
+
* is not found in the document.
|
|
271
|
+
* @example
|
|
272
|
+
* ```ts
|
|
273
|
+
* const [range] = editableRangesInDocument(doc);
|
|
274
|
+
* if (range) removeEditableRange(doc, range);
|
|
275
|
+
* ```
|
|
276
|
+
* @private
|
|
277
|
+
*/
|
|
278
|
+
export declare function removeEditableRange(document: WordDocument, range: EditableRange): void;
|
|
279
|
+
/**
|
|
280
|
+
* Move a single modeled marker from one paragraph content slot to another.
|
|
281
|
+
*
|
|
282
|
+
* Used for same-document reorder tests; does not change `rangeId`. When the
|
|
283
|
+
* marker is a body-level feature block, it is removed from the body and
|
|
284
|
+
* inserted as an inline in the target paragraph.
|
|
285
|
+
*
|
|
286
|
+
* @private
|
|
287
|
+
*/
|
|
288
|
+
export declare function moveEditableRangeMarkerToParagraph(document: WordDocument, marker: EditableRangeStart | EditableRangeEnd, targetParagraph: Paragraph, inlineIndex: number): void;
|
|
289
|
+
/**
|
|
290
|
+
* Remap every editable-range marker in a paragraph to fresh pending ids, pairing
|
|
291
|
+
* starts with ends that share the previous id within the paragraph only.
|
|
292
|
+
*
|
|
293
|
+
* Intended for “clone paragraph then insert” flows so positive ids are not
|
|
294
|
+
* duplicated in the document. Cross-paragraph half-clones keep unpaired markers
|
|
295
|
+
* with new pending ids (one id per marker).
|
|
296
|
+
*
|
|
297
|
+
* @private
|
|
298
|
+
*/
|
|
299
|
+
export declare function remapEditableRangeIdsInParagraphToPending(paragraph: Paragraph): void;
|
|
300
|
+
/**
|
|
301
|
+
* Clone all editable-range markers found as paragraph inlines, preserving local
|
|
302
|
+
* pairing by assigning one fresh pending id per former id shared by start/end
|
|
303
|
+
* in this paragraph.
|
|
304
|
+
*
|
|
305
|
+
* Returns new marker instances (not inserted). Non-range inlines are ignored —
|
|
306
|
+
* callers building a full paragraph clone still need core paragraph clone support.
|
|
307
|
+
*
|
|
308
|
+
* @private
|
|
309
|
+
*/
|
|
310
|
+
export declare function cloneEditableRangeMarkersFromParagraph(document: WordDocument, sourceParagraph: Paragraph): {
|
|
311
|
+
readonly markers: ReadonlyArray<{
|
|
312
|
+
readonly index: number;
|
|
313
|
+
readonly marker: EditableRangeStart | EditableRangeEnd;
|
|
314
|
+
}>;
|
|
315
|
+
};
|
|
316
|
+
declare type EditableRangeMarker = EditableRangeStart | EditableRangeEnd;
|
|
317
|
+
/**
|
|
318
|
+
* All paired editable ranges in document order of their start markers.
|
|
319
|
+
*
|
|
320
|
+
* Walks body-level markers and paragraph inlines (including nested feature
|
|
321
|
+
* paragraphs such as table cells). Unpaired start/end markers are omitted from
|
|
322
|
+
* the list but remain in the DOM and continue to serialize.
|
|
323
|
+
*
|
|
324
|
+
* @param document - WordDocument whose body is walked
|
|
325
|
+
* @returns Stable pair views (same start marker → same `EditableRange` object)
|
|
326
|
+
* @example
|
|
327
|
+
* ```ts
|
|
328
|
+
* for (const range of editableRangesInDocument(doc)) {
|
|
329
|
+
* console.log(range.rangeId, range.editorGroup);
|
|
330
|
+
* }
|
|
331
|
+
* ```
|
|
332
|
+
* @private
|
|
333
|
+
*/
|
|
334
|
+
export declare function editableRangesInDocument(document: WordDocument): ReadonlyArray<EditableRange>;
|
|
335
|
+
/**
|
|
336
|
+
* Paired editable ranges whose start marker lies in this paragraph.
|
|
337
|
+
*
|
|
338
|
+
* The matching end may be in the same paragraph, a later paragraph, or a
|
|
339
|
+
* body-level feature block. Unpaired starts in the paragraph are omitted.
|
|
340
|
+
*
|
|
341
|
+
* @param paragraph - Paragraph that may host start markers
|
|
342
|
+
* @returns Subset of {@link editableRangesInDocument} for this paragraph
|
|
343
|
+
* @example
|
|
344
|
+
* ```ts
|
|
345
|
+
* const starts = editableRangesStartingInParagraph(doc.body.paragraphs[0]!);
|
|
346
|
+
* ```
|
|
347
|
+
* @private
|
|
348
|
+
*/
|
|
349
|
+
export declare function editableRangesStartingInParagraph(paragraph: Paragraph): ReadonlyArray<EditableRange>;
|
|
350
|
+
/**
|
|
351
|
+
* First paired editable range with this range identifier, if any.
|
|
352
|
+
*
|
|
353
|
+
* When duplicate starts share an id, the first start in document order that
|
|
354
|
+
* successfully pairs wins (see pairing algorithm).
|
|
355
|
+
*
|
|
356
|
+
* @param document - WordDocument to search
|
|
357
|
+
* @param rangeId - `w:id` value (`EditableRange.rangeId`)
|
|
358
|
+
* @returns First matching pair, or `undefined`
|
|
359
|
+
* @example
|
|
360
|
+
* ```ts
|
|
361
|
+
* const range = editableRangeById(doc, 0);
|
|
362
|
+
* ```
|
|
363
|
+
* @private
|
|
364
|
+
*/
|
|
365
|
+
export declare function editableRangeById(document: WordDocument, rangeId: number): EditableRange | undefined;
|
|
366
|
+
/**
|
|
367
|
+
* Modeled editable-range markers in document order (paired and unpaired).
|
|
368
|
+
*
|
|
369
|
+
* Useful for diagnostics and tests; public authoring stays on pair views.
|
|
370
|
+
*
|
|
371
|
+
* @param document - WordDocument whose markers are listed
|
|
372
|
+
* @returns Start and end markers in document order
|
|
373
|
+
* @private
|
|
374
|
+
*/
|
|
375
|
+
export declare function editableRangeMarkersInDocument(document: WordDocument): ReadonlyArray<EditableRangeMarker>;
|
|
376
|
+
/**
|
|
377
|
+
* @private
|
|
378
|
+
* Allocate a pending (negative) id unique among editable-range markers. */
|
|
379
|
+
export declare function allocatePendingEditableRangeId(document: WordDocument): number;
|
|
380
|
+
/**
|
|
381
|
+
* Next free non-negative editable-range id for the document (max existing + 1).
|
|
382
|
+
*
|
|
383
|
+
* Does not allocate or mutate markers; save-time materialization still remaps
|
|
384
|
+
* pending negative ids independently.
|
|
385
|
+
*
|
|
386
|
+
* @param document - WordDocument to scan
|
|
387
|
+
* @returns Smallest non-negative id not used by any marker
|
|
388
|
+
* @private
|
|
389
|
+
*/
|
|
390
|
+
export declare function nextEditableRangeId(document: WordDocument): number;
|
|
391
|
+
/**
|
|
392
|
+
* @private
|
|
393
|
+
* Test hook */
|
|
394
|
+
export declare function resetEditableRangesFeatureForTests(): void;
|
|
395
|
+
/**
|
|
396
|
+
* Register the editable-ranges feature handlers. Idempotent.
|
|
397
|
+
*
|
|
398
|
+
* Registers inline handlers (`w:permStart` / `w:permEnd` inside paragraphs),
|
|
399
|
+
* the matching body block handlers (run-level markers between paragraphs), and
|
|
400
|
+
* the save-time materialization pass that remaps pending negative identifiers
|
|
401
|
+
* to the next free non-negative `w:id`. When this module is not imported,
|
|
402
|
+
* editable-range markup stays opaque and is preserved byte-for-byte.
|
|
403
|
+
*
|
|
404
|
+
* @returns Nothing
|
|
405
|
+
* @example
|
|
406
|
+
* ```ts
|
|
407
|
+
* import { registerEditableRangesFeature } from '@syncfusion/ej2-docx/editable-ranges';
|
|
408
|
+
* registerEditableRangesFeature();
|
|
409
|
+
* ```
|
|
410
|
+
* @private
|
|
411
|
+
*/
|
|
412
|
+
export declare function registerEditableRangesFeature(): void;
|
|
413
|
+
/**
|
|
414
|
+
* Whether paragraph inline content is a modeled editable-range start marker
|
|
415
|
+
* (`w:permStart`) from this module.
|
|
416
|
+
*
|
|
417
|
+
* @private
|
|
418
|
+
*/
|
|
419
|
+
export declare function isEditableRangeStartInline(inline: ParagraphItem): inline is FeatureInlineParagraphItem & {
|
|
420
|
+
value: EditableRangeStart;
|
|
421
|
+
};
|
|
422
|
+
/**
|
|
423
|
+
* Whether paragraph inline content is a modeled editable-range end marker
|
|
424
|
+
* (`w:permEnd`) from this module.
|
|
425
|
+
*
|
|
426
|
+
* @private
|
|
427
|
+
*/
|
|
428
|
+
export declare function isEditableRangeEndInline(inline: ParagraphItem): inline is FeatureInlineParagraphItem & {
|
|
429
|
+
value: EditableRangeEnd;
|
|
430
|
+
};
|
|
431
|
+
/**
|
|
432
|
+
* Options when wrapping existing paragraph content in an editable range.
|
|
433
|
+
*
|
|
434
|
+
* @private
|
|
435
|
+
*/
|
|
436
|
+
export interface EditableRangeWrapOptions {
|
|
437
|
+
/** Inclusive start index into `paragraph.content` (pre-insert). */
|
|
438
|
+
startInlineIndex: number;
|
|
439
|
+
/** Exclusive end index into `paragraph.content` (pre-insert). */
|
|
440
|
+
endInlineIndex: number;
|
|
441
|
+
/** Optional editor group (`w:edGrp`). */
|
|
442
|
+
editorGroup?: EditableRangeEditorGroup;
|
|
443
|
+
/** Optional single editor name (`w:ed`). */
|
|
444
|
+
editor?: string;
|
|
445
|
+
/** Optional first table column index (`w:colFirst`). */
|
|
446
|
+
columnFirst?: number;
|
|
447
|
+
/** Optional last table column index (`w:colLast`). */
|
|
448
|
+
columnLast?: number;
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* Wrap an existing same-paragraph content slice in a new editable range.
|
|
452
|
+
*
|
|
453
|
+
* Indices refer to the current `paragraph.content` array **before** insertion:
|
|
454
|
+
* the start marker is inserted at `startInlineIndex`, and the end marker is
|
|
455
|
+
* inserted so that it follows the original slice
|
|
456
|
+
* (`endInlineIndex + 1` after the start push). Enclosed content is not copied
|
|
457
|
+
* or moved. Cross-paragraph authoring is not supported — use load/preserve for
|
|
458
|
+
* multi-paragraph ranges.
|
|
459
|
+
*
|
|
460
|
+
* @param paragraph - Paragraph that owns the inlines to wrap
|
|
461
|
+
* @param options - Inclusive/exclusive indices and optional editor metadata
|
|
462
|
+
* @returns Live pair view for the new markers (pending id until save)
|
|
463
|
+
* @example
|
|
464
|
+
* ```ts
|
|
465
|
+
* insertEditableRangeAt(paragraph, {
|
|
466
|
+
* startInlineIndex: 1,
|
|
467
|
+
* endInlineIndex: 2,
|
|
468
|
+
* editorGroup: 'editors',
|
|
469
|
+
* });
|
|
470
|
+
* ```
|
|
471
|
+
* @private
|
|
472
|
+
*/
|
|
473
|
+
export declare function insertEditableRangeAt(paragraph: Paragraph, options: EditableRangeWrapOptions): EditableRange;
|
|
474
|
+
/**
|
|
475
|
+
* Options for {@link Paragraph.appendEditableRange}.
|
|
476
|
+
*
|
|
477
|
+
* @private
|
|
478
|
+
*/
|
|
479
|
+
export interface AppendEditableRangeOptions {
|
|
480
|
+
/** Optional editor group (`w:edGrp`). */
|
|
481
|
+
editorGroup?: EditableRangeEditorGroup;
|
|
482
|
+
/** Optional single editor name (`w:ed`). */
|
|
483
|
+
editor?: string;
|
|
484
|
+
/** Optional first table column index (`w:colFirst`). */
|
|
485
|
+
columnFirst?: number;
|
|
486
|
+
/** Optional last table column index (`w:colLast`). */
|
|
487
|
+
columnLast?: number;
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* Feature id string for editable-range markers (`editable-ranges`).
|
|
491
|
+
* @private
|
|
492
|
+
*/
|
|
493
|
+
export declare const EDITABLE_RANGES_FEATURE_ID: import("../../core/registry").FeatureId;
|
|
494
|
+
export {};
|