ooxml-core 0.8.0 → 0.10.0
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 +21 -13
- package/dist/chart/blank-display.d.ts +37 -0
- package/dist/chart/blank-display.d.ts.map +1 -0
- package/dist/chart/box-stats.d.ts +28 -0
- package/dist/chart/box-stats.d.ts.map +1 -0
- package/dist/chart/index.cjs +229 -0
- package/dist/chart/index.d.ts +6 -0
- package/dist/chart/index.d.ts.map +1 -0
- package/dist/chart/index.mjs +220 -0
- package/dist/chart/regression.d.ts +40 -0
- package/dist/chart/regression.d.ts.map +1 -0
- package/dist/chart/stacked-series.d.ts +39 -0
- package/dist/chart/stacked-series.d.ts.map +1 -0
- package/dist/crypto/aes-ecb.d.ts +13 -0
- package/dist/crypto/aes-ecb.d.ts.map +1 -0
- package/dist/crypto/decrypt.d.ts +63 -0
- package/dist/crypto/decrypt.d.ts.map +1 -0
- package/dist/crypto/detect.d.ts +56 -0
- package/dist/crypto/detect.d.ts.map +1 -0
- package/dist/crypto/encrypt.d.ts +27 -0
- package/dist/crypto/encrypt.d.ts.map +1 -0
- package/dist/crypto/encryption-info-write.d.ts +46 -0
- package/dist/crypto/encryption-info-write.d.ts.map +1 -0
- package/dist/crypto/encryption-info.d.ts +22 -0
- package/dist/crypto/encryption-info.d.ts.map +1 -0
- package/dist/crypto/errors.d.ts +39 -0
- package/dist/crypto/errors.d.ts.map +1 -0
- package/dist/crypto/index.cjs +1805 -0
- package/dist/crypto/index.d.ts +26 -0
- package/dist/crypto/index.d.ts.map +1 -0
- package/dist/crypto/index.mjs +1774 -0
- package/dist/crypto/key-derivation.d.ts +73 -0
- package/dist/crypto/key-derivation.d.ts.map +1 -0
- package/dist/crypto/types.d.ts +104 -0
- package/dist/crypto/types.d.ts.map +1 -0
- package/dist/docx/embedded.cjs +2 -0
- package/dist/docx/embedded.mjs +2 -0
- package/dist/docx/index.cjs +2 -0
- package/dist/docx/index.mjs +2 -0
- package/dist/docx/load/detect.d.ts +14 -2
- package/dist/docx/load/detect.d.ts.map +1 -1
- package/dist/docx/load/index.cjs +8995 -7728
- package/dist/docx/load/index.d.ts +3 -1
- package/dist/docx/load/index.d.ts.map +1 -1
- package/dist/docx/load/index.mjs +8990 -7729
- package/dist/docx/load/legacy-doc.d.ts.map +1 -1
- package/dist/geometry/index.cjs +192 -0
- package/dist/geometry/index.d.ts +1 -0
- package/dist/geometry/index.d.ts.map +1 -1
- package/dist/geometry/index.mjs +192 -1
- package/dist/geometry/svg-path-curves.d.ts +11 -0
- package/dist/geometry/svg-path-curves.d.ts.map +1 -0
- package/dist/geometry/svg-path-flatten.d.ts +26 -0
- package/dist/geometry/svg-path-flatten.d.ts.map +1 -0
- package/dist/geometry/svg-path-types.d.ts +6 -0
- package/dist/geometry/svg-path-types.d.ts.map +1 -0
- package/dist/index.cjs +1303 -22
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +1302 -23
- package/dist/opc/index.cjs +797 -1
- package/dist/opc/index.d.ts +2 -0
- package/dist/opc/index.d.ts.map +1 -1
- package/dist/opc/index.mjs +784 -3
- package/dist/opc/properties/app.d.ts +10 -0
- package/dist/opc/properties/app.d.ts.map +1 -0
- package/dist/opc/properties/core.d.ts +13 -0
- package/dist/opc/properties/core.d.ts.map +1 -0
- package/dist/opc/properties/custom.d.ts +15 -0
- package/dist/opc/properties/custom.d.ts.map +1 -0
- package/dist/opc/properties/index.d.ts +5 -0
- package/dist/opc/properties/index.d.ts.map +1 -0
- package/dist/opc/properties/types.d.ts +114 -0
- package/dist/opc/properties/types.d.ts.map +1 -0
- package/dist/opc/relationship-types.d.ts +1 -0
- package/dist/opc/relationship-types.d.ts.map +1 -1
- package/dist/opc/safe-href.d.ts +34 -0
- package/dist/opc/safe-href.d.ts.map +1 -1
- package/dist/opc/signature/constants.d.ts +42 -0
- package/dist/opc/signature/constants.d.ts.map +1 -0
- package/dist/opc/signature/detection.d.ts +97 -0
- package/dist/opc/signature/detection.d.ts.map +1 -0
- package/dist/opc/signature/digest.d.ts +16 -0
- package/dist/opc/signature/digest.d.ts.map +1 -0
- package/dist/opc/signature/index.d.ts +8 -0
- package/dist/opc/signature/index.d.ts.map +1 -0
- package/dist/opc/signature/inspection-status.d.ts +24 -0
- package/dist/opc/signature/inspection-status.d.ts.map +1 -0
- package/dist/opc/signature/reference-utils.d.ts +12 -0
- package/dist/opc/signature/reference-utils.d.ts.map +1 -0
- package/dist/opc/signature/types.d.ts +90 -0
- package/dist/opc/signature/types.d.ts.map +1 -0
- package/dist/opc/signature/xml-utils.d.ts +35 -0
- package/dist/opc/signature/xml-utils.d.ts.map +1 -0
- package/dist/pptx/chunks/{index-CojJtI77.d.ts → index-BWUBPGgv.d.ts} +9 -11
- package/dist/pptx/chunks/index-BWUBPGgv.d.ts.map +1 -0
- package/dist/pptx/chunks/{signature-inspection-status-Bh2oap7B.d.ts → inspection-status-B2E-jSpG.d.ts} +8 -8
- package/dist/pptx/chunks/inspection-status-B2E-jSpG.d.ts.map +1 -0
- package/dist/pptx/cli/index.cjs +1409 -895
- package/dist/pptx/cli/index.mjs +1409 -895
- package/dist/pptx/converter/index.d.ts +1 -1
- package/dist/pptx/index.cjs +1933 -1391
- package/dist/pptx/index.d.ts +20 -67
- package/dist/pptx/index.d.ts.map +1 -1
- package/dist/pptx/index.mjs +1933 -1391
- package/dist/pptx/signature-node/index.cjs +5 -5
- package/dist/pptx/signature-node/index.d.ts +1 -1
- package/dist/pptx/signature-node/index.mjs +5 -5
- package/dist/text/index.cjs +122 -0
- package/dist/text/index.d.ts +3 -0
- package/dist/text/index.d.ts.map +1 -0
- package/dist/text/index.mjs +117 -0
- package/dist/text/unicode-script-detection.d.ts +54 -0
- package/dist/text/unicode-script-detection.d.ts.map +1 -0
- package/dist/visio/edit-master-index.d.ts +10 -0
- package/dist/visio/edit-master-index.d.ts.map +1 -0
- package/dist/visio/edit-master-scope.d.ts +7 -0
- package/dist/visio/edit-master-scope.d.ts.map +1 -0
- package/dist/visio/edit-scope.d.ts.map +1 -1
- package/dist/visio/formula-arithmetic.d.ts +8 -0
- package/dist/visio/formula-arithmetic.d.ts.map +1 -0
- package/dist/visio/formula-evaluate.d.ts.map +1 -1
- package/dist/visio/formula-master.d.ts +13 -0
- package/dist/visio/formula-master.d.ts.map +1 -0
- package/dist/visio/formula-numeric-functions.d.ts +8 -0
- package/dist/visio/formula-numeric-functions.d.ts.map +1 -0
- package/dist/visio/formula.d.ts +1 -1
- package/dist/visio/formula.d.ts.map +1 -1
- package/dist/visio/index.cjs +540 -61
- package/dist/visio/index.mjs +540 -61
- package/dist/xlsx/edit/annotations.d.ts +5 -1
- package/dist/xlsx/edit/annotations.d.ts.map +1 -1
- package/dist/xlsx/edit/cell-values.d.ts +7 -2
- package/dist/xlsx/edit/cell-values.d.ts.map +1 -1
- package/dist/xlsx/edit/clipboard.d.ts.map +1 -1
- package/dist/xlsx/edit/doc-properties.d.ts +14 -0
- package/dist/xlsx/edit/doc-properties.d.ts.map +1 -0
- package/dist/xlsx/edit/fill-series.d.ts.map +1 -1
- package/dist/xlsx/edit/find.d.ts +2 -1
- package/dist/xlsx/edit/find.d.ts.map +1 -1
- package/dist/xlsx/edit/format-lines.d.ts +22 -0
- package/dist/xlsx/edit/format-lines.d.ts.map +1 -0
- package/dist/xlsx/edit/format.d.ts +2 -1
- package/dist/xlsx/edit/format.d.ts.map +1 -1
- package/dist/xlsx/edit/history-refs.d.ts +51 -0
- package/dist/xlsx/edit/history-refs.d.ts.map +1 -0
- package/dist/xlsx/edit/history.d.ts +40 -5
- package/dist/xlsx/edit/history.d.ts.map +1 -1
- package/dist/xlsx/edit/index.d.ts +3 -0
- package/dist/xlsx/edit/index.d.ts.map +1 -1
- package/dist/xlsx/edit/input-text.d.ts +13 -0
- package/dist/xlsx/edit/input-text.d.ts.map +1 -0
- package/dist/xlsx/edit/merge.d.ts +10 -2
- package/dist/xlsx/edit/merge.d.ts.map +1 -1
- package/dist/xlsx/edit/session.d.ts.map +1 -1
- package/dist/xlsx/edit/sheets.d.ts.map +1 -1
- package/dist/xlsx/edit/shift-formulas.d.ts +2 -1
- package/dist/xlsx/edit/shift-formulas.d.ts.map +1 -1
- package/dist/xlsx/edit/shift-preserved.d.ts +17 -0
- package/dist/xlsx/edit/shift-preserved.d.ts.map +1 -0
- package/dist/xlsx/edit/shift-sheet.d.ts +2 -2
- package/dist/xlsx/edit/shift-sheet.d.ts.map +1 -1
- package/dist/xlsx/edit/structure.d.ts.map +1 -1
- package/dist/xlsx/edit/types.d.ts +7 -0
- package/dist/xlsx/edit/types.d.ts.map +1 -1
- package/dist/xlsx/edit/validation-list.d.ts +24 -0
- package/dist/xlsx/edit/validation-list.d.ts.map +1 -0
- package/dist/xlsx/edit/validation.d.ts +2 -1
- package/dist/xlsx/edit/validation.d.ts.map +1 -1
- package/dist/xlsx/formula/area-index.d.ts +18 -0
- package/dist/xlsx/formula/area-index.d.ts.map +1 -0
- package/dist/xlsx/formula/array-context.d.ts.map +1 -1
- package/dist/xlsx/formula/ast.d.ts +5 -1
- package/dist/xlsx/formula/ast.d.ts.map +1 -1
- package/dist/xlsx/formula/call.d.ts.map +1 -1
- package/dist/xlsx/formula/coerce.d.ts.map +1 -1
- package/dist/xlsx/formula/context.d.ts +5 -0
- package/dist/xlsx/formula/context.d.ts.map +1 -1
- package/dist/xlsx/formula/date-serial.d.ts +11 -4
- package/dist/xlsx/formula/date-serial.d.ts.map +1 -1
- package/dist/xlsx/formula/engine-core.d.ts +6 -0
- package/dist/xlsx/formula/engine-core.d.ts.map +1 -1
- package/dist/xlsx/formula/engine-host.d.ts +35 -3
- package/dist/xlsx/formula/engine-host.d.ts.map +1 -1
- package/dist/xlsx/formula/engine-util.d.ts.map +1 -1
- package/dist/xlsx/formula/engine.d.ts.map +1 -1
- package/dist/xlsx/formula/evaluator.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/array-shape.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/array.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/criteria-index.d.ts +12 -0
- package/dist/xlsx/formula/functions/criteria-index.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/criteria.d.ts +24 -16
- package/dist/xlsx/formula/functions/criteria.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/date-calc.d.ts +4 -0
- package/dist/xlsx/formula/functions/date-calc.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/depreciation.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/financial.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/helpers.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/logical.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/lookup-core.d.ts +14 -2
- package/dist/xlsx/formula/functions/lookup-core.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/lookup.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/math-mod.d.ts +8 -0
- package/dist/xlsx/formula/functions/math-mod.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/math-sum.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/math.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/statistical-count.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/statistical.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/stats-core.d.ts +6 -0
- package/dist/xlsx/formula/functions/stats-core.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/text-case.d.ts +14 -0
- package/dist/xlsx/formula/functions/text-case.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/text.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/workdays.d.ts.map +1 -1
- package/dist/xlsx/formula/graph-index.d.ts +15 -0
- package/dist/xlsx/formula/graph-index.d.ts.map +1 -0
- package/dist/xlsx/formula/graph.d.ts +13 -18
- package/dist/xlsx/formula/graph.d.ts.map +1 -1
- package/dist/xlsx/formula/operators.d.ts +9 -0
- package/dist/xlsx/formula/operators.d.ts.map +1 -1
- package/dist/xlsx/formula/parser.d.ts +2 -0
- package/dist/xlsx/formula/parser.d.ts.map +1 -1
- package/dist/xlsx/formula/references.d.ts +4 -1
- package/dist/xlsx/formula/references.d.ts.map +1 -1
- package/dist/xlsx/formula/text-number.d.ts.map +1 -1
- package/dist/xlsx/formula/transform.d.ts.map +1 -1
- package/dist/xlsx/formula/values.d.ts +44 -3
- package/dist/xlsx/formula/values.d.ts.map +1 -1
- package/dist/xlsx/index.cjs +4698 -1322
- package/dist/xlsx/index.mjs +4688 -1323
- package/dist/xlsx/layout/anchors.d.ts +47 -0
- package/dist/xlsx/layout/anchors.d.ts.map +1 -0
- package/dist/xlsx/layout/cf-evaluator.d.ts +1 -2
- package/dist/xlsx/layout/cf-evaluator.d.ts.map +1 -1
- package/dist/xlsx/layout/cf-helpers.d.ts +8 -1
- package/dist/xlsx/layout/cf-helpers.d.ts.map +1 -1
- package/dist/xlsx/layout/index.d.ts +1 -0
- package/dist/xlsx/layout/index.d.ts.map +1 -1
- package/dist/xlsx/load/csv.d.ts +24 -3
- package/dist/xlsx/load/csv.d.ts.map +1 -1
- package/dist/xlsx/load/detect.d.ts +39 -7
- package/dist/xlsx/load/detect.d.ts.map +1 -1
- package/dist/xlsx/load/errors.d.ts +10 -0
- package/dist/xlsx/load/errors.d.ts.map +1 -0
- package/dist/xlsx/load/index.cjs +16220 -12163
- package/dist/xlsx/load/index.d.ts +5 -2
- package/dist/xlsx/load/index.d.ts.map +1 -1
- package/dist/xlsx/load/index.mjs +16213 -12164
- package/dist/xlsx/load/text-decode.d.ts +7 -0
- package/dist/xlsx/load/text-decode.d.ts.map +1 -0
- package/dist/xlsx/model.d.ts +121 -17
- package/dist/xlsx/model.d.ts.map +1 -1
- package/dist/xlsx/numfmt/date.d.ts +7 -0
- package/dist/xlsx/numfmt/date.d.ts.map +1 -1
- package/dist/xlsx/numfmt/format.d.ts.map +1 -1
- package/dist/xlsx/numfmt/fraction.d.ts +5 -1
- package/dist/xlsx/numfmt/fraction.d.ts.map +1 -1
- package/dist/xlsx/numfmt/input-date.d.ts.map +1 -1
- package/dist/xlsx/numfmt/input.d.ts.map +1 -1
- package/dist/xlsx/numfmt/number.d.ts.map +1 -1
- package/dist/xlsx/read/conditional.d.ts.map +1 -1
- package/dist/xlsx/read/drawing.d.ts +2 -2
- package/dist/xlsx/read/drawing.d.ts.map +1 -1
- package/dist/xlsx/read/load.d.ts.map +1 -1
- package/dist/xlsx/read/package.d.ts +18 -2
- package/dist/xlsx/read/package.d.ts.map +1 -1
- package/dist/xlsx/read/sheet-data.d.ts.map +1 -1
- package/dist/xlsx/read/sheet-props.d.ts +15 -1
- package/dist/xlsx/read/sheet-props.d.ts.map +1 -1
- package/dist/xlsx/read/smart-art.d.ts +12 -0
- package/dist/xlsx/read/smart-art.d.ts.map +1 -0
- package/dist/xlsx/read/styles.d.ts.map +1 -1
- package/dist/xlsx/read/workbook-part.d.ts +5 -2
- package/dist/xlsx/read/workbook-part.d.ts.map +1 -1
- package/dist/xlsx/read/worksheet.d.ts.map +1 -1
- package/dist/xlsx/write/attr-merge.d.ts +10 -0
- package/dist/xlsx/write/attr-merge.d.ts.map +1 -0
- package/dist/xlsx/write/carried-refs.d.ts +61 -0
- package/dist/xlsx/write/carried-refs.d.ts.map +1 -0
- package/dist/xlsx/write/comments.d.ts +12 -2
- package/dist/xlsx/write/comments.d.ts.map +1 -1
- package/dist/xlsx/write/conditional.d.ts.map +1 -1
- package/dist/xlsx/write/doc-props.d.ts +30 -0
- package/dist/xlsx/write/doc-props.d.ts.map +1 -0
- package/dist/xlsx/write/drawing.d.ts +5 -0
- package/dist/xlsx/write/drawing.d.ts.map +1 -1
- package/dist/xlsx/write/metadata.d.ts +23 -0
- package/dist/xlsx/write/metadata.d.ts.map +1 -0
- package/dist/xlsx/write/package-writer.d.ts +6 -0
- package/dist/xlsx/write/package-writer.d.ts.map +1 -1
- package/dist/xlsx/write/page-setup.d.ts +8 -0
- package/dist/xlsx/write/page-setup.d.ts.map +1 -0
- package/dist/xlsx/write/save.d.ts.map +1 -1
- package/dist/xlsx/write/sheet-data.d.ts +8 -0
- package/dist/xlsx/write/sheet-data.d.ts.map +1 -1
- package/dist/xlsx/write/sheet-parts.d.ts +6 -0
- package/dist/xlsx/write/sheet-parts.d.ts.map +1 -1
- package/dist/xlsx/write/sheet-props.d.ts +0 -6
- package/dist/xlsx/write/sheet-props.d.ts.map +1 -1
- package/dist/xlsx/write/styles.d.ts.map +1 -1
- package/dist/xlsx/write/table-patch.d.ts +12 -0
- package/dist/xlsx/write/table-patch.d.ts.map +1 -0
- package/dist/xlsx/write/tables.d.ts +9 -0
- package/dist/xlsx/write/tables.d.ts.map +1 -1
- package/dist/xlsx/write/vml-ids.d.ts +29 -0
- package/dist/xlsx/write/vml-ids.d.ts.map +1 -0
- package/dist/xlsx/write/workbook-part.d.ts +1 -4
- package/dist/xlsx/write/workbook-part.d.ts.map +1 -1
- package/dist/xlsx/write/worksheet.d.ts.map +1 -1
- package/dist/xml/index.cjs +4 -0
- package/dist/xml/index.mjs +4 -0
- package/dist/xml/namespaces.d.ts +4 -0
- package/dist/xml/namespaces.d.ts.map +1 -1
- package/package.json +16 -1
- package/dist/pptx/chunks/index-CojJtI77.d.ts.map +0 -1
- package/dist/pptx/chunks/signature-inspection-status-Bh2oap7B.d.ts.map +0 -1
|
@@ -22,7 +22,7 @@ var https__default = /*#__PURE__*/_interopDefault(https);
|
|
|
22
22
|
var fs__default = /*#__PURE__*/_interopDefault(fs);
|
|
23
23
|
var JSZip__default = /*#__PURE__*/_interopDefault(JSZip);
|
|
24
24
|
|
|
25
|
-
// src/
|
|
25
|
+
// src/opc/signature/constants.ts
|
|
26
26
|
var DIGITAL_SIGNATURE_ORIGIN_REL_TYPE = "http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin";
|
|
27
27
|
var DIGITAL_SIGNATURE_REL_TYPE = "http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature";
|
|
28
28
|
var PPTX_VIEWER_MANIFEST_NS = "urn:pptx-viewer:ooxml-signature:v1";
|
|
@@ -54,7 +54,7 @@ var DIGEST_ALGORITHM_TO_WEB_CRYPTO = {
|
|
|
54
54
|
"http://www.w3.org/2001/04/xmlenc#sha512": "SHA-512"
|
|
55
55
|
};
|
|
56
56
|
|
|
57
|
-
// src/
|
|
57
|
+
// src/opc/signature/xml-utils.ts
|
|
58
58
|
function escapeXmlAttr(value) {
|
|
59
59
|
return value.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
60
60
|
}
|
|
@@ -97,7 +97,7 @@ function extractAllTagText(xml, localName) {
|
|
|
97
97
|
return result;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
// src/
|
|
100
|
+
// src/opc/signature/reference-utils.ts
|
|
101
101
|
function normalizePartPath(partPath) {
|
|
102
102
|
return partPath.replace(/\\/g, "/").replace(/^\/+/, "");
|
|
103
103
|
}
|
|
@@ -110,7 +110,7 @@ function resolveReferenceUriToPart(uri) {
|
|
|
110
110
|
return normalizePartPath(decoded.startsWith("/") ? decoded.slice(1) : decoded);
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
// src/
|
|
113
|
+
// src/opc/signature/digest.ts
|
|
114
114
|
async function computeDigestBase64(content, digestAlgorithmUri) {
|
|
115
115
|
const webCryptoAlgo = DIGEST_ALGORITHM_TO_WEB_CRYPTO[digestAlgorithmUri];
|
|
116
116
|
if (!webCryptoAlgo) {
|
|
@@ -132,7 +132,7 @@ function uint8ArrayToBase64(bytes) {
|
|
|
132
132
|
return btoa(binary);
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
-
// src/
|
|
135
|
+
// src/opc/signature/inspection-status.ts
|
|
136
136
|
function computeDetailStatus(detail, policy) {
|
|
137
137
|
const hasDigestMismatch = detail.referenceChecks.some(
|
|
138
138
|
(check) => check.digestStatus === "mismatch"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as DIGITAL_SIGNATURE_REL_TYPE, B as XML_TRANSFORM_ENVELOPED_SIGNATURE, C as SignatureDetailStatus, D as DIGEST_ALGORITHM_TO_HASH, E as TimestampAuthorityStatus, F as ENTERPRISE_TRUST_ROOTS_PEM_ENV, I as OPC_RELATIONSHIP_TRANSFORM, L as PPTX_VIEWER_MANIFEST_NS, M as ENTERPRISE_REQUIRE_REVOCATION_ENV, N as ENTERPRISE_REQUIRE_TIMESTAMP_ENV, O as DIGEST_ALGORITHM_TO_WEB_CRYPTO, P as ENTERPRISE_TRUST_ROOTS_FILE_ENV, R as SUPPORTED_XML_CANON_TRANSFORMS, S as SignatureDetail, T as SignatureValidationPolicy, _ as ParsedReferenceTransform, a as resolveReferenceUriToPart, b as SignResult, c as extractAllTagText, d as isValidBase64, f as CertificateRevocationStatus, g as OfficeSignatureReference, h as LoadedSigningMaterial, i as normalizePartPath, j as ENTERPRISE_FAIL_ON_REVOCATION_UNKNOWN_ENV, k as DIGITAL_SIGNATURE_ORIGIN_REL_TYPE, l as extractFirstTagText, m as DigitalSignatureVerificationStatus, n as computeVerificationStatus, o as escapeXmlAttr, p as DigitalSignatureReport, r as computeDigestBase64$1, s as escapeXmlText, t as computeDetailStatus, u as extractTagAttribute, v as ReferenceTransformResult, w as SignatureReferenceCheck, x as SignatureCertificateInfo, y as SignOptions, z as XMLDSIG_NS } from "../chunks/
|
|
1
|
+
import { A as DIGITAL_SIGNATURE_REL_TYPE, B as XML_TRANSFORM_ENVELOPED_SIGNATURE, C as SignatureDetailStatus, D as DIGEST_ALGORITHM_TO_HASH, E as TimestampAuthorityStatus, F as ENTERPRISE_TRUST_ROOTS_PEM_ENV, I as OPC_RELATIONSHIP_TRANSFORM, L as PPTX_VIEWER_MANIFEST_NS, M as ENTERPRISE_REQUIRE_REVOCATION_ENV, N as ENTERPRISE_REQUIRE_TIMESTAMP_ENV, O as DIGEST_ALGORITHM_TO_WEB_CRYPTO, P as ENTERPRISE_TRUST_ROOTS_FILE_ENV, R as SUPPORTED_XML_CANON_TRANSFORMS, S as SignatureDetail, T as SignatureValidationPolicy, _ as ParsedReferenceTransform, a as resolveReferenceUriToPart, b as SignResult, c as extractAllTagText, d as isValidBase64, f as CertificateRevocationStatus, g as OfficeSignatureReference, h as LoadedSigningMaterial, i as normalizePartPath, j as ENTERPRISE_FAIL_ON_REVOCATION_UNKNOWN_ENV, k as DIGITAL_SIGNATURE_ORIGIN_REL_TYPE, l as extractFirstTagText, m as DigitalSignatureVerificationStatus, n as computeVerificationStatus, o as escapeXmlAttr, p as DigitalSignatureReport, r as computeDigestBase64$1, s as escapeXmlText, t as computeDetailStatus, u as extractTagAttribute, v as ReferenceTransformResult, w as SignatureReferenceCheck, x as SignatureCertificateInfo, y as SignOptions, z as XMLDSIG_NS } from "../chunks/inspection-status-B2E-jSpG.js";
|
|
2
2
|
import JSZip from "jszip";
|
|
3
3
|
//#region src/pptx/signature-node/xml-canonicalization.d.ts
|
|
4
4
|
/**
|
|
@@ -9,7 +9,7 @@ import https from 'https';
|
|
|
9
9
|
import fs from 'fs/promises';
|
|
10
10
|
import JSZip from 'jszip';
|
|
11
11
|
|
|
12
|
-
// src/
|
|
12
|
+
// src/opc/signature/constants.ts
|
|
13
13
|
var DIGITAL_SIGNATURE_ORIGIN_REL_TYPE = "http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin";
|
|
14
14
|
var DIGITAL_SIGNATURE_REL_TYPE = "http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature";
|
|
15
15
|
var PPTX_VIEWER_MANIFEST_NS = "urn:pptx-viewer:ooxml-signature:v1";
|
|
@@ -41,7 +41,7 @@ var DIGEST_ALGORITHM_TO_WEB_CRYPTO = {
|
|
|
41
41
|
"http://www.w3.org/2001/04/xmlenc#sha512": "SHA-512"
|
|
42
42
|
};
|
|
43
43
|
|
|
44
|
-
// src/
|
|
44
|
+
// src/opc/signature/xml-utils.ts
|
|
45
45
|
function escapeXmlAttr(value) {
|
|
46
46
|
return value.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
47
47
|
}
|
|
@@ -84,7 +84,7 @@ function extractAllTagText(xml, localName) {
|
|
|
84
84
|
return result;
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// src/
|
|
87
|
+
// src/opc/signature/reference-utils.ts
|
|
88
88
|
function normalizePartPath(partPath) {
|
|
89
89
|
return partPath.replace(/\\/g, "/").replace(/^\/+/, "");
|
|
90
90
|
}
|
|
@@ -97,7 +97,7 @@ function resolveReferenceUriToPart(uri) {
|
|
|
97
97
|
return normalizePartPath(decoded.startsWith("/") ? decoded.slice(1) : decoded);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
// src/
|
|
100
|
+
// src/opc/signature/digest.ts
|
|
101
101
|
async function computeDigestBase64(content, digestAlgorithmUri) {
|
|
102
102
|
const webCryptoAlgo = DIGEST_ALGORITHM_TO_WEB_CRYPTO[digestAlgorithmUri];
|
|
103
103
|
if (!webCryptoAlgo) {
|
|
@@ -119,7 +119,7 @@ function uint8ArrayToBase64(bytes) {
|
|
|
119
119
|
return btoa(binary);
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
-
// src/
|
|
122
|
+
// src/opc/signature/inspection-status.ts
|
|
123
123
|
function computeDetailStatus(detail, policy) {
|
|
124
124
|
const hasDigestMismatch = detail.referenceChecks.some(
|
|
125
125
|
(check) => check.digestStatus === "mismatch"
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/text/unicode-script-detection.ts
|
|
4
|
+
function detectFontScript(codePoint) {
|
|
5
|
+
if (codePoint >= 11904 && codePoint <= 40959 || // CJK radicals, unified ideographs
|
|
6
|
+
codePoint >= 44032 && codePoint <= 55215 || // Hangul syllables
|
|
7
|
+
codePoint >= 63744 && codePoint <= 64255 || // CJK compatibility ideographs
|
|
8
|
+
codePoint >= 65072 && codePoint <= 65103 || // CJK compatibility forms
|
|
9
|
+
codePoint >= 131072 && codePoint <= 195103 || // CJK extension B-F
|
|
10
|
+
codePoint >= 12288 && codePoint <= 12351 || // CJK symbols & punctuation
|
|
11
|
+
codePoint >= 12352 && codePoint <= 12447 || // Hiragana
|
|
12
|
+
codePoint >= 12448 && codePoint <= 12543 || // Katakana
|
|
13
|
+
codePoint >= 12784 && codePoint <= 12799 || // Katakana extensions
|
|
14
|
+
codePoint >= 65280 && codePoint <= 65519) {
|
|
15
|
+
return "eastAsia";
|
|
16
|
+
}
|
|
17
|
+
if (codePoint >= 1424 && codePoint <= 1535 || // Hebrew
|
|
18
|
+
codePoint >= 1536 && codePoint <= 1791 || // Arabic
|
|
19
|
+
codePoint >= 1792 && codePoint <= 1871 || // Syriac
|
|
20
|
+
codePoint >= 1872 && codePoint <= 1919 || // Arabic Supplement
|
|
21
|
+
codePoint >= 1920 && codePoint <= 1983 || // Thaana
|
|
22
|
+
codePoint >= 1984 && codePoint <= 2047 || // NKo
|
|
23
|
+
codePoint >= 2048 && codePoint <= 2111 || // Samaritan
|
|
24
|
+
codePoint >= 2304 && codePoint <= 2431 || // Devanagari
|
|
25
|
+
codePoint >= 2432 && codePoint <= 2559 || // Bengali
|
|
26
|
+
codePoint >= 2560 && codePoint <= 2687 || // Gurmukhi
|
|
27
|
+
codePoint >= 2688 && codePoint <= 2815 || // Gujarati
|
|
28
|
+
codePoint >= 2816 && codePoint <= 2943 || // Oriya
|
|
29
|
+
codePoint >= 2944 && codePoint <= 3071 || // Tamil
|
|
30
|
+
codePoint >= 3072 && codePoint <= 3199 || // Telugu
|
|
31
|
+
codePoint >= 3200 && codePoint <= 3327 || // Kannada
|
|
32
|
+
codePoint >= 3328 && codePoint <= 3455 || // Malayalam
|
|
33
|
+
codePoint >= 3456 && codePoint <= 3583 || // Sinhala
|
|
34
|
+
codePoint >= 3584 && codePoint <= 3711 || // Thai
|
|
35
|
+
codePoint >= 3712 && codePoint <= 3839 || // Lao
|
|
36
|
+
codePoint >= 3840 && codePoint <= 4095 || // Tibetan
|
|
37
|
+
codePoint >= 4096 && codePoint <= 4255 || // Myanmar
|
|
38
|
+
codePoint >= 4256 && codePoint <= 4351 || // Georgian
|
|
39
|
+
codePoint >= 6016 && codePoint <= 6143 || // Khmer
|
|
40
|
+
codePoint >= 64336 && codePoint <= 65023 || // Arabic Presentation Forms-A
|
|
41
|
+
codePoint >= 65136 && codePoint <= 65279) {
|
|
42
|
+
return "complexScript";
|
|
43
|
+
}
|
|
44
|
+
if (codePoint >= 8592 && codePoint <= 8703 || // Arrows
|
|
45
|
+
codePoint >= 8704 && codePoint <= 8959 || // Mathematical operators
|
|
46
|
+
codePoint >= 8960 && codePoint <= 9215 || // Misc technical
|
|
47
|
+
codePoint >= 9472 && codePoint <= 9599 || // Box drawing
|
|
48
|
+
codePoint >= 9600 && codePoint <= 9631 || // Block elements
|
|
49
|
+
codePoint >= 9632 && codePoint <= 9727 || // Geometric shapes
|
|
50
|
+
codePoint >= 9728 && codePoint <= 9983 || // Misc symbols
|
|
51
|
+
codePoint >= 9984 && codePoint <= 10175 || // Dingbats
|
|
52
|
+
codePoint >= 57344 && codePoint <= 63743 || // Private Use Area
|
|
53
|
+
codePoint >= 126976 && codePoint <= 129535) {
|
|
54
|
+
return "symbol";
|
|
55
|
+
}
|
|
56
|
+
return "latin";
|
|
57
|
+
}
|
|
58
|
+
function segmentByScript(text) {
|
|
59
|
+
if (!text) {
|
|
60
|
+
return [];
|
|
61
|
+
}
|
|
62
|
+
const runs = [];
|
|
63
|
+
let currentScript = null;
|
|
64
|
+
let currentStart = 0;
|
|
65
|
+
let currentText = "";
|
|
66
|
+
for (let i = 0; i < text.length; i++) {
|
|
67
|
+
const codePoint = text.codePointAt(i);
|
|
68
|
+
if (codePoint === void 0) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
const charLength = codePoint > 65535 ? 2 : 1;
|
|
72
|
+
const char = text.substring(i, i + charLength);
|
|
73
|
+
const isNeutral = codePoint <= 127 && !/[a-zA-Z0-9]/u.test(char);
|
|
74
|
+
const script = isNeutral ? currentScript ?? "latin" : detectFontScript(codePoint);
|
|
75
|
+
if (script !== currentScript && currentScript !== null) {
|
|
76
|
+
runs.push({
|
|
77
|
+
text: currentText,
|
|
78
|
+
script: currentScript,
|
|
79
|
+
startIndex: currentStart
|
|
80
|
+
});
|
|
81
|
+
currentStart = i;
|
|
82
|
+
currentText = "";
|
|
83
|
+
}
|
|
84
|
+
currentScript = script;
|
|
85
|
+
currentText += char;
|
|
86
|
+
if (charLength === 2) {
|
|
87
|
+
i++;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
if (currentText && currentScript) {
|
|
91
|
+
runs.push({
|
|
92
|
+
text: currentText,
|
|
93
|
+
script: currentScript,
|
|
94
|
+
startIndex: currentStart
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
return runs;
|
|
98
|
+
}
|
|
99
|
+
function resolveFontForScript(script, fonts) {
|
|
100
|
+
switch (script) {
|
|
101
|
+
case "latin":
|
|
102
|
+
return fonts.latin;
|
|
103
|
+
case "eastAsia":
|
|
104
|
+
return fonts.eastAsia || fonts.latin;
|
|
105
|
+
case "complexScript":
|
|
106
|
+
return fonts.complexScript || fonts.latin;
|
|
107
|
+
case "symbol":
|
|
108
|
+
return fonts.symbol || fonts.latin;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function hasDistinctScriptFonts(fonts) {
|
|
112
|
+
const base = fonts.latin;
|
|
113
|
+
if (!base) {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
return Boolean(fonts.eastAsia) && fonts.eastAsia !== base || Boolean(fonts.complexScript) && fonts.complexScript !== base || Boolean(fonts.symbol) && fonts.symbol !== base;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
exports.detectFontScript = detectFontScript;
|
|
120
|
+
exports.hasDistinctScriptFonts = hasDistinctScriptFonts;
|
|
121
|
+
exports.resolveFontForScript = resolveFontForScript;
|
|
122
|
+
exports.segmentByScript = segmentByScript;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Browser-neutral text primitives shared by Office consumers. */
|
|
2
|
+
export { detectFontScript, segmentByScript, resolveFontForScript, hasDistinctScriptFonts, type FontScriptCategory, type ScriptRun, } from './unicode-script-detection.js';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/text/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EACN,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,SAAS,GACd,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// src/text/unicode-script-detection.ts
|
|
2
|
+
function detectFontScript(codePoint) {
|
|
3
|
+
if (codePoint >= 11904 && codePoint <= 40959 || // CJK radicals, unified ideographs
|
|
4
|
+
codePoint >= 44032 && codePoint <= 55215 || // Hangul syllables
|
|
5
|
+
codePoint >= 63744 && codePoint <= 64255 || // CJK compatibility ideographs
|
|
6
|
+
codePoint >= 65072 && codePoint <= 65103 || // CJK compatibility forms
|
|
7
|
+
codePoint >= 131072 && codePoint <= 195103 || // CJK extension B-F
|
|
8
|
+
codePoint >= 12288 && codePoint <= 12351 || // CJK symbols & punctuation
|
|
9
|
+
codePoint >= 12352 && codePoint <= 12447 || // Hiragana
|
|
10
|
+
codePoint >= 12448 && codePoint <= 12543 || // Katakana
|
|
11
|
+
codePoint >= 12784 && codePoint <= 12799 || // Katakana extensions
|
|
12
|
+
codePoint >= 65280 && codePoint <= 65519) {
|
|
13
|
+
return "eastAsia";
|
|
14
|
+
}
|
|
15
|
+
if (codePoint >= 1424 && codePoint <= 1535 || // Hebrew
|
|
16
|
+
codePoint >= 1536 && codePoint <= 1791 || // Arabic
|
|
17
|
+
codePoint >= 1792 && codePoint <= 1871 || // Syriac
|
|
18
|
+
codePoint >= 1872 && codePoint <= 1919 || // Arabic Supplement
|
|
19
|
+
codePoint >= 1920 && codePoint <= 1983 || // Thaana
|
|
20
|
+
codePoint >= 1984 && codePoint <= 2047 || // NKo
|
|
21
|
+
codePoint >= 2048 && codePoint <= 2111 || // Samaritan
|
|
22
|
+
codePoint >= 2304 && codePoint <= 2431 || // Devanagari
|
|
23
|
+
codePoint >= 2432 && codePoint <= 2559 || // Bengali
|
|
24
|
+
codePoint >= 2560 && codePoint <= 2687 || // Gurmukhi
|
|
25
|
+
codePoint >= 2688 && codePoint <= 2815 || // Gujarati
|
|
26
|
+
codePoint >= 2816 && codePoint <= 2943 || // Oriya
|
|
27
|
+
codePoint >= 2944 && codePoint <= 3071 || // Tamil
|
|
28
|
+
codePoint >= 3072 && codePoint <= 3199 || // Telugu
|
|
29
|
+
codePoint >= 3200 && codePoint <= 3327 || // Kannada
|
|
30
|
+
codePoint >= 3328 && codePoint <= 3455 || // Malayalam
|
|
31
|
+
codePoint >= 3456 && codePoint <= 3583 || // Sinhala
|
|
32
|
+
codePoint >= 3584 && codePoint <= 3711 || // Thai
|
|
33
|
+
codePoint >= 3712 && codePoint <= 3839 || // Lao
|
|
34
|
+
codePoint >= 3840 && codePoint <= 4095 || // Tibetan
|
|
35
|
+
codePoint >= 4096 && codePoint <= 4255 || // Myanmar
|
|
36
|
+
codePoint >= 4256 && codePoint <= 4351 || // Georgian
|
|
37
|
+
codePoint >= 6016 && codePoint <= 6143 || // Khmer
|
|
38
|
+
codePoint >= 64336 && codePoint <= 65023 || // Arabic Presentation Forms-A
|
|
39
|
+
codePoint >= 65136 && codePoint <= 65279) {
|
|
40
|
+
return "complexScript";
|
|
41
|
+
}
|
|
42
|
+
if (codePoint >= 8592 && codePoint <= 8703 || // Arrows
|
|
43
|
+
codePoint >= 8704 && codePoint <= 8959 || // Mathematical operators
|
|
44
|
+
codePoint >= 8960 && codePoint <= 9215 || // Misc technical
|
|
45
|
+
codePoint >= 9472 && codePoint <= 9599 || // Box drawing
|
|
46
|
+
codePoint >= 9600 && codePoint <= 9631 || // Block elements
|
|
47
|
+
codePoint >= 9632 && codePoint <= 9727 || // Geometric shapes
|
|
48
|
+
codePoint >= 9728 && codePoint <= 9983 || // Misc symbols
|
|
49
|
+
codePoint >= 9984 && codePoint <= 10175 || // Dingbats
|
|
50
|
+
codePoint >= 57344 && codePoint <= 63743 || // Private Use Area
|
|
51
|
+
codePoint >= 126976 && codePoint <= 129535) {
|
|
52
|
+
return "symbol";
|
|
53
|
+
}
|
|
54
|
+
return "latin";
|
|
55
|
+
}
|
|
56
|
+
function segmentByScript(text) {
|
|
57
|
+
if (!text) {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
const runs = [];
|
|
61
|
+
let currentScript = null;
|
|
62
|
+
let currentStart = 0;
|
|
63
|
+
let currentText = "";
|
|
64
|
+
for (let i = 0; i < text.length; i++) {
|
|
65
|
+
const codePoint = text.codePointAt(i);
|
|
66
|
+
if (codePoint === void 0) {
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
const charLength = codePoint > 65535 ? 2 : 1;
|
|
70
|
+
const char = text.substring(i, i + charLength);
|
|
71
|
+
const isNeutral = codePoint <= 127 && !/[a-zA-Z0-9]/u.test(char);
|
|
72
|
+
const script = isNeutral ? currentScript ?? "latin" : detectFontScript(codePoint);
|
|
73
|
+
if (script !== currentScript && currentScript !== null) {
|
|
74
|
+
runs.push({
|
|
75
|
+
text: currentText,
|
|
76
|
+
script: currentScript,
|
|
77
|
+
startIndex: currentStart
|
|
78
|
+
});
|
|
79
|
+
currentStart = i;
|
|
80
|
+
currentText = "";
|
|
81
|
+
}
|
|
82
|
+
currentScript = script;
|
|
83
|
+
currentText += char;
|
|
84
|
+
if (charLength === 2) {
|
|
85
|
+
i++;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (currentText && currentScript) {
|
|
89
|
+
runs.push({
|
|
90
|
+
text: currentText,
|
|
91
|
+
script: currentScript,
|
|
92
|
+
startIndex: currentStart
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
return runs;
|
|
96
|
+
}
|
|
97
|
+
function resolveFontForScript(script, fonts) {
|
|
98
|
+
switch (script) {
|
|
99
|
+
case "latin":
|
|
100
|
+
return fonts.latin;
|
|
101
|
+
case "eastAsia":
|
|
102
|
+
return fonts.eastAsia || fonts.latin;
|
|
103
|
+
case "complexScript":
|
|
104
|
+
return fonts.complexScript || fonts.latin;
|
|
105
|
+
case "symbol":
|
|
106
|
+
return fonts.symbol || fonts.latin;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
function hasDistinctScriptFonts(fonts) {
|
|
110
|
+
const base = fonts.latin;
|
|
111
|
+
if (!base) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
return Boolean(fonts.eastAsia) && fonts.eastAsia !== base || Boolean(fonts.complexScript) && fonts.complexScript !== base || Boolean(fonts.symbol) && fonts.symbol !== base;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export { detectFontScript, hasDistinctScriptFonts, resolveFontForScript, segmentByScript };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unicode script detection for font fallback.
|
|
3
|
+
*
|
|
4
|
+
* Classifies code points into the font groups historically used by the
|
|
5
|
+
* PowerPoint viewer. This block-based heuristic is not a Unicode Script
|
|
6
|
+
* property implementation or Word's language/hint/bidi font-slot selection.
|
|
7
|
+
* It does not choose or load fonts, shape glyphs or modify document models.
|
|
8
|
+
*/
|
|
9
|
+
/** OOXML font script category. */
|
|
10
|
+
export type FontScriptCategory = 'latin' | 'eastAsia' | 'complexScript' | 'symbol';
|
|
11
|
+
/**
|
|
12
|
+
* Detect the OOXML font script category for a single character.
|
|
13
|
+
*
|
|
14
|
+
* Uses Unicode block ranges to determine if a character belongs to:
|
|
15
|
+
* - Latin (Basic Latin, Latin Extended, Greek, Cyrillic, etc.)
|
|
16
|
+
* - East Asian (CJK Unified Ideographs, Hiragana, Katakana, Hangul, etc.)
|
|
17
|
+
* - Complex Script (Arabic, Hebrew, Devanagari, Thai, etc.)
|
|
18
|
+
* - Symbol (Dingbats, Mathematical, etc.)
|
|
19
|
+
*/
|
|
20
|
+
export declare function detectFontScript(codePoint: number): FontScriptCategory;
|
|
21
|
+
/** A contiguous run of characters sharing the same font script category. */
|
|
22
|
+
export interface ScriptRun {
|
|
23
|
+
text: string;
|
|
24
|
+
script: FontScriptCategory;
|
|
25
|
+
/** UTF-16 offset in the original string, matching JavaScript string slicing. */
|
|
26
|
+
startIndex: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Segment a string into runs of the same font script category.
|
|
30
|
+
* Adjacent characters with the same script are grouped together.
|
|
31
|
+
* Whitespace and ASCII punctuation inherit the previous run's script.
|
|
32
|
+
*/
|
|
33
|
+
export declare function segmentByScript(text: string): ScriptRun[];
|
|
34
|
+
/**
|
|
35
|
+
* Resolve the font family for a given script category from available fonts.
|
|
36
|
+
* Falls back to latin when a script-specific font is not available.
|
|
37
|
+
*/
|
|
38
|
+
export declare function resolveFontForScript(script: FontScriptCategory, fonts: {
|
|
39
|
+
latin?: string;
|
|
40
|
+
eastAsia?: string;
|
|
41
|
+
complexScript?: string;
|
|
42
|
+
symbol?: string;
|
|
43
|
+
}): string | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Check whether per-script fonts are actually different from the base latin font.
|
|
46
|
+
* Returns `true` when at least one script-specific font differs.
|
|
47
|
+
*/
|
|
48
|
+
export declare function hasDistinctScriptFonts(fonts: {
|
|
49
|
+
latin?: string;
|
|
50
|
+
eastAsia?: string;
|
|
51
|
+
complexScript?: string;
|
|
52
|
+
symbol?: string;
|
|
53
|
+
}): boolean;
|
|
54
|
+
//# sourceMappingURL=unicode-script-detection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unicode-script-detection.d.ts","sourceRoot":"","sources":["../../src/text/unicode-script-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,kCAAkC;AAClC,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,UAAU,GAAG,eAAe,GAAG,QAAQ,CAAC;AAEnF;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAkEtE;AAED,4EAA4E;AAC5E,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,kBAAkB,CAAC;IAC3B,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CAqDzD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE;IACN,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,GACC,MAAM,GAAG,SAAS,CAWpB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAUV"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function masterCells(sheet: Element | undefined, charge?: () => void): Map<string, Element>;
|
|
2
|
+
export declare function masterShapes(root: Element): Element[];
|
|
3
|
+
export declare function assertMasterMarkup(root: Element, known: ReadonlySet<Element>, check: () => void): void;
|
|
4
|
+
export declare function masterStyleCells(document: Element, template: Element, instance: Element | undefined, check: () => void, charge?: () => void): Map<string, Element>;
|
|
5
|
+
export interface MasterCellSource {
|
|
6
|
+
node: Element;
|
|
7
|
+
kind: 'template' | 'instance' | 'style';
|
|
8
|
+
}
|
|
9
|
+
export declare function overlay(cells: Map<string, MasterCellSource>, additions: Map<string, Element>, kind: MasterCellSource['kind'], charge: () => void): void;
|
|
10
|
+
//# sourceMappingURL=edit-master-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-master-index.d.ts","sourceRoot":"","sources":["../../src/visio/edit-master-index.ts"],"names":[],"mappings":"AAGA,wBAAgB,WAAW,CAC1B,KAAK,EAAE,OAAO,GAAG,SAAS,EAC1B,MAAM,GAAE,MAAM,IAAe,GAC3B,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CA8CtB;AACD,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,CAYrD;AACD,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,EAC3B,KAAK,EAAE,MAAM,IAAI,GACf,IAAI,CASN;AACD,wBAAgB,gBAAgB,CAC/B,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,OAAO,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,IAAI,EACjB,MAAM,GAAE,MAAM,IAAe,GAC3B,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAsDtB;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;CACxC;AACD,wBAAgB,OAAO,CACtB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACpC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAC9B,MAAM,EAAE,MAAM,IAAI,GAChB,IAAI,CA2CN"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { VisioGeometryEdit } from './edit-commands.js';
|
|
2
|
+
import type { VisioPackage } from './package.js';
|
|
3
|
+
/** Prove that effective cells of active master instances cannot depend on the edited local shapes.
|
|
4
|
+
* Definitions remain untouched. Unsupported formulas and unresolved scopes remain refused.
|
|
5
|
+
*/
|
|
6
|
+
export declare function assertVisioMasterIndependence(pkg: VisioPackage, roots: ReadonlyMap<string, Element>, commands: readonly VisioGeometryEdit[], check: () => void): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=edit-master-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-master-scope.d.ts","sourceRoot":"","sources":["../../src/visio/edit-master-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA6BjD;;GAEG;AACH,wBAAsB,6BAA6B,CAClD,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EACtC,KAAK,EAAE,MAAM,IAAI,GACf,OAAO,CAAC,IAAI,CAAC,CA+Of"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-scope.d.ts","sourceRoot":"","sources":["../../src/visio/edit-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"edit-scope.d.ts","sourceRoot":"","sources":["../../src/visio/edit-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA0CjD,+GAA+G;AAC/G,wBAAsB,0BAA0B,CAC/C,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,EAC9B,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EACtC,KAAK,EAAE,MAAM,IAAI,EACjB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC,CAwNf"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { VisioFormulaUnit, VisioFormulaValue } from './formula.js';
|
|
2
|
+
export declare function finiteFormulaValue(value: VisioFormulaValue): VisioFormulaValue;
|
|
3
|
+
export declare function compatibleFormulaUnits(a: VisioFormulaValue, b: VisioFormulaValue): VisioFormulaUnit;
|
|
4
|
+
export declare function formulaProductUnit(a: VisioFormulaUnit, b: VisioFormulaUnit): VisioFormulaUnit;
|
|
5
|
+
export declare function formulaQuotientUnit(a: VisioFormulaUnit, b: VisioFormulaUnit): VisioFormulaUnit;
|
|
6
|
+
export declare function formulaExponentUnit(a: VisioFormulaUnit, exponent: VisioFormulaValue): VisioFormulaUnit;
|
|
7
|
+
export declare function formulaSquareRootUnit(unit: VisioFormulaUnit): VisioFormulaUnit;
|
|
8
|
+
//# sourceMappingURL=formula-arithmetic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formula-arithmetic.d.ts","sourceRoot":"","sources":["../../src/visio/formula-arithmetic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAExE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAK9E;AACD,wBAAgB,sBAAsB,CACrC,CAAC,EAAE,iBAAiB,EACpB,CAAC,EAAE,iBAAiB,GAClB,gBAAgB,CAKlB;AAWD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAQ7F;AACD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAQ9F;AACD,wBAAgB,mBAAmB,CAClC,CAAC,EAAE,gBAAgB,EACnB,QAAQ,EAAE,iBAAiB,GACzB,gBAAgB,CAQlB;AACD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB,CAI9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formula-evaluate.d.ts","sourceRoot":"","sources":["../../src/visio/formula-evaluate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"formula-evaluate.d.ts","sourceRoot":"","sources":["../../src/visio/formula-evaluate.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,cAAc,CAAC;AAsEtB,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CACjB;AAoBD,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,MAAM,GAAG,eAAe,EAChC,MAAM,GAAE,kBAAuB,GAC7B,oBAAoB,CAmCtB;AA+BD,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,MAAM,GAAG,eAAe,EAChC,OAAO,EAAE,CAAC,SAAS,EAAE,qBAAqB,KAAK,iBAAiB,EAChE,MAAM,GAAE,kBAAuB,GAC7B,iBAAiB,CAuGnB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type VisioFormulaReference } from './formula.js';
|
|
2
|
+
/** Locality proof only, never numeric evaluation or permission to overwrite a redirect. */
|
|
3
|
+
export declare function analyzeVisioMasterFormula(source: string, options: {
|
|
4
|
+
textFieldFree: boolean;
|
|
5
|
+
}): {
|
|
6
|
+
references: VisioFormulaReference[];
|
|
7
|
+
dynamic: boolean;
|
|
8
|
+
readsText: boolean;
|
|
9
|
+
readsTheme: boolean;
|
|
10
|
+
unsupportedFunctions: string[];
|
|
11
|
+
guarded: boolean;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=formula-master.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formula-master.d.ts","sourceRoot":"","sources":["../../src/visio/formula-master.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,qBAAqB,EAC1B,MAAM,cAAc,CAAC;AAEtB,2FAA2F;AAC3F,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,aAAa,EAAE,OAAO,CAAA;CAAE;;;;;;;EA4C5F"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { VisioFormulaValue } from './formula.js';
|
|
2
|
+
export declare const numericFormulaFunctions: Set<string>;
|
|
3
|
+
/** Numeric-only subset of Microsoft ShapeSheet AND/OR/NOT, BITAND/BITOR/BITXOR and MODULUS.
|
|
4
|
+
* https://learn.microsoft.com/en-us/office/client-developer/visio/modulus-function
|
|
5
|
+
* https://learn.microsoft.com/en-us/office/client-developer/visio/bitxor-function
|
|
6
|
+
*/
|
|
7
|
+
export declare function evaluateNumericFormulaFunction(name: string, args: readonly VisioFormulaValue[]): VisioFormulaValue;
|
|
8
|
+
//# sourceMappingURL=formula-numeric-functions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formula-numeric-functions.d.ts","sourceRoot":"","sources":["../../src/visio/formula-numeric-functions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,eAAO,MAAM,uBAAuB,aAQlC,CAAC;AACH;;;GAGG;AACH,wBAAgB,8BAA8B,CAC7C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,iBAAiB,EAAE,GAChC,iBAAiB,CA4CnB"}
|
package/dist/visio/formula.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Conservative numeric ShapeSheet interpreter. Values use Visio internal units. */
|
|
2
|
-
export type VisioFormulaUnit = 'scalar' | 'length' | 'angle' | 'time';
|
|
2
|
+
export type VisioFormulaUnit = 'scalar' | 'length' | 'area' | 'angle' | 'time';
|
|
3
3
|
export interface VisioFormulaValue {
|
|
4
4
|
value: number;
|
|
5
5
|
unit: VisioFormulaUnit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formula.d.ts","sourceRoot":"","sources":["../../src/visio/formula.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"formula.d.ts","sourceRoot":"","sources":["../../src/visio/formula.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAC/E,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,gBAAgB,CAAC;CACvB;AACD,MAAM,WAAW,qBAAqB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACb;AACD,MAAM,WAAW,kBAAkB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB;AACD,MAAM,MAAM,eAAe,GACxB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,qBAAqB,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,GACnF;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC;AAC3D,qBAAa,iBAAkB,SAAQ,KAAK;aAE1B,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM;CAKhB;AACD,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,KAE9D,CAAC;AACF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKhF;AAoBD,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAWvF;AACD,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,kBAAuB,GAC7B,eAAe,CA8HjB;AAED,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
|