@syncfusion/ej2-docx 0.0.0-stage → 35.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -2
- package/core.js +4 -0
- package/dist/ej2-docx.umd.min.js +2 -0
- package/dist/ej2-docx.umd.min.js.map +1 -0
- package/dist/es6/ej2-docx.es2015.js +66697 -0
- package/dist/es6/ej2-docx.es2015.js.map +1 -0
- package/dist/es6/ej2-docx.es5.js +77568 -0
- package/dist/es6/ej2-docx.es5.js.map +1 -0
- package/dist/global/ej2-docx.min.js +2 -0
- package/dist/global/ej2-docx.min.js.map +1 -0
- package/dist/global/index.d.ts +5 -0
- package/features.js +4 -0
- package/index.js +4 -0
- package/license +10 -0
- package/package.json +31 -4
- package/src/all.d.ts +50 -0
- package/src/all.js +147 -0
- package/src/core/compat/base64.d.ts +13 -0
- package/src/core/compat/base64.js +90 -0
- package/src/core/compat/object-compat.d.ts +30 -0
- package/src/core/compat/object-compat.js +40 -0
- package/src/core/compat/sha256.d.ts +9 -0
- package/src/core/compat/sha256.js +98 -0
- package/src/core/errors/docx-error.d.ts +89 -0
- package/src/core/errors/docx-error.js +138 -0
- package/src/core/errors/error-codes.d.ts +8 -0
- package/src/core/errors/error-codes.js +0 -0
- package/src/core/errors/index.d.ts +10 -0
- package/src/core/errors/index.js +9 -0
- package/src/core/index.d.ts +12 -0
- package/src/core/index.js +12 -0
- package/src/core/mc/alternate-content.d.ts +7 -0
- package/src/core/mc/alternate-content.js +67 -0
- package/src/core/mc/attributes.d.ts +24 -0
- package/src/core/mc/attributes.js +82 -0
- package/src/core/mc/index.d.ts +7 -0
- package/src/core/mc/index.js +5 -0
- package/src/core/mc/inspect.d.ts +16 -0
- package/src/core/mc/inspect.js +148 -0
- package/src/core/mc/namespaces.d.ts +4 -0
- package/src/core/mc/namespaces.js +4 -0
- package/src/core/mc/scope.d.ts +6 -0
- package/src/core/mc/scope.js +47 -0
- package/src/core/opc/content-types.d.ts +34 -0
- package/src/core/opc/content-types.js +162 -0
- package/src/core/opc/index.d.ts +8 -0
- package/src/core/opc/index.js +4 -0
- package/src/core/opc/package.d.ts +49 -0
- package/src/core/opc/package.js +324 -0
- package/src/core/opc/part-name.d.ts +47 -0
- package/src/core/opc/part-name.js +205 -0
- package/src/core/opc/relationships.d.ts +46 -0
- package/src/core/opc/relationships.js +212 -0
- package/src/core/preservation/index.d.ts +2 -0
- package/src/core/preservation/index.js +1 -0
- package/src/core/preservation/opaque-body.d.ts +16 -0
- package/src/core/preservation/opaque-body.js +69 -0
- package/src/core/registry/block-handlers.d.ts +30 -0
- package/src/core/registry/block-handlers.js +36 -0
- package/src/core/registry/create-defaults.d.ts +39 -0
- package/src/core/registry/create-defaults.js +42 -0
- package/src/core/registry/feature-registry.d.ts +20 -0
- package/src/core/registry/feature-registry.js +29 -0
- package/src/core/registry/index.d.ts +9 -0
- package/src/core/registry/index.js +8 -0
- package/src/core/registry/inline-handlers.d.ts +20 -0
- package/src/core/registry/inline-handlers.js +30 -0
- package/src/core/registry/materialize-handlers.d.ts +35 -0
- package/src/core/registry/materialize-handlers.js +75 -0
- package/src/core/registry/multi-part-handlers.d.ts +37 -0
- package/src/core/registry/multi-part-handlers.js +206 -0
- package/src/core/registry/package-part-handlers.d.ts +28 -0
- package/src/core/registry/package-part-handlers.js +190 -0
- package/src/core/registry/part-handlers.d.ts +24 -0
- package/src/core/registry/part-handlers.js +172 -0
- package/src/core/registry/run-leaf-handlers.d.ts +26 -0
- package/src/core/registry/run-leaf-handlers.js +72 -0
- package/src/core/security/limits.d.ts +40 -0
- package/src/core/security/limits.js +26 -0
- package/src/core/xml/index.d.ts +7 -0
- package/src/core/xml/index.js +3 -0
- package/src/core/xml/model.d.ts +66 -0
- package/src/core/xml/model.js +17 -0
- package/src/core/xml/parse.d.ts +12 -0
- package/src/core/xml/parse.js +382 -0
- package/src/core/xml/serialize.d.ts +6 -0
- package/src/core/xml/serialize.js +93 -0
- package/src/core/zip/crc32.d.ts +2 -0
- package/src/core/zip/crc32.js +25 -0
- package/src/core/zip/deflate.d.ts +6 -0
- package/src/core/zip/deflate.js +6 -0
- package/src/core/zip/index.d.ts +10 -0
- package/src/core/zip/index.js +4 -0
- package/src/core/zip/inflate-raw.d.ts +17 -0
- package/src/core/zip/inflate-raw.js +450 -0
- package/src/core/zip/names.d.ts +6 -0
- package/src/core/zip/names.js +52 -0
- package/src/core/zip/read.d.ts +8 -0
- package/src/core/zip/read.js +262 -0
- package/src/core/zip/write.d.ts +7 -0
- package/src/core/zip/write.js +189 -0
- package/src/core/zip/zip-entry.d.ts +4 -0
- package/src/core/zip/zip-entry.js +0 -0
- package/src/features/bibliography/index.d.ts +100 -0
- package/src/features/bibliography/index.js +290 -0
- package/src/features/bookmarks/index.d.ts +331 -0
- package/src/features/bookmarks/index.js +1009 -0
- package/src/features/comments/comment-extensions.d.ts +157 -0
- package/src/features/comments/comment-extensions.js +356 -0
- package/src/features/comments/index.d.ts +579 -0
- package/src/features/comments/index.js +1727 -0
- package/src/features/content-controls/index.d.ts +821 -0
- package/src/features/content-controls/index.js +2857 -0
- package/src/features/custom-xml/index.d.ts +236 -0
- package/src/features/custom-xml/index.js +661 -0
- package/src/features/document/alignment.d.ts +23 -0
- package/src/features/document/alignment.js +36 -0
- package/src/features/document/alt-chunk.d.ts +103 -0
- package/src/features/document/alt-chunk.js +221 -0
- package/src/features/document/assert-never.d.ts +1 -0
- package/src/features/document/assert-never.js +4 -0
- package/src/features/document/augmentations.d.ts +578 -0
- package/src/features/document/augmentations.js +0 -0
- package/src/features/document/body-always-on.d.ts +36 -0
- package/src/features/document/body-always-on.js +66 -0
- package/src/features/document/body-blocks.d.ts +7 -0
- package/src/features/document/body-blocks.js +78 -0
- package/src/features/document/body-item-adapters.d.ts +62 -0
- package/src/features/document/body-item-adapters.js +97 -0
- package/src/features/document/body-item-collection.d.ts +151 -0
- package/src/features/document/body-item-collection.js +440 -0
- package/src/features/document/body-item.d.ts +35 -0
- package/src/features/document/body-item.js +8 -0
- package/src/features/document/body.d.ts +150 -0
- package/src/features/document/body.js +263 -0
- package/src/features/document/character-format.d.ts +413 -0
- package/src/features/document/character-format.js +2054 -0
- package/src/features/document/color.d.ts +178 -0
- package/src/features/document/color.js +495 -0
- package/src/features/document/document.d.ts +410 -0
- package/src/features/document/document.js +1049 -0
- package/src/features/document/element-type.d.ts +68 -0
- package/src/features/document/element-type.js +133 -0
- package/src/features/document/entity-type.d.ts +92 -0
- package/src/features/document/entity-type.js +93 -0
- package/src/features/document/feature-block.d.ts +16 -0
- package/src/features/document/feature-block.js +0 -0
- package/src/features/document/feature-inline.d.ts +13 -0
- package/src/features/document/feature-inline.js +0 -0
- package/src/features/document/feature-multi-package-part.d.ts +19 -0
- package/src/features/document/feature-multi-package-part.js +8 -0
- package/src/features/document/feature-package-level-part.d.ts +18 -0
- package/src/features/document/feature-package-level-part.js +8 -0
- package/src/features/document/feature-package-part.d.ts +14 -0
- package/src/features/document/feature-package-part.js +0 -0
- package/src/features/document/feature-run-leaf.d.ts +9 -0
- package/src/features/document/feature-run-leaf.js +0 -0
- package/src/features/document/headers-footers.d.ts +206 -0
- package/src/features/document/headers-footers.js +384 -0
- package/src/features/document/index.d.ts +41 -0
- package/src/features/document/index.js +34 -0
- package/src/features/document/length.d.ts +152 -0
- package/src/features/document/length.js +245 -0
- package/src/features/document/load-options.d.ts +14 -0
- package/src/features/document/load-options.js +0 -0
- package/src/features/document/locale-ids.d.ts +227 -0
- package/src/features/document/locale-ids.js +485 -0
- package/src/features/document/on-off.d.ts +9 -0
- package/src/features/document/on-off.js +27 -0
- package/src/features/document/page-setup.d.ts +339 -0
- package/src/features/document/page-setup.js +244 -0
- package/src/features/document/paragraph-format.d.ts +880 -0
- package/src/features/document/paragraph-format.js +2807 -0
- package/src/features/document/paragraph-item-collection.d.ts +162 -0
- package/src/features/document/paragraph-item-collection.js +363 -0
- package/src/features/document/paragraph-item.d.ts +83 -0
- package/src/features/document/paragraph-item.js +103 -0
- package/src/features/document/paragraph.d.ts +435 -0
- package/src/features/document/paragraph.js +888 -0
- package/src/features/document/run.d.ts +1 -0
- package/src/features/document/run.js +768 -0
- package/src/features/document/section-partition-flatten.d.ts +124 -0
- package/src/features/document/section-partition-flatten.js +217 -0
- package/src/features/document/section-properties-model.d.ts +13 -0
- package/src/features/document/section-properties-model.js +0 -0
- package/src/features/document/section.d.ts +93 -0
- package/src/features/document/section.js +178 -0
- package/src/features/document/sections.d.ts +103 -0
- package/src/features/document/sections.js +217 -0
- package/src/features/document/sub-super-script.d.ts +23 -0
- package/src/features/document/sub-super-script.js +43 -0
- package/src/features/document/text-range.d.ts +445 -0
- package/src/features/document/text-range.js +1156 -0
- package/src/features/document/typed-body-collections.d.ts +162 -0
- package/src/features/document/typed-body-collections.js +371 -0
- package/src/features/document/underline-style.d.ts +38 -0
- package/src/features/document/underline-style.js +126 -0
- package/src/features/document/units.d.ts +8 -0
- package/src/features/document/units.js +7 -0
- package/src/features/document/wml.d.ts +16 -0
- package/src/features/document/wml.js +67 -0
- package/src/features/drawing/authoring.d.ts +27 -0
- package/src/features/drawing/authoring.js +271 -0
- package/src/features/drawing/body-pr.d.ts +271 -0
- package/src/features/drawing/body-pr.js +663 -0
- package/src/features/drawing/drawing-shape.d.ts +1192 -0
- package/src/features/drawing/drawing-shape.js +3239 -0
- package/src/features/drawing/encode-builders.d.ts +176 -0
- package/src/features/drawing/encode-builders.js +390 -0
- package/src/features/drawing/fill-format.d.ts +52 -0
- package/src/features/drawing/fill-format.js +124 -0
- package/src/features/drawing/host-codec.d.ts +632 -0
- package/src/features/drawing/host-codec.js +2595 -0
- package/src/features/drawing/index.d.ts +13 -0
- package/src/features/drawing/index.js +33 -0
- package/src/features/drawing/line-format.d.ts +76 -0
- package/src/features/drawing/line-format.js +343 -0
- package/src/features/drawing/parse-register.d.ts +50 -0
- package/src/features/drawing/parse-register.js +257 -0
- package/src/features/drawing/residual-utils.d.ts +47 -0
- package/src/features/drawing/residual-utils.js +290 -0
- package/src/features/drawing/shape-types.d.ts +433 -0
- package/src/features/drawing/shape-types.js +437 -0
- package/src/features/drawing/sp-pr.d.ts +396 -0
- package/src/features/drawing/sp-pr.js +610 -0
- package/src/features/drawing/text-frame.d.ts +90 -0
- package/src/features/drawing/text-frame.js +152 -0
- package/src/features/drawing/types.d.ts +352 -0
- package/src/features/drawing/types.js +60 -0
- package/src/features/drawing/wrap-format.d.ts +62 -0
- package/src/features/drawing/wrap-format.js +114 -0
- package/src/features/editable-ranges/index.d.ts +494 -0
- package/src/features/editable-ranges/index.js +1348 -0
- package/src/features/fields/index.d.ts +428 -0
- package/src/features/fields/index.js +2148 -0
- package/src/features/fields/paragraph-field.d.ts +187 -0
- package/src/features/fields/paragraph-field.js +692 -0
- package/src/features/font-table/font-substitution-table.d.ts +75 -0
- package/src/features/font-table/font-substitution-table.js +257 -0
- package/src/features/font-table/font-table-entry.d.ts +255 -0
- package/src/features/font-table/font-table-entry.js +823 -0
- package/src/features/font-table/font-table.d.ts +128 -0
- package/src/features/font-table/font-table.js +313 -0
- package/src/features/font-table/index.d.ts +27 -0
- package/src/features/font-table/index.js +48 -0
- package/src/features/glossary/index.d.ts +97 -0
- package/src/features/glossary/index.js +286 -0
- package/src/features/headers-footers/index.d.ts +506 -0
- package/src/features/headers-footers/index.js +1666 -0
- package/src/features/hyperlinks/index.d.ts +230 -0
- package/src/features/hyperlinks/index.js +685 -0
- package/src/features/images/caption-authoring-api.d.ts +33 -0
- package/src/features/images/caption-authoring-api.js +33 -0
- package/src/features/images/caption-enums.d.ts +52 -0
- package/src/features/images/caption-enums.js +141 -0
- package/src/features/images/caption-host.d.ts +10 -0
- package/src/features/images/caption-host.js +21 -0
- package/src/features/images/captions.d.ts +13 -0
- package/src/features/images/captions.js +142 -0
- package/src/features/images/host-codec.d.ts +103 -0
- package/src/features/images/host-codec.js +720 -0
- package/src/features/images/image-sniff.d.ts +21 -0
- package/src/features/images/image-sniff.js +71 -0
- package/src/features/images/index.d.ts +506 -0
- package/src/features/images/index.js +1429 -0
- package/src/features/images/layout-types.d.ts +232 -0
- package/src/features/images/layout-types.js +294 -0
- package/src/features/images/public-entry.d.ts +9 -0
- package/src/features/images/public-entry.js +9 -0
- package/src/features/index.d.ts +35 -0
- package/src/features/index.js +36 -0
- package/src/features/mail-merge/index.d.ts +113 -0
- package/src/features/mail-merge/index.js +315 -0
- package/src/features/notes/index.d.ts +573 -0
- package/src/features/notes/index.js +1725 -0
- package/src/features/numbering/abstract-numbering.d.ts +90 -0
- package/src/features/numbering/abstract-numbering.js +292 -0
- package/src/features/numbering/index.d.ts +182 -0
- package/src/features/numbering/index.js +668 -0
- package/src/features/numbering/list-format.d.ts +158 -0
- package/src/features/numbering/list-format.js +590 -0
- package/src/features/numbering/list-string.d.ts +7 -0
- package/src/features/numbering/list-string.js +423 -0
- package/src/features/numbering/list-style.d.ts +204 -0
- package/src/features/numbering/list-style.js +1084 -0
- package/src/features/numbering/numbering-instance.d.ts +101 -0
- package/src/features/numbering/numbering-instance.js +329 -0
- package/src/features/numbering/numbering-level.d.ts +118 -0
- package/src/features/numbering/numbering-level.js +501 -0
- package/src/features/numbering/picture-bullet.d.ts +34 -0
- package/src/features/numbering/picture-bullet.js +88 -0
- package/src/features/ole-object/catalog.d.ts +300 -0
- package/src/features/ole-object/catalog.js +908 -0
- package/src/features/ole-object/index.d.ts +526 -0
- package/src/features/ole-object/index.js +1421 -0
- package/src/features/ole-object/relationship.d.ts +27 -0
- package/src/features/ole-object/relationship.js +27 -0
- package/src/features/ole-object/typed-dom.d.ts +186 -0
- package/src/features/ole-object/typed-dom.js +595 -0
- package/src/features/properties/index.d.ts +205 -0
- package/src/features/properties/index.js +549 -0
- package/src/features/revisions/index.d.ts +204 -0
- package/src/features/revisions/index.js +695 -0
- package/src/features/sections/column-collection.d.ts +119 -0
- package/src/features/sections/column-collection.js +478 -0
- package/src/features/sections/column.d.ts +15 -0
- package/src/features/sections/column.js +37 -0
- package/src/features/sections/index.d.ts +91 -0
- package/src/features/sections/index.js +1096 -0
- package/src/features/sections/margins.d.ts +40 -0
- package/src/features/sections/margins.js +105 -0
- package/src/features/sections/page-number-style.d.ts +21 -0
- package/src/features/sections/page-number-style.js +62 -0
- package/src/features/sections/page-orientation.d.ts +10 -0
- package/src/features/sections/page-orientation.js +10 -0
- package/src/features/sections/page-setup.d.ts +435 -0
- package/src/features/sections/page-setup.js +1479 -0
- package/src/features/sections/page-size.d.ts +59 -0
- package/src/features/sections/page-size.js +68 -0
- package/src/features/sections/section-break-code.d.ts +27 -0
- package/src/features/sections/section-break-code.js +60 -0
- package/src/features/sections/section-document-association.d.ts +18 -0
- package/src/features/sections/section-document-association.js +31 -0
- package/src/features/sections/section-validation.d.ts +43 -0
- package/src/features/sections/section-validation.js +97 -0
- package/src/features/settings/attached-template.d.ts +35 -0
- package/src/features/settings/attached-template.js +98 -0
- package/src/features/settings/compat-settings.d.ts +216 -0
- package/src/features/settings/compat-settings.js +508 -0
- package/src/features/settings/document-background.d.ts +59 -0
- package/src/features/settings/document-background.js +131 -0
- package/src/features/settings/document-protection.d.ts +65 -0
- package/src/features/settings/document-protection.js +157 -0
- package/src/features/settings/document-settings-facades.d.ts +108 -0
- package/src/features/settings/document-settings-facades.js +312 -0
- package/src/features/settings/document-settings-values.d.ts +43 -0
- package/src/features/settings/document-settings-values.js +60 -0
- package/src/features/settings/footnote-properties.d.ts +211 -0
- package/src/features/settings/footnote-properties.js +591 -0
- package/src/features/settings/index.d.ts +356 -0
- package/src/features/settings/index.js +829 -0
- package/src/features/settings/settings-children.d.ts +151 -0
- package/src/features/settings/settings-children.js +505 -0
- package/src/features/settings/web-settings.d.ts +88 -0
- package/src/features/settings/web-settings.js +227 -0
- package/src/features/settings/zoom.d.ts +79 -0
- package/src/features/settings/zoom.js +147 -0
- package/src/features/styles/builtin-catalog.d.ts +159 -0
- package/src/features/styles/builtin-catalog.js +963 -0
- package/src/features/styles/builtin-resolver.d.ts +49 -0
- package/src/features/styles/builtin-resolver.js +165 -0
- package/src/features/styles/default-styles.d.ts +37 -0
- package/src/features/styles/default-styles.js +186 -0
- package/src/features/styles/default-theme.d.ts +13 -0
- package/src/features/styles/default-theme.js +13 -0
- package/src/features/styles/doc-defaults.d.ts +58 -0
- package/src/features/styles/doc-defaults.js +178 -0
- package/src/features/styles/formatting-resolver.d.ts +27 -0
- package/src/features/styles/formatting-resolver.js +72 -0
- package/src/features/styles/index.d.ts +256 -0
- package/src/features/styles/index.js +1325 -0
- package/src/features/styles/latent-styles.d.ts +68 -0
- package/src/features/styles/latent-styles.js +305 -0
- package/src/features/styles/paragraph-properties.d.ts +71 -0
- package/src/features/styles/paragraph-properties.js +237 -0
- package/src/features/styles/run-properties.d.ts +93 -0
- package/src/features/styles/run-properties.js +516 -0
- package/src/features/styles/style-base.d.ts +402 -0
- package/src/features/styles/style-base.js +1026 -0
- package/src/features/styles/style-collection.d.ts +264 -0
- package/src/features/styles/style-collection.js +714 -0
- package/src/features/styles/style-format-bridge.d.ts +64 -0
- package/src/features/styles/style-format-bridge.js +100 -0
- package/src/features/styles/style.d.ts +84 -0
- package/src/features/styles/style.js +375 -0
- package/src/features/styles/styles-with-effects.d.ts +71 -0
- package/src/features/styles/styles-with-effects.js +180 -0
- package/src/features/styles/table-style.d.ts +272 -0
- package/src/features/styles/table-style.js +1226 -0
- package/src/features/styles/theme.d.ts +126 -0
- package/src/features/styles/theme.js +377 -0
- package/src/features/tables/border-style-map.d.ts +24 -0
- package/src/features/tables/border-style-map.js +81 -0
- package/src/features/tables/borders.d.ts +126 -0
- package/src/features/tables/borders.js +527 -0
- package/src/features/tables/collections.d.ts +113 -0
- package/src/features/tables/collections.js +261 -0
- package/src/features/tables/format.d.ts +208 -0
- package/src/features/tables/format.js +716 -0
- package/src/features/tables/index.d.ts +597 -0
- package/src/features/tables/index.js +2386 -0
- package/src/features/tables/paddings.d.ts +41 -0
- package/src/features/tables/paddings.js +97 -0
- package/src/features/tables/tbl-pr-positioning.d.ts +27 -0
- package/src/features/tables/tbl-pr-positioning.js +178 -0
- package/src/features/tables/tbl-pr.d.ts +528 -0
- package/src/features/tables/tbl-pr.js +1208 -0
- package/src/features/tables/tc-pr.d.ts +168 -0
- package/src/features/tables/tc-pr.js +553 -0
- package/src/features/tables/tr-pr.d.ts +60 -0
- package/src/features/tables/tr-pr.js +215 -0
- package/src/features/watermark/detect.d.ts +76 -0
- package/src/features/watermark/detect.js +219 -0
- package/src/features/watermark/index.d.ts +28 -0
- package/src/features/watermark/index.js +91 -0
- package/src/features/watermark/logical-store.d.ts +29 -0
- package/src/features/watermark/logical-store.js +31 -0
- package/src/features/watermark/model.d.ts +285 -0
- package/src/features/watermark/model.js +597 -0
- package/src/features/watermark/parse.d.ts +84 -0
- package/src/features/watermark/parse.js +815 -0
- package/src/features/watermark/serialize.d.ts +98 -0
- package/src/features/watermark/serialize.js +1517 -0
- package/src/global.js +1 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +2 -0
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __values = (this && this.__values) || function (o) {
|
|
13
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
|
|
14
|
+
if (m) return m.call(o);
|
|
15
|
+
return {
|
|
16
|
+
next: function () {
|
|
17
|
+
if (o && i >= o.length) o = void 0;
|
|
18
|
+
return { value: o && o[i++], done: !o };
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
import { DocxError } from '../../core/errors/docx-error';
|
|
23
|
+
import { partByName, relationshipsForPart } from '../../core/opc/package';
|
|
24
|
+
import { resolveInternalTarget } from '../../core/opc/part-name';
|
|
25
|
+
import { featureId, registerFeature, registerFeatureMultiPartHandler, } from '../../core/registry/index';
|
|
26
|
+
import { parseXml } from '../../core/xml/index';
|
|
27
|
+
var BIBLIOGRAPHY = featureId('bibliography');
|
|
28
|
+
var utf8Decoder = new TextDecoder('utf-8');
|
|
29
|
+
/**
|
|
30
|
+
* @private
|
|
31
|
+
* Transitional bibliography namespace (ECMA-376-4 §13.2.3). */
|
|
32
|
+
export var BIBLIOGRAPHY_NAMESPACE = 'http://schemas.openxmlformats.org/officeDocument/2006/bibliography';
|
|
33
|
+
/**
|
|
34
|
+
* @private
|
|
35
|
+
* Strict bibliography namespace (ECMA-376-1 §15.2.3). */
|
|
36
|
+
export var BIBLIOGRAPHY_STRICT_NAMESPACE = 'http://purl.oclc.org/ooxml/officeDocument/bibliography';
|
|
37
|
+
/**
|
|
38
|
+
* @private
|
|
39
|
+
* Transitional customXml relationship used by Bibliography parts (ECMA-376-1 §15.2.3). */
|
|
40
|
+
export var BIBLIOGRAPHY_CUSTOM_XML_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml';
|
|
41
|
+
/**
|
|
42
|
+
* @private
|
|
43
|
+
* Strict customXml relationship used by Bibliography parts. */
|
|
44
|
+
export var STRICT_BIBLIOGRAPHY_CUSTOM_XML_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/customXml';
|
|
45
|
+
/**
|
|
46
|
+
* @private
|
|
47
|
+
* Bibliography part content type (ECMA-376-1 §15.2.3). */
|
|
48
|
+
export var BIBLIOGRAPHY_CONTENT_TYPE = 'application/xml';
|
|
49
|
+
var CUSTOM_XML_RELATIONSHIP_TYPES = [
|
|
50
|
+
BIBLIOGRAPHY_CUSTOM_XML_RELATIONSHIP_TYPE,
|
|
51
|
+
STRICT_BIBLIOGRAPHY_CUSTOM_XML_RELATIONSHIP_TYPE,
|
|
52
|
+
];
|
|
53
|
+
var EMPTY_METADATA = {
|
|
54
|
+
present: false,
|
|
55
|
+
sourceCount: 0,
|
|
56
|
+
styleName: undefined,
|
|
57
|
+
selectedStyle: undefined,
|
|
58
|
+
sourceTags: [],
|
|
59
|
+
};
|
|
60
|
+
function isBibliographyNamespace(namespaceUri) {
|
|
61
|
+
return namespaceUri === BIBLIOGRAPHY_NAMESPACE || namespaceUri === BIBLIOGRAPHY_STRICT_NAMESPACE;
|
|
62
|
+
}
|
|
63
|
+
function bibliographyAttribute(element, localName) {
|
|
64
|
+
var found = element.attributes.find(function (attribute) { return attribute.localName === localName &&
|
|
65
|
+
(isBibliographyNamespace(attribute.namespaceUri) || attribute.namespaceUri === ''); });
|
|
66
|
+
return found == null ? undefined : found.value;
|
|
67
|
+
}
|
|
68
|
+
function bibliographyChildElements(element) {
|
|
69
|
+
return element.children.filter(function (child) { return child.kind === 'element' && isBibliographyNamespace(child.namespaceUri); });
|
|
70
|
+
}
|
|
71
|
+
function bibliographyText(element) {
|
|
72
|
+
var e_1, _a;
|
|
73
|
+
try {
|
|
74
|
+
for (var _b = __values(element.children), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
75
|
+
var child = _c.value;
|
|
76
|
+
if (child.kind === 'text' && child.value.length > 0) {
|
|
77
|
+
return child.value;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
82
|
+
finally {
|
|
83
|
+
try {
|
|
84
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
85
|
+
}
|
|
86
|
+
finally { if (e_1) throw e_1.error; }
|
|
87
|
+
}
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
function parseBibliographyMetadata(root) {
|
|
91
|
+
var e_2, _a, e_3, _b;
|
|
92
|
+
if (root.localName !== 'Sources' || !isBibliographyNamespace(root.namespaceUri)) {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
var sourceTags = [];
|
|
96
|
+
var sourceCount = 0;
|
|
97
|
+
try {
|
|
98
|
+
for (var _c = __values(bibliographyChildElements(root)), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
99
|
+
var child = _d.value;
|
|
100
|
+
if (child.localName !== 'Source') {
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
sourceCount += 1;
|
|
104
|
+
try {
|
|
105
|
+
for (var _e = __values(bibliographyChildElements(child)), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
106
|
+
var field = _f.value;
|
|
107
|
+
if (field.localName !== 'Tag') {
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
var tag = bibliographyText(field);
|
|
111
|
+
if (tag !== undefined && tag.length > 0) {
|
|
112
|
+
sourceTags.push(tag);
|
|
113
|
+
}
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
118
|
+
finally {
|
|
119
|
+
try {
|
|
120
|
+
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
|
|
121
|
+
}
|
|
122
|
+
finally { if (e_3) throw e_3.error; }
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
127
|
+
finally {
|
|
128
|
+
try {
|
|
129
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
130
|
+
}
|
|
131
|
+
finally { if (e_2) throw e_2.error; }
|
|
132
|
+
}
|
|
133
|
+
return {
|
|
134
|
+
present: true,
|
|
135
|
+
sourceCount: sourceCount,
|
|
136
|
+
styleName: bibliographyAttribute(root, 'StyleName'),
|
|
137
|
+
selectedStyle: bibliographyAttribute(root, 'SelectedStyle'),
|
|
138
|
+
sourceTags: sourceTags,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
function parseBibliographyMetadataFromBytes(bytes) {
|
|
142
|
+
if (bytes.byteLength === 0) {
|
|
143
|
+
return undefined;
|
|
144
|
+
}
|
|
145
|
+
try {
|
|
146
|
+
var root = parseXml(utf8Decoder.decode(bytes));
|
|
147
|
+
return parseBibliographyMetadata(root);
|
|
148
|
+
}
|
|
149
|
+
catch (_a) {
|
|
150
|
+
return undefined;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Preserve-only bibliography sources catalog linked from the Main Document via a
|
|
155
|
+
* `customXml` relationship. Source field content is opaque; style name and tags
|
|
156
|
+
* are read-only metadata. No source editor or mutation API is provided.
|
|
157
|
+
*
|
|
158
|
+
* @private
|
|
159
|
+
*/
|
|
160
|
+
var BibliographyCatalog = /** @class */ (function () {
|
|
161
|
+
/**
|
|
162
|
+
* @private
|
|
163
|
+
*/
|
|
164
|
+
function BibliographyCatalog(metadata) {
|
|
165
|
+
this.metadata = metadata;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Whether a Bibliography part (`b:Sources` root) was found.
|
|
169
|
+
*
|
|
170
|
+
* @public
|
|
171
|
+
*/
|
|
172
|
+
BibliographyCatalog.prototype.present = function () {
|
|
173
|
+
return this.metadata.present;
|
|
174
|
+
};
|
|
175
|
+
/**
|
|
176
|
+
* Count of `b:Source` children under `b:Sources`.
|
|
177
|
+
*
|
|
178
|
+
* @public
|
|
179
|
+
*/
|
|
180
|
+
BibliographyCatalog.prototype.sourceCount = function () {
|
|
181
|
+
return this.metadata.sourceCount;
|
|
182
|
+
};
|
|
183
|
+
/**
|
|
184
|
+
* `b:Sources/@StyleName`, or `undefined` when absent.
|
|
185
|
+
*
|
|
186
|
+
* @public
|
|
187
|
+
*/
|
|
188
|
+
BibliographyCatalog.prototype.styleName = function () {
|
|
189
|
+
return this.metadata.styleName;
|
|
190
|
+
};
|
|
191
|
+
/**
|
|
192
|
+
* `b:Sources/@SelectedStyle`, or `undefined` when absent.
|
|
193
|
+
*
|
|
194
|
+
* @public
|
|
195
|
+
*/
|
|
196
|
+
BibliographyCatalog.prototype.selectedStyle = function () {
|
|
197
|
+
return this.metadata.selectedStyle;
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* `b:Source/b:Tag` text values in document order.
|
|
201
|
+
*
|
|
202
|
+
* @public
|
|
203
|
+
*/
|
|
204
|
+
BibliographyCatalog.prototype.sourceTags = function () {
|
|
205
|
+
return this.metadata.sourceTags;
|
|
206
|
+
};
|
|
207
|
+
/**
|
|
208
|
+
* @private
|
|
209
|
+
*/
|
|
210
|
+
BibliographyCatalog.prototype.isDirty = function () {
|
|
211
|
+
return false;
|
|
212
|
+
};
|
|
213
|
+
/**
|
|
214
|
+
* @private
|
|
215
|
+
*/
|
|
216
|
+
BibliographyCatalog.prototype.applyToPackage = function (pkg, mainPartName) {
|
|
217
|
+
void mainPartName;
|
|
218
|
+
return pkg;
|
|
219
|
+
};
|
|
220
|
+
return BibliographyCatalog;
|
|
221
|
+
}());
|
|
222
|
+
export { BibliographyCatalog };
|
|
223
|
+
function loadBibliographyCatalog(pkg, mainPartName) {
|
|
224
|
+
var e_4, _a;
|
|
225
|
+
try {
|
|
226
|
+
for (var _b = __values(relationshipsForPart(pkg, mainPartName).items), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
227
|
+
var rel = _c.value;
|
|
228
|
+
if (CUSTOM_XML_RELATIONSHIP_TYPES.indexOf(rel.type) === -1) {
|
|
229
|
+
continue;
|
|
230
|
+
}
|
|
231
|
+
var itemPartName = resolveInternalTarget(rel.target, mainPartName);
|
|
232
|
+
var itemPart = partByName(pkg, itemPartName);
|
|
233
|
+
if (itemPart === undefined) {
|
|
234
|
+
continue;
|
|
235
|
+
}
|
|
236
|
+
var metadata = parseBibliographyMetadataFromBytes(itemPart.data);
|
|
237
|
+
if (metadata === undefined) {
|
|
238
|
+
continue;
|
|
239
|
+
}
|
|
240
|
+
return new BibliographyCatalog(metadata);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
244
|
+
finally {
|
|
245
|
+
try {
|
|
246
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
247
|
+
}
|
|
248
|
+
finally { if (e_4) throw e_4.error; }
|
|
249
|
+
}
|
|
250
|
+
return new BibliographyCatalog(__assign({}, EMPTY_METADATA));
|
|
251
|
+
}
|
|
252
|
+
var registered = false;
|
|
253
|
+
/**
|
|
254
|
+
* @private
|
|
255
|
+
* Test hook */
|
|
256
|
+
export function resetBibliographyFeatureForTests() {
|
|
257
|
+
registered = false;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* @private
|
|
261
|
+
* Register the bibliography detection handler. Idempotent. */
|
|
262
|
+
export function registerBibliographyFeature() {
|
|
263
|
+
if (registered) {
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
registered = true;
|
|
267
|
+
registerFeature({ id: BIBLIOGRAPHY });
|
|
268
|
+
registerFeatureMultiPartHandler({
|
|
269
|
+
featureId: BIBLIOGRAPHY,
|
|
270
|
+
relationshipTypes: CUSTOM_XML_RELATIONSHIP_TYPES,
|
|
271
|
+
loadParts: function (pkg, ctx) {
|
|
272
|
+
return loadBibliographyCatalog(pkg, ctx.mainPartName);
|
|
273
|
+
},
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Bibliography catalog for a document. Requires {@link registerBibliographyFeature}.
|
|
278
|
+
*
|
|
279
|
+
* @throws DocxError `UNKNOWN_FEATURE` when the module was not registered before load.
|
|
280
|
+
*
|
|
281
|
+
* @private
|
|
282
|
+
*/
|
|
283
|
+
export function bibliographyFor(document) {
|
|
284
|
+
var part = document.featurePart(BIBLIOGRAPHY);
|
|
285
|
+
if (part === undefined || !(part instanceof BibliographyCatalog)) {
|
|
286
|
+
throw new DocxError('feature/not-registered', 'Bibliography catalog was not loaded; call registerBibliographyFeature() before WordDocument.open');
|
|
287
|
+
}
|
|
288
|
+
return part;
|
|
289
|
+
}
|
|
290
|
+
registerBibliographyFeature();
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
import { WordDocument } from '../document/document';
|
|
2
|
+
import { FeatureInline } from '../document/feature-inline';
|
|
3
|
+
import { Paragraph } from '../document/paragraph';
|
|
4
|
+
import { FeatureInlineParagraphItem, InlineContent } from '../document/text-range';
|
|
5
|
+
import { OpenXmlAttribute, OpenXmlElement } from '../../core/xml/index';
|
|
6
|
+
/**
|
|
7
|
+
* Bookmark range start marker (`w:bookmarkStart`, ECMA-376-1 §17.13.6.2).
|
|
8
|
+
*
|
|
9
|
+
* Paired with a {@link BookmarkEnd} that shares the same internal package id.
|
|
10
|
+
* Public surface is {@link BookmarkStart.name} and optional table column span
|
|
11
|
+
* (`firstColumn` / `lastColumn`). Pairing id stays internal.
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* - `name` maps `w:name`; empty or whitespace-only names are rejected.
|
|
15
|
+
* - `firstColumn` / `lastColumn` map `w:colFirst` / `w:colLast` (zero-based).
|
|
16
|
+
* - `undefined` means the column attribute is absent on serialize.
|
|
17
|
+
* - Residual attributes outside the modeled set round-trip verbatim.
|
|
18
|
+
*
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
export declare class BookmarkStart implements FeatureInline {
|
|
22
|
+
private bookmarkIdValue;
|
|
23
|
+
private nameValue;
|
|
24
|
+
private firstColumnValue;
|
|
25
|
+
private lastColumnValue;
|
|
26
|
+
private readonly residual;
|
|
27
|
+
/**
|
|
28
|
+
* @private
|
|
29
|
+
*/
|
|
30
|
+
constructor(bookmarkId: number, name: string, options?: {
|
|
31
|
+
readonly firstColumn?: number | undefined;
|
|
32
|
+
readonly lastColumn?: number | undefined;
|
|
33
|
+
readonly residualAttributes?: ReadonlyArray<OpenXmlAttribute> | undefined;
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* Bookmark identifier shared with the paired end marker (`w:id`).
|
|
37
|
+
*
|
|
38
|
+
* @private
|
|
39
|
+
*/
|
|
40
|
+
readonly bookmarkId: number;
|
|
41
|
+
/**
|
|
42
|
+
* Bookmark name (`w:name`). Must be non-empty and not whitespace-only.
|
|
43
|
+
*
|
|
44
|
+
* Setting an invalid name throws {@link DocxError} with code
|
|
45
|
+
* `content/invalid-bookmark`.
|
|
46
|
+
*/
|
|
47
|
+
name: string;
|
|
48
|
+
/**
|
|
49
|
+
* Zero-based first table column of the bookmark (`w:colFirst`).
|
|
50
|
+
*
|
|
51
|
+
* `undefined` means the attribute is absent. Assigning `undefined` clears it.
|
|
52
|
+
*/
|
|
53
|
+
firstColumn: number | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Zero-based last table column of the bookmark (`w:colLast`).
|
|
56
|
+
*
|
|
57
|
+
* `undefined` means the attribute is absent. Assigning `undefined` clears it.
|
|
58
|
+
*/
|
|
59
|
+
lastColumn: number | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Assigns the package `w:id` used to pair start and end markers.
|
|
62
|
+
*
|
|
63
|
+
* @private
|
|
64
|
+
*/
|
|
65
|
+
setBookmarkId(bookmarkId: number): void;
|
|
66
|
+
/**
|
|
67
|
+
* Whether this marker still holds a temporary negative id before save materialization.
|
|
68
|
+
*
|
|
69
|
+
* @private
|
|
70
|
+
*/
|
|
71
|
+
isPendingBookmarkId(): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* @private
|
|
74
|
+
* Residual attributes preserved for lossless serialization.
|
|
75
|
+
*/
|
|
76
|
+
residualAttributes(): ReadonlyArray<OpenXmlAttribute>;
|
|
77
|
+
/**
|
|
78
|
+
* No-op detach hook for {@link FeatureInline} parity.
|
|
79
|
+
*
|
|
80
|
+
* @private
|
|
81
|
+
*/
|
|
82
|
+
releaseContent(): void;
|
|
83
|
+
/**
|
|
84
|
+
* Serializes this marker to `w:bookmarkStart`.
|
|
85
|
+
*
|
|
86
|
+
* @private
|
|
87
|
+
*/
|
|
88
|
+
toOpenXml(): OpenXmlElement;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Bookmark range end marker (`w:bookmarkEnd`, ECMA-376-1 §17.13.6.1).
|
|
92
|
+
*
|
|
93
|
+
* Closes the range opened by a matching {@link BookmarkStart}. Pairing uses the
|
|
94
|
+
* internal package id; {@link BookmarkEnd.name} is a public convenience mirror
|
|
95
|
+
* of the start name when paired (settable independently for authoring symmetry
|
|
96
|
+
* with DocIO). OOXML `bookmarkEnd` serializes `w:id` only.
|
|
97
|
+
*
|
|
98
|
+
* @public
|
|
99
|
+
*/
|
|
100
|
+
export declare class BookmarkEnd implements FeatureInline {
|
|
101
|
+
private bookmarkIdValue;
|
|
102
|
+
private nameValue;
|
|
103
|
+
/**
|
|
104
|
+
* @private
|
|
105
|
+
*/
|
|
106
|
+
constructor(bookmarkId: number, name?: string);
|
|
107
|
+
/**
|
|
108
|
+
* Bookmark identifier shared with the paired start marker (`w:id`).
|
|
109
|
+
*
|
|
110
|
+
* @private
|
|
111
|
+
*/
|
|
112
|
+
readonly bookmarkId: number;
|
|
113
|
+
/**
|
|
114
|
+
* Bookmark name convenience on the end marker (DocIO parity).
|
|
115
|
+
*
|
|
116
|
+
* Empty string is allowed on the end marker itself (schema has no `w:name`
|
|
117
|
+
* on `bookmarkEnd`). When set to a non-empty value, whitespace-only is
|
|
118
|
+
* rejected. Pairing always uses internal id, never this name.
|
|
119
|
+
*/
|
|
120
|
+
name: string;
|
|
121
|
+
/**
|
|
122
|
+
* Assigns the package `w:id` used to pair start and end markers.
|
|
123
|
+
*
|
|
124
|
+
* @private
|
|
125
|
+
*/
|
|
126
|
+
setBookmarkId(bookmarkId: number): void;
|
|
127
|
+
/**
|
|
128
|
+
* Whether this marker still holds a temporary negative id before save materialization.
|
|
129
|
+
*
|
|
130
|
+
* @private
|
|
131
|
+
*/
|
|
132
|
+
isPendingBookmarkId(): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* No-op detach hook for {@link FeatureInline} parity.
|
|
135
|
+
*
|
|
136
|
+
* @private
|
|
137
|
+
*/
|
|
138
|
+
releaseContent(): void;
|
|
139
|
+
/**
|
|
140
|
+
* Serializes this marker to `w:bookmarkEnd`.
|
|
141
|
+
*
|
|
142
|
+
* @private
|
|
143
|
+
*/
|
|
144
|
+
toOpenXml(): OpenXmlElement;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Live view over a paired {@link BookmarkStart} / {@link BookmarkEnd}.
|
|
148
|
+
*
|
|
149
|
+
* Does not own markup or cache enclosed content: markers remain paragraph
|
|
150
|
+
* inlines (possibly in different paragraphs). Property reads/writes for name
|
|
151
|
+
* and column span go through the start marker. Empty ranges and arbitrary
|
|
152
|
+
* content between markers are valid.
|
|
153
|
+
*
|
|
154
|
+
* Discover via {@link WordDocument.bookmarks} / {@link BookmarkCollection}.
|
|
155
|
+
*
|
|
156
|
+
* @public
|
|
157
|
+
*/
|
|
158
|
+
export declare class Bookmark {
|
|
159
|
+
private readonly startMarkerValue;
|
|
160
|
+
private readonly endMarkerValue;
|
|
161
|
+
/**
|
|
162
|
+
* @private
|
|
163
|
+
*/
|
|
164
|
+
constructor(start: BookmarkStart, end: BookmarkEnd);
|
|
165
|
+
/**
|
|
166
|
+
* Bookmark name (`w:name` on the start marker). Read-only on the pair view;
|
|
167
|
+
* rename via {@link BookmarkStart.name} / {@link bookmarkStart}.
|
|
168
|
+
*/
|
|
169
|
+
readonly name: string;
|
|
170
|
+
/**
|
|
171
|
+
* Start marker for this bookmark.
|
|
172
|
+
*/
|
|
173
|
+
readonly bookmarkStart: BookmarkStart;
|
|
174
|
+
/**
|
|
175
|
+
* End marker for this bookmark.
|
|
176
|
+
*/
|
|
177
|
+
readonly bookmarkEnd: BookmarkEnd;
|
|
178
|
+
/**
|
|
179
|
+
* Zero-based first table column (`w:colFirst` on the start marker).
|
|
180
|
+
*/
|
|
181
|
+
firstColumn: number | undefined;
|
|
182
|
+
/**
|
|
183
|
+
* Zero-based last table column (`w:colLast` on the start marker).
|
|
184
|
+
*/
|
|
185
|
+
lastColumn: number | undefined;
|
|
186
|
+
/**
|
|
187
|
+
* Identifier shared by the start and end markers (`w:id`).
|
|
188
|
+
*
|
|
189
|
+
* @private
|
|
190
|
+
*/
|
|
191
|
+
readonly bookmarkId: number;
|
|
192
|
+
/**
|
|
193
|
+
* Start marker (internal alias of {@link bookmarkStart}).
|
|
194
|
+
*
|
|
195
|
+
* @private
|
|
196
|
+
*/
|
|
197
|
+
readonly startMarker: BookmarkStart;
|
|
198
|
+
/**
|
|
199
|
+
* End marker (internal alias of {@link bookmarkEnd}).
|
|
200
|
+
*
|
|
201
|
+
* @private
|
|
202
|
+
*/
|
|
203
|
+
readonly endMarker: BookmarkEnd;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* All paired bookmarks in document order of their start markers.
|
|
207
|
+
*
|
|
208
|
+
* Orphan start/end markers are omitted from the list but remain in the DOM
|
|
209
|
+
* and continue to serialize.
|
|
210
|
+
*
|
|
211
|
+
* @private
|
|
212
|
+
*/
|
|
213
|
+
export declare function bookmarksInDocument(document: WordDocument): ReadonlyArray<Bookmark>;
|
|
214
|
+
/**
|
|
215
|
+
* Named bookmarks whose start marker lives in `paragraph`, in document order.
|
|
216
|
+
*
|
|
217
|
+
* Cross-paragraph bookmarks are included when their **start** is in this
|
|
218
|
+
* paragraph. Orphans are omitted.
|
|
219
|
+
*
|
|
220
|
+
* @private
|
|
221
|
+
*/
|
|
222
|
+
export declare function bookmarksInParagraph(paragraph: Paragraph): ReadonlyArray<Bookmark>;
|
|
223
|
+
/**
|
|
224
|
+
* First paired bookmark whose name matches exactly (case-sensitive), document order.
|
|
225
|
+
*
|
|
226
|
+
* @private
|
|
227
|
+
*/
|
|
228
|
+
export declare function bookmarkByName(document: WordDocument, name: string): Bookmark | undefined;
|
|
229
|
+
/**
|
|
230
|
+
* Remove start and end markers of a paired bookmark; enclosed content is kept.
|
|
231
|
+
*
|
|
232
|
+
* Markers may live in different paragraphs. Throws
|
|
233
|
+
* {@link DocxError} `content/unknown-bookmark` when either marker is missing.
|
|
234
|
+
*
|
|
235
|
+
* @private
|
|
236
|
+
*/
|
|
237
|
+
export declare function removeBookmark(document: WordDocument, bookmark: Bookmark): void;
|
|
238
|
+
/**
|
|
239
|
+
* Live query collection of paired bookmarks on a {@link WordDocument}.
|
|
240
|
+
*
|
|
241
|
+
* Members are stable {@link Bookmark} views for the current start/end pairing.
|
|
242
|
+
* Index properties refresh on {@link count} / mutation helpers.
|
|
243
|
+
*
|
|
244
|
+
* @public
|
|
245
|
+
*/
|
|
246
|
+
export declare class BookmarkCollection implements Iterable<Bookmark> {
|
|
247
|
+
private readonly document;
|
|
248
|
+
private cachedLength;
|
|
249
|
+
/**
|
|
250
|
+
* @private
|
|
251
|
+
*/
|
|
252
|
+
constructor(document: WordDocument);
|
|
253
|
+
/**
|
|
254
|
+
* Number of paired bookmarks in document order.
|
|
255
|
+
*
|
|
256
|
+
* @public
|
|
257
|
+
*/
|
|
258
|
+
readonly count: number;
|
|
259
|
+
/**
|
|
260
|
+
* Bookmark at zero-based `index`, or `undefined` when out of range.
|
|
261
|
+
*
|
|
262
|
+
* @public
|
|
263
|
+
*/
|
|
264
|
+
itemAt(index: number): Bookmark | undefined;
|
|
265
|
+
/**
|
|
266
|
+
* First bookmark whose name matches exactly (case-sensitive).
|
|
267
|
+
*
|
|
268
|
+
* @public
|
|
269
|
+
*/
|
|
270
|
+
findByName(name: string): Bookmark | undefined;
|
|
271
|
+
/**
|
|
272
|
+
* Remove markers for `bookmark`; content between markers is preserved.
|
|
273
|
+
*
|
|
274
|
+
* @throws DocxError `content/unknown-bookmark` when markers are detached.
|
|
275
|
+
* @public
|
|
276
|
+
*/
|
|
277
|
+
remove(bookmark: Bookmark): void;
|
|
278
|
+
/**
|
|
279
|
+
* Remove the bookmark at zero-based `index`.
|
|
280
|
+
*
|
|
281
|
+
* @throws RangeError when `index` is out of range.
|
|
282
|
+
* @public
|
|
283
|
+
*/
|
|
284
|
+
removeAt(index: number): void;
|
|
285
|
+
/**
|
|
286
|
+
* Remove every paired bookmark’s markers; content is preserved.
|
|
287
|
+
*
|
|
288
|
+
* @public
|
|
289
|
+
*/
|
|
290
|
+
clear(): void;
|
|
291
|
+
[Symbol.iterator](): Iterator<Bookmark>;
|
|
292
|
+
/**
|
|
293
|
+
* Refresh numeric index properties from the current pairing.
|
|
294
|
+
*
|
|
295
|
+
* @private
|
|
296
|
+
*/
|
|
297
|
+
rebuildIndexProperties(): void;
|
|
298
|
+
}
|
|
299
|
+
export interface BookmarkCollection {
|
|
300
|
+
readonly [index: number]: Bookmark;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Stable public {@link BookmarkCollection} for `document`.
|
|
304
|
+
*
|
|
305
|
+
* @private
|
|
306
|
+
*/
|
|
307
|
+
export declare function bookmarkCollectionFor(document: WordDocument): BookmarkCollection;
|
|
308
|
+
/**
|
|
309
|
+
* @private
|
|
310
|
+
* Test hook */
|
|
311
|
+
export declare function resetBookmarksFeatureForTests(): void;
|
|
312
|
+
/**
|
|
313
|
+
* @private
|
|
314
|
+
* Register bookmark inline handlers. Idempotent. */
|
|
315
|
+
export declare function registerBookmarksFeature(): void;
|
|
316
|
+
/**
|
|
317
|
+
* Whether paragraph inline content is a modeled bookmark start from this module.
|
|
318
|
+
*
|
|
319
|
+
* @private
|
|
320
|
+
*/
|
|
321
|
+
export declare function isBookmarkStartInline(inline: InlineContent): inline is FeatureInlineParagraphItem & {
|
|
322
|
+
value: BookmarkStart;
|
|
323
|
+
};
|
|
324
|
+
/**
|
|
325
|
+
* Whether paragraph inline content is a modeled bookmark end from this module.
|
|
326
|
+
*
|
|
327
|
+
* @private
|
|
328
|
+
*/
|
|
329
|
+
export declare function isBookmarkEndInline(inline: InlineContent): inline is FeatureInlineParagraphItem & {
|
|
330
|
+
value: BookmarkEnd;
|
|
331
|
+
};
|