@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,88 @@
|
|
|
1
|
+
import { WordDocument } from '../document/document';
|
|
2
|
+
import { FeaturePackagePart } from '../document/feature-package-part';
|
|
3
|
+
/**
|
|
4
|
+
* @private
|
|
5
|
+
* Transitional web settings relationship (ECMA-376-4 §9.2.13). */
|
|
6
|
+
export declare const WEB_SETTINGS_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings";
|
|
7
|
+
/**
|
|
8
|
+
* @private
|
|
9
|
+
* Strict web settings relationship (ECMA-376-1 §11.3.13). */
|
|
10
|
+
export declare const STRICT_WEB_SETTINGS_RELATIONSHIP_TYPE = "http://purl.oclc.org/ooxml/officeDocument/relationships/webSettings";
|
|
11
|
+
/**
|
|
12
|
+
* @private
|
|
13
|
+
* ECMA-376-1 §11.3.13 Web Settings content type. */
|
|
14
|
+
export declare const WEB_SETTINGS_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml";
|
|
15
|
+
/**
|
|
16
|
+
* @private
|
|
17
|
+
*/
|
|
18
|
+
export declare const WEB_SETTINGS_PART_NAME: import("../../core/opc/part-name").PartName;
|
|
19
|
+
interface WebSettingsMetadata {
|
|
20
|
+
readonly encoding: string | undefined;
|
|
21
|
+
readonly hasFrameset: boolean;
|
|
22
|
+
readonly divCount: number;
|
|
23
|
+
readonly optimizeForBrowserTarget: string | undefined;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* In-memory Web Settings part (`word/webSettings.xml`).
|
|
27
|
+
*
|
|
28
|
+
* @private
|
|
29
|
+
*/
|
|
30
|
+
export declare class WebSettingsPart implements FeaturePackagePart {
|
|
31
|
+
private readonly bytes;
|
|
32
|
+
private readonly metadata;
|
|
33
|
+
private readonly dirty;
|
|
34
|
+
/**
|
|
35
|
+
* @private
|
|
36
|
+
*/
|
|
37
|
+
constructor(bytes: Uint8Array | undefined, metadata: WebSettingsMetadata, dirty: boolean);
|
|
38
|
+
/**
|
|
39
|
+
* `w:encoding/@w:val`, or `undefined` when absent or the part is missing.
|
|
40
|
+
*
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
encoding(): string | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Whether `w:frameset` is present under `w:webSettings`.
|
|
46
|
+
*
|
|
47
|
+
* @public
|
|
48
|
+
*/
|
|
49
|
+
hasFrameset(): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Count of `w:divs/w:div` children.
|
|
52
|
+
*
|
|
53
|
+
* @public
|
|
54
|
+
*/
|
|
55
|
+
divCount(): number;
|
|
56
|
+
/**
|
|
57
|
+
* `w:optimizeForBrowser/@w:target`, or `undefined` when absent.
|
|
58
|
+
*
|
|
59
|
+
* @public
|
|
60
|
+
*/
|
|
61
|
+
optimizeForBrowserTarget(): string | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* @private
|
|
64
|
+
*/
|
|
65
|
+
isDirty(): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* @private
|
|
68
|
+
*/
|
|
69
|
+
serialize(): Uint8Array;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* @private
|
|
73
|
+
* Test hook */
|
|
74
|
+
export declare function resetWebSettingsFeatureForTests(): void;
|
|
75
|
+
/**
|
|
76
|
+
* @private
|
|
77
|
+
* Register the web settings package-part handler. Idempotent. */
|
|
78
|
+
export declare function registerWebSettingsFeature(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Web settings catalog for a document. Requires {@link registerSettingsFeature} or
|
|
81
|
+
* {@link registerWebSettingsFeature}.
|
|
82
|
+
*
|
|
83
|
+
* @throws DocxError `UNKNOWN_FEATURE` when the web settings handler was not registered before load.
|
|
84
|
+
*
|
|
85
|
+
* @private
|
|
86
|
+
*/
|
|
87
|
+
export declare function webSettingsFor(document: WordDocument): WebSettingsPart;
|
|
88
|
+
export {};
|
|
@@ -0,0 +1,227 @@
|
|
|
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 { elementChildren, isWml } from '../document/wml';
|
|
24
|
+
import { partName } from '../../core/opc/part-name';
|
|
25
|
+
import { featureId, registerFeature, registerFeaturePartHandler, } from '../../core/registry/index';
|
|
26
|
+
import { parseXml, WML_TRANSITIONAL_NAMESPACE } from '../../core/xml/index';
|
|
27
|
+
var WEB_SETTINGS = featureId('web-settings');
|
|
28
|
+
/**
|
|
29
|
+
* @private
|
|
30
|
+
* Transitional web settings relationship (ECMA-376-4 §9.2.13). */
|
|
31
|
+
export var WEB_SETTINGS_RELATIONSHIP_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings';
|
|
32
|
+
/**
|
|
33
|
+
* @private
|
|
34
|
+
* Strict web settings relationship (ECMA-376-1 §11.3.13). */
|
|
35
|
+
export var STRICT_WEB_SETTINGS_RELATIONSHIP_TYPE = 'http://purl.oclc.org/ooxml/officeDocument/relationships/webSettings';
|
|
36
|
+
/**
|
|
37
|
+
* @private
|
|
38
|
+
* ECMA-376-1 §11.3.13 Web Settings content type. */
|
|
39
|
+
export var WEB_SETTINGS_CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml';
|
|
40
|
+
/**
|
|
41
|
+
* @private
|
|
42
|
+
*/
|
|
43
|
+
export var WEB_SETTINGS_PART_NAME = partName('/word/webSettings.xml');
|
|
44
|
+
var utf8Decoder = new TextDecoder('utf-8');
|
|
45
|
+
var EMPTY_METADATA = {
|
|
46
|
+
encoding: undefined,
|
|
47
|
+
hasFrameset: false,
|
|
48
|
+
divCount: 0,
|
|
49
|
+
optimizeForBrowserTarget: undefined,
|
|
50
|
+
};
|
|
51
|
+
function wmlAttribute(element, localName) {
|
|
52
|
+
var found = element.attributes.find(function (attribute) { return attribute.localName === localName &&
|
|
53
|
+
(attribute.namespaceUri === WML_TRANSITIONAL_NAMESPACE || attribute.namespaceUri === ''); });
|
|
54
|
+
return found == null ? undefined : found.value;
|
|
55
|
+
}
|
|
56
|
+
function parseWebSettingsMetadata(root) {
|
|
57
|
+
var e_1, _a, e_2, _b;
|
|
58
|
+
if (!isWml(root, 'webSettings')) {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
var encoding;
|
|
62
|
+
var hasFrameset = false;
|
|
63
|
+
var divCount = 0;
|
|
64
|
+
var optimizeForBrowserTarget;
|
|
65
|
+
try {
|
|
66
|
+
for (var _c = __values(elementChildren(root)), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
67
|
+
var child = _d.value;
|
|
68
|
+
if (isWml(child, 'encoding')) {
|
|
69
|
+
encoding = wmlAttribute(child, 'val');
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
if (isWml(child, 'frameset')) {
|
|
73
|
+
hasFrameset = true;
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
if (isWml(child, 'divs')) {
|
|
77
|
+
try {
|
|
78
|
+
for (var _e = __values(elementChildren(child)), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
79
|
+
var div = _f.value;
|
|
80
|
+
if (isWml(div, 'div')) {
|
|
81
|
+
divCount += 1;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
86
|
+
finally {
|
|
87
|
+
try {
|
|
88
|
+
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
|
|
89
|
+
}
|
|
90
|
+
finally { if (e_2) throw e_2.error; }
|
|
91
|
+
}
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
if (isWml(child, 'optimizeForBrowser')) {
|
|
95
|
+
optimizeForBrowserTarget = wmlAttribute(child, 'target');
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
100
|
+
finally {
|
|
101
|
+
try {
|
|
102
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
103
|
+
}
|
|
104
|
+
finally { if (e_1) throw e_1.error; }
|
|
105
|
+
}
|
|
106
|
+
return { encoding: encoding, hasFrameset: hasFrameset, divCount: divCount, optimizeForBrowserTarget: optimizeForBrowserTarget };
|
|
107
|
+
}
|
|
108
|
+
function parseWebSettingsMetadataFromBytes(bytes) {
|
|
109
|
+
var root = parseXml(utf8Decoder.decode(bytes));
|
|
110
|
+
return parseWebSettingsMetadata(root);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* In-memory Web Settings part (`word/webSettings.xml`).
|
|
114
|
+
*
|
|
115
|
+
* @private
|
|
116
|
+
*/
|
|
117
|
+
var WebSettingsPart = /** @class */ (function () {
|
|
118
|
+
/**
|
|
119
|
+
* @private
|
|
120
|
+
*/
|
|
121
|
+
function WebSettingsPart(bytes, metadata, dirty) {
|
|
122
|
+
this.bytes = bytes;
|
|
123
|
+
this.metadata = metadata;
|
|
124
|
+
this.dirty = dirty;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* `w:encoding/@w:val`, or `undefined` when absent or the part is missing.
|
|
128
|
+
*
|
|
129
|
+
* @public
|
|
130
|
+
*/
|
|
131
|
+
WebSettingsPart.prototype.encoding = function () {
|
|
132
|
+
return this.metadata.encoding;
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Whether `w:frameset` is present under `w:webSettings`.
|
|
136
|
+
*
|
|
137
|
+
* @public
|
|
138
|
+
*/
|
|
139
|
+
WebSettingsPart.prototype.hasFrameset = function () {
|
|
140
|
+
return this.metadata.hasFrameset;
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* Count of `w:divs/w:div` children.
|
|
144
|
+
*
|
|
145
|
+
* @public
|
|
146
|
+
*/
|
|
147
|
+
WebSettingsPart.prototype.divCount = function () {
|
|
148
|
+
return this.metadata.divCount;
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* `w:optimizeForBrowser/@w:target`, or `undefined` when absent.
|
|
152
|
+
*
|
|
153
|
+
* @public
|
|
154
|
+
*/
|
|
155
|
+
WebSettingsPart.prototype.optimizeForBrowserTarget = function () {
|
|
156
|
+
return this.metadata.optimizeForBrowserTarget;
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* @private
|
|
160
|
+
*/
|
|
161
|
+
WebSettingsPart.prototype.isDirty = function () {
|
|
162
|
+
return this.dirty;
|
|
163
|
+
};
|
|
164
|
+
/**
|
|
165
|
+
* @private
|
|
166
|
+
*/
|
|
167
|
+
WebSettingsPart.prototype.serialize = function () {
|
|
168
|
+
if (this.bytes !== undefined) {
|
|
169
|
+
return this.bytes;
|
|
170
|
+
}
|
|
171
|
+
return new Uint8Array(0);
|
|
172
|
+
};
|
|
173
|
+
return WebSettingsPart;
|
|
174
|
+
}());
|
|
175
|
+
export { WebSettingsPart };
|
|
176
|
+
function loadWebSettingsPart(part) {
|
|
177
|
+
var __ts33_0;
|
|
178
|
+
if (part === undefined) {
|
|
179
|
+
return new WebSettingsPart(undefined, __assign({}, EMPTY_METADATA), false);
|
|
180
|
+
}
|
|
181
|
+
var metadata = ((__ts33_0 = parseWebSettingsMetadataFromBytes(part.data)), __ts33_0 != null ? __ts33_0 : __assign({}, EMPTY_METADATA));
|
|
182
|
+
return new WebSettingsPart(part.data, metadata, false);
|
|
183
|
+
}
|
|
184
|
+
var webSettingsRegistered = false;
|
|
185
|
+
/**
|
|
186
|
+
* @private
|
|
187
|
+
* Test hook */
|
|
188
|
+
export function resetWebSettingsFeatureForTests() {
|
|
189
|
+
webSettingsRegistered = false;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* @private
|
|
193
|
+
* Register the web settings package-part handler. Idempotent. */
|
|
194
|
+
export function registerWebSettingsFeature() {
|
|
195
|
+
if (webSettingsRegistered) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
webSettingsRegistered = true;
|
|
199
|
+
registerFeature({ id: WEB_SETTINGS });
|
|
200
|
+
registerFeaturePartHandler({
|
|
201
|
+
featureId: WEB_SETTINGS,
|
|
202
|
+
relationshipTypes: [WEB_SETTINGS_RELATIONSHIP_TYPE, STRICT_WEB_SETTINGS_RELATIONSHIP_TYPE],
|
|
203
|
+
defaultRelativeTarget: 'webSettings.xml',
|
|
204
|
+
partName: WEB_SETTINGS_PART_NAME,
|
|
205
|
+
contentType: WEB_SETTINGS_CONTENT_TYPE,
|
|
206
|
+
loadPart: function (part, ctx) {
|
|
207
|
+
void ctx;
|
|
208
|
+
return loadWebSettingsPart(part);
|
|
209
|
+
},
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Web settings catalog for a document. Requires {@link registerSettingsFeature} or
|
|
214
|
+
* {@link registerWebSettingsFeature}.
|
|
215
|
+
*
|
|
216
|
+
* @throws DocxError `UNKNOWN_FEATURE` when the web settings handler was not registered before load.
|
|
217
|
+
*
|
|
218
|
+
* @private
|
|
219
|
+
*/
|
|
220
|
+
export function webSettingsFor(document) {
|
|
221
|
+
registerWebSettingsFeature();
|
|
222
|
+
var part = document.featurePart(WEB_SETTINGS);
|
|
223
|
+
if (part === undefined || !(part instanceof WebSettingsPart)) {
|
|
224
|
+
throw new DocxError('feature/not-registered', 'Web settings part was not loaded; call registerSettingsFeature() before WordDocument.open');
|
|
225
|
+
}
|
|
226
|
+
return part;
|
|
227
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `w:zoom` DOM (`CT_Zoom`, Transitional `wml.xsd`).
|
|
3
|
+
*
|
|
4
|
+
* Models the view magnification applied to a document. `percent` is the
|
|
5
|
+
* canonical zoom percentage (e.g. 100). `val` qualifies the zoom type when
|
|
6
|
+
* present (none | fullPage | bestFit | textFit).
|
|
7
|
+
*
|
|
8
|
+
* @private
|
|
9
|
+
*/
|
|
10
|
+
import { OpenXmlElement } from '../../core/xml/index';
|
|
11
|
+
/**
|
|
12
|
+
* `ST_Zoom` wire tokens for `w:zoom/@w:val` (Transitional `wml.xsd`).
|
|
13
|
+
*
|
|
14
|
+
* `"none"` means the numeric percent is the sole control.
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export declare enum ZoomType {
|
|
19
|
+
/** Numeric percent is the sole zoom control. */
|
|
20
|
+
None = "none",
|
|
21
|
+
/** Fit the full page in the window. */
|
|
22
|
+
FullPage = "fullPage",
|
|
23
|
+
/** Best fit for the window. */
|
|
24
|
+
BestFit = "bestFit",
|
|
25
|
+
/** Fit page width to text. */
|
|
26
|
+
TextFit = "textFit"
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @private
|
|
30
|
+
* Wire string form of {@link ZoomType} (same tokens as the public enum).
|
|
31
|
+
*/
|
|
32
|
+
export declare type ZoomTypeWire = 'none' | 'fullPage' | 'bestFit' | 'textFit';
|
|
33
|
+
/**
|
|
34
|
+
* First-class `w:zoom` node (`CT_Zoom`).
|
|
35
|
+
*
|
|
36
|
+
* ECMA-376-1 §17.15.1.93 — `w:zoom`
|
|
37
|
+
*
|
|
38
|
+
* Kept public because {@link SettingsPart.zoom} / {@link SettingsPart.setZoom} use it (R7.3).
|
|
39
|
+
*
|
|
40
|
+
* @private
|
|
41
|
+
*/
|
|
42
|
+
export declare class ZoomSettings {
|
|
43
|
+
private zoomType;
|
|
44
|
+
private zoomPercent;
|
|
45
|
+
private constructor();
|
|
46
|
+
/**
|
|
47
|
+
* @private
|
|
48
|
+
*/
|
|
49
|
+
static fromElement(element: OpenXmlElement): ZoomSettings;
|
|
50
|
+
/**
|
|
51
|
+
* Create a new `ZoomSettings` from explicit values.
|
|
52
|
+
* @private
|
|
53
|
+
*/
|
|
54
|
+
static create(percent: number, val?: ZoomTypeWire | ZoomType): ZoomSettings;
|
|
55
|
+
/**
|
|
56
|
+
* `w:zoom/@w:val` — zoom type qualifier, or `undefined` when absent.
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
59
|
+
type(): ZoomTypeWire | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Mutate `w:zoom/@w:val`.
|
|
62
|
+
* @private
|
|
63
|
+
*/
|
|
64
|
+
setType(val: ZoomTypeWire | ZoomType | undefined): void;
|
|
65
|
+
/**
|
|
66
|
+
* `w:zoom/@w:percent` — numeric zoom percentage, or `undefined` when absent.
|
|
67
|
+
* @private
|
|
68
|
+
*/
|
|
69
|
+
percent(): number | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Mutate `w:zoom/@w:percent`.
|
|
72
|
+
* @private
|
|
73
|
+
*/
|
|
74
|
+
setPercent(value: number | undefined): void;
|
|
75
|
+
/**
|
|
76
|
+
* @private
|
|
77
|
+
*/
|
|
78
|
+
serialize(): OpenXmlElement;
|
|
79
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
var __values = (this && this.__values) || function (o) {
|
|
2
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
|
|
3
|
+
if (m) return m.call(o);
|
|
4
|
+
return {
|
|
5
|
+
next: function () {
|
|
6
|
+
if (o && i >= o.length) o = void 0;
|
|
7
|
+
return { value: o && o[i++], done: !o };
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* `w:zoom` DOM (`CT_Zoom`, Transitional `wml.xsd`).
|
|
13
|
+
*
|
|
14
|
+
* Models the view magnification applied to a document. `percent` is the
|
|
15
|
+
* canonical zoom percentage (e.g. 100). `val` qualifies the zoom type when
|
|
16
|
+
* present (none | fullPage | bestFit | textFit).
|
|
17
|
+
*
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
20
|
+
import { WML_TRANSITIONAL_NAMESPACE } from '../../core/xml/index';
|
|
21
|
+
import { wmlAttr, wmlElement } from '../document/wml';
|
|
22
|
+
/**
|
|
23
|
+
* `ST_Zoom` wire tokens for `w:zoom/@w:val` (Transitional `wml.xsd`).
|
|
24
|
+
*
|
|
25
|
+
* `"none"` means the numeric percent is the sole control.
|
|
26
|
+
*
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
export var ZoomType;
|
|
30
|
+
(function (ZoomType) {
|
|
31
|
+
/** Numeric percent is the sole zoom control. */
|
|
32
|
+
ZoomType["None"] = "none";
|
|
33
|
+
/** Fit the full page in the window. */
|
|
34
|
+
ZoomType["FullPage"] = "fullPage";
|
|
35
|
+
/** Best fit for the window. */
|
|
36
|
+
ZoomType["BestFit"] = "bestFit";
|
|
37
|
+
/** Fit page width to text. */
|
|
38
|
+
ZoomType["TextFit"] = "textFit";
|
|
39
|
+
})(ZoomType || (ZoomType = {}));
|
|
40
|
+
function isZoomTypeWire(value) {
|
|
41
|
+
return value === 'none' || value === 'fullPage' || value === 'bestFit' || value === 'textFit';
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* First-class `w:zoom` node (`CT_Zoom`).
|
|
45
|
+
*
|
|
46
|
+
* ECMA-376-1 §17.15.1.93 — `w:zoom`
|
|
47
|
+
*
|
|
48
|
+
* Kept public because {@link SettingsPart.zoom} / {@link SettingsPart.setZoom} use it (R7.3).
|
|
49
|
+
*
|
|
50
|
+
* @private
|
|
51
|
+
*/
|
|
52
|
+
var ZoomSettings = /** @class */ (function () {
|
|
53
|
+
function ZoomSettings(zoomType, zoomPercent) {
|
|
54
|
+
this.zoomType = zoomType;
|
|
55
|
+
this.zoomPercent = zoomPercent;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @private
|
|
59
|
+
*/
|
|
60
|
+
ZoomSettings.fromElement = function (element) {
|
|
61
|
+
var e_1, _a;
|
|
62
|
+
var zoomType;
|
|
63
|
+
var zoomPercent;
|
|
64
|
+
try {
|
|
65
|
+
for (var _b = __values(element.attributes), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
66
|
+
var attr = _c.value;
|
|
67
|
+
if (attr.localName === 'val' &&
|
|
68
|
+
(attr.namespaceUri === WML_TRANSITIONAL_NAMESPACE || attr.namespaceUri === '')) {
|
|
69
|
+
var v = attr.value;
|
|
70
|
+
if (isZoomTypeWire(v)) {
|
|
71
|
+
zoomType = v;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (attr.localName === 'percent' &&
|
|
75
|
+
(attr.namespaceUri === WML_TRANSITIONAL_NAMESPACE || attr.namespaceUri === '')) {
|
|
76
|
+
var n = Number(attr.value);
|
|
77
|
+
if (!Number.isNaN(n)) {
|
|
78
|
+
zoomPercent = n;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
84
|
+
finally {
|
|
85
|
+
try {
|
|
86
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
87
|
+
}
|
|
88
|
+
finally { if (e_1) throw e_1.error; }
|
|
89
|
+
}
|
|
90
|
+
return new ZoomSettings(zoomType, zoomPercent);
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Create a new `ZoomSettings` from explicit values.
|
|
94
|
+
* @private
|
|
95
|
+
*/
|
|
96
|
+
ZoomSettings.create = function (percent, val) {
|
|
97
|
+
var wire = val === undefined ? undefined : (typeof val === 'string' ? val : val);
|
|
98
|
+
return new ZoomSettings(wire, percent);
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* `w:zoom/@w:val` — zoom type qualifier, or `undefined` when absent.
|
|
102
|
+
* @private
|
|
103
|
+
*/
|
|
104
|
+
ZoomSettings.prototype.type = function () {
|
|
105
|
+
return this.zoomType;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Mutate `w:zoom/@w:val`.
|
|
109
|
+
* @private
|
|
110
|
+
*/
|
|
111
|
+
ZoomSettings.prototype.setType = function (val) {
|
|
112
|
+
if (val === undefined) {
|
|
113
|
+
this.zoomType = undefined;
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
this.zoomType = typeof val === 'string' ? val : val;
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* `w:zoom/@w:percent` — numeric zoom percentage, or `undefined` when absent.
|
|
120
|
+
* @private
|
|
121
|
+
*/
|
|
122
|
+
ZoomSettings.prototype.percent = function () {
|
|
123
|
+
return this.zoomPercent;
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* Mutate `w:zoom/@w:percent`.
|
|
127
|
+
* @private
|
|
128
|
+
*/
|
|
129
|
+
ZoomSettings.prototype.setPercent = function (value) {
|
|
130
|
+
this.zoomPercent = value;
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* @private
|
|
134
|
+
*/
|
|
135
|
+
ZoomSettings.prototype.serialize = function () {
|
|
136
|
+
var attrs = [];
|
|
137
|
+
if (this.zoomType !== undefined) {
|
|
138
|
+
attrs.push(wmlAttr('val', this.zoomType));
|
|
139
|
+
}
|
|
140
|
+
if (this.zoomPercent !== undefined) {
|
|
141
|
+
attrs.push(wmlAttr('percent', String(this.zoomPercent)));
|
|
142
|
+
}
|
|
143
|
+
return wmlElement('zoom', { attributes: attrs });
|
|
144
|
+
};
|
|
145
|
+
return ZoomSettings;
|
|
146
|
+
}());
|
|
147
|
+
export { ZoomSettings };
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized built-in style catalog — immutable templates for every built-in
|
|
3
|
+
* style the library recognizes, references, or requires.
|
|
4
|
+
*
|
|
5
|
+
* Design (`docs/specs/styles-builtin-definitions-catalog.md` §2):
|
|
6
|
+
* - Templates are structured data (`BuiltinStyleTemplate`), never serialized
|
|
7
|
+
* XML strings — the serializer consumes the `DocxStyle` graph produced by
|
|
8
|
+
* {@link instantiateBuiltinStyle}.
|
|
9
|
+
* - The catalog is built once at module load into frozen entries held in a
|
|
10
|
+
* `ReadonlyMap`; templates are shared but never mutated (deep-cloned on
|
|
11
|
+
* every instantiation).
|
|
12
|
+
* - Formatting payloads reuse the modeled property subsets from
|
|
13
|
+
* `run-properties.ts` / `paragraph-properties.ts` (single source of truth for
|
|
14
|
+
* parse/serialize/clone) — no duplicate formatting models.
|
|
15
|
+
*
|
|
16
|
+
* Value sourcing (never-invent-OOXML, spec §2.5):
|
|
17
|
+
* - `Normal`, `Heading1`, `Heading2` — normative, mandated by the requirement
|
|
18
|
+
* (spec §2.2–§2.4): Times New Roman 12 pt; Arial 16 pt bold / Arial 14 pt
|
|
19
|
+
* bold-italic, keepNext, spacing before 240 after 60, outlineLvl 0/1.
|
|
20
|
+
* - Style ID ↔ display name and style *type* for every entry —
|
|
21
|
+
* `[MS-OI29500]` §2.1.238/§2.1.242 Word reserved built-in style name table
|
|
22
|
+
* (Word reserves these names with these types).
|
|
23
|
+
* - Heading 3–9 shells (basedOn/next/qFormat/keepNext/240/60/outlineLvl)
|
|
24
|
+
* follow the mandated heading shell (spec §2.5) with the Word heading
|
|
25
|
+
* scale (Arial, bold, 13/12/11/11/11/11/11 pt per level).
|
|
26
|
+
* - `DefaultParagraphFont`, `TableNormal`, `NoList`, `TableGrid`,
|
|
27
|
+
* `Hyperlink` — re-sourced from the shipped Word "Hello World" create-path
|
|
28
|
+
* evidence (`default-styles.ts`, TASK-8027).
|
|
29
|
+
* - Other character/paragraph defaults (`Strong` bold, `Emphasis` italic,
|
|
30
|
+
* reference styles superscript, `FollowedHyperlink` 800080 + single
|
|
31
|
+
* underline, `NoSpacing` suppresses doc-default spacing) — semantic
|
|
32
|
+
* defaults from the style names' documented meaning (ECMA-376-1 §17.7)
|
|
33
|
+
* encoded as the catalog's built-in default; a document's parsed
|
|
34
|
+
* definition always wins (spec §11.1).
|
|
35
|
+
*
|
|
36
|
+
* @private
|
|
37
|
+
*/
|
|
38
|
+
import { OpenXmlElement } from '../../core/xml/index';
|
|
39
|
+
import { ModeledParagraphProperties } from './paragraph-properties';
|
|
40
|
+
import { ModeledRunProperties } from './run-properties';
|
|
41
|
+
import { DocxStyle, DocxStyleType } from './style';
|
|
42
|
+
/**
|
|
43
|
+
* One immutable built-in style template. Instances are created exclusively
|
|
44
|
+
* via {@link instantiateBuiltinStyle}, which deep-clones every nested value.
|
|
45
|
+
*
|
|
46
|
+
* @private
|
|
47
|
+
*/
|
|
48
|
+
export interface BuiltinStyleTemplate {
|
|
49
|
+
/** Canonical `w:styleId` (e.g. "Heading1"). */
|
|
50
|
+
readonly styleId: string;
|
|
51
|
+
/** Canonical `w:name/@w:val` display name (e.g. "Heading 1"). */
|
|
52
|
+
readonly displayName: string;
|
|
53
|
+
readonly type: DocxStyleType;
|
|
54
|
+
/** `@w:default` — default style for its type. */
|
|
55
|
+
readonly isDefault?: boolean;
|
|
56
|
+
/** Canonical ID of the base style (`w:basedOn`). */
|
|
57
|
+
readonly basedOn?: string;
|
|
58
|
+
/** Canonical ID of the next-paragraph style (`w:next`). */
|
|
59
|
+
readonly next?: string;
|
|
60
|
+
/** Canonical ID of the linked style of the other type (`w:link`). */
|
|
61
|
+
readonly link?: string;
|
|
62
|
+
/** `w:uiPriority/@w:val`. */
|
|
63
|
+
readonly uiPriority?: number;
|
|
64
|
+
/** `w:qFormat` — quick-format (style gallery) state. */
|
|
65
|
+
readonly isQuickFormat?: boolean;
|
|
66
|
+
/** `w:semiHidden`. */
|
|
67
|
+
readonly isSemiHidden?: boolean;
|
|
68
|
+
/** `w:unhideWhenUsed`. */
|
|
69
|
+
readonly unhideWhenUsed?: boolean;
|
|
70
|
+
/** → `w:pPr` (only this style's own deltas; inheritance stays via basedOn). */
|
|
71
|
+
readonly paragraphFormatting?: ModeledParagraphProperties;
|
|
72
|
+
/** → `w:rPr`. */
|
|
73
|
+
readonly characterFormatting?: ModeledRunProperties;
|
|
74
|
+
/**
|
|
75
|
+
* `w:tblPr` payload for table styles, carried as typed `wmlElement` parts
|
|
76
|
+
* (the shipped create-path structure — see `TableStyleFormatting` note,
|
|
77
|
+
* spec §2.1). Undefined for non-table styles.
|
|
78
|
+
*/
|
|
79
|
+
readonly tableFormatting?: ReadonlyArray<OpenXmlElement>;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Normalize a style name or ID for lookup: lowercase, collapse internal
|
|
83
|
+
* whitespace, strip it entirely. "Heading 1", "heading1", "HEADING 1" all
|
|
84
|
+
* normalize identically.
|
|
85
|
+
*
|
|
86
|
+
* @private
|
|
87
|
+
*/
|
|
88
|
+
export declare function normalizeStyleName(name: string): string;
|
|
89
|
+
/**
|
|
90
|
+
* Public built-in paragraph style identifiers (canonical OOXML `w:styleId` values).
|
|
91
|
+
*
|
|
92
|
+
* Prefer these constants with {@link Paragraph.applyStyle} so callers do not
|
|
93
|
+
* hard-code style ids. Member values are the wire style ids (e.g. `Heading1`).
|
|
94
|
+
*
|
|
95
|
+
* @public
|
|
96
|
+
*/
|
|
97
|
+
export declare const BuiltInStyle: {
|
|
98
|
+
Normal: "Normal";
|
|
99
|
+
Heading1: "Heading1";
|
|
100
|
+
Heading2: "Heading2";
|
|
101
|
+
};
|
|
102
|
+
/** One of the {@link BuiltInStyle} canonical paragraph style ids. */
|
|
103
|
+
export declare type BuiltInStyle = (typeof BuiltInStyle)[keyof typeof BuiltInStyle];
|
|
104
|
+
/**
|
|
105
|
+
* Public built-in table style identifiers (canonical OOXML `w:styleId` values).
|
|
106
|
+
*
|
|
107
|
+
* Prefer these constants with {@link Table.applyStyle} so callers do not hard-code
|
|
108
|
+
* style ids. Member values are the wire style ids (e.g. `LightShading-Accent1`).
|
|
109
|
+
*
|
|
110
|
+
* @public
|
|
111
|
+
*/
|
|
112
|
+
export declare const BuiltinTableStyle: {
|
|
113
|
+
TableNormal: "TableNormal";
|
|
114
|
+
TableGrid: "TableGrid";
|
|
115
|
+
LightShading: "LightShading";
|
|
116
|
+
LightShadingAccent1: "LightShading-Accent1";
|
|
117
|
+
LightShadingAccent2: "LightShading-Accent2";
|
|
118
|
+
LightShadingAccent3: "LightShading-Accent3";
|
|
119
|
+
LightShadingAccent4: "LightShading-Accent4";
|
|
120
|
+
LightShadingAccent5: "LightShading-Accent5";
|
|
121
|
+
LightShadingAccent6: "LightShading-Accent6";
|
|
122
|
+
};
|
|
123
|
+
/** One of the {@link BuiltinTableStyle} canonical style ids. */
|
|
124
|
+
export declare type BuiltinTableStyle = (typeof BuiltinTableStyle)[keyof typeof BuiltinTableStyle];
|
|
125
|
+
/**
|
|
126
|
+
* Look up a template by canonical style ID.
|
|
127
|
+
* @private
|
|
128
|
+
*/
|
|
129
|
+
export declare function getBuiltinStyleTemplate(styleId: string): BuiltinStyleTemplate | undefined;
|
|
130
|
+
/**
|
|
131
|
+
* Look up a template by display name (normalization applied).
|
|
132
|
+
* @private
|
|
133
|
+
*/
|
|
134
|
+
export declare function getBuiltinStyleTemplateByDisplayName(name: string): BuiltinStyleTemplate | undefined;
|
|
135
|
+
/**
|
|
136
|
+
* Canonical ID for any known built-in form: canonical ID itself, or the
|
|
137
|
+
* canonical ID whose display name matches (normalized). `undefined` for
|
|
138
|
+
* unknown values — no best-effort guessing.
|
|
139
|
+
*
|
|
140
|
+
* @private
|
|
141
|
+
*/
|
|
142
|
+
export declare function canonicalBuiltinStyleId(nameOrId: string): string | undefined;
|
|
143
|
+
/**
|
|
144
|
+
* Frozen snapshot for tests and tooling.
|
|
145
|
+
* @private
|
|
146
|
+
*/
|
|
147
|
+
export declare function listBuiltinStyleTemplates(): ReadonlyArray<BuiltinStyleTemplate>;
|
|
148
|
+
/**
|
|
149
|
+
* Instantiate a catalog template as a document-owned `DocxStyle`: deep-clones
|
|
150
|
+
* the shell fields and every nested formatting object into typed `wmlElement`
|
|
151
|
+
* children (via the modeled payload serializers), sharing nothing with the
|
|
152
|
+
* template, the catalog, or any other instantiation.
|
|
153
|
+
*
|
|
154
|
+
* Dependency styles (`basedOn`/`next`/`link`) are referenced by canonical ID
|
|
155
|
+
* and resolved by the resolver (TASK-8066), not here.
|
|
156
|
+
*
|
|
157
|
+
* @private
|
|
158
|
+
*/
|
|
159
|
+
export declare function instantiateBuiltinStyle(template: BuiltinStyleTemplate): DocxStyle;
|