ooxml-core 1.12.2 → 1.14.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/dist/PptxHandler-5YP75BPO.cjs +12 -0
- package/dist/PptxHandler-GT5Q66TG.mjs +3 -0
- package/dist/{PptxHandler-FIN6XDTI.mjs → PptxHandler-KNBFECUE.mjs} +3 -3
- package/dist/PresentationBuilder-5DCCFHWJ.mjs +7 -0
- package/dist/PresentationBuilder-CVM6LJ7L.mjs +3 -0
- package/dist/PresentationBuilder-II7C4A3R.cjs +20 -0
- package/dist/automation/docx.d.ts +18 -0
- package/dist/automation/docx.d.ts.map +1 -1
- package/dist/automation/index.cjs +22549 -8585
- package/dist/automation/index.d.ts +1 -0
- package/dist/automation/index.d.ts.map +1 -1
- package/dist/automation/index.mjs +22546 -8586
- package/dist/automation/node.cjs +66 -6
- package/dist/automation/node.d.ts +10 -0
- package/dist/automation/node.d.ts.map +1 -1
- package/dist/automation/node.mjs +67 -7
- package/dist/automation/outline.d.ts +29 -0
- package/dist/automation/outline.d.ts.map +1 -0
- package/dist/automation/xlsx.d.ts +21 -0
- package/dist/automation/xlsx.d.ts.map +1 -1
- package/dist/chart/auto-title.d.ts +31 -0
- package/dist/chart/auto-title.d.ts.map +1 -0
- package/dist/chart/axis-format.d.ts +13 -0
- package/dist/chart/axis-format.d.ts.map +1 -0
- package/dist/chart/bubble-radius.d.ts +30 -0
- package/dist/chart/bubble-radius.d.ts.map +1 -0
- package/dist/chart/error-bar-amount.d.ts +22 -0
- package/dist/chart/error-bar-amount.d.ts.map +1 -0
- package/dist/chart/hierarchy.d.ts +69 -0
- package/dist/chart/hierarchy.d.ts.map +1 -0
- package/dist/chart/index.cjs +2377 -527
- package/dist/chart/index.d.ts +12 -0
- package/dist/chart/index.d.ts.map +1 -1
- package/dist/chart/index.mjs +2338 -528
- package/dist/chart/model-analysis.d.ts +66 -0
- package/dist/chart/model-analysis.d.ts.map +1 -0
- package/dist/chart/model-series.d.ts +5 -0
- package/dist/chart/model-series.d.ts.map +1 -1
- package/dist/chart/number-format-pattern.d.ts +35 -0
- package/dist/chart/number-format-pattern.d.ts.map +1 -0
- package/dist/chart/number-format.d.ts +21 -0
- package/dist/chart/number-format.d.ts.map +1 -0
- package/dist/chart/parse-analysis.d.ts +13 -0
- package/dist/chart/parse-analysis.d.ts.map +1 -0
- package/dist/chart/parse-series.d.ts +1 -1
- package/dist/chart/parse-series.d.ts.map +1 -1
- package/dist/chart/parse-util.d.ts +2 -0
- package/dist/chart/parse-util.d.ts.map +1 -1
- package/dist/chart/render/chart-svg-analysis.d.ts +7 -0
- package/dist/chart/render/chart-svg-analysis.d.ts.map +1 -0
- package/dist/chart/render/chart-svg-bars.d.ts +5 -0
- package/dist/chart/render/chart-svg-bars.d.ts.map +1 -1
- package/dist/chart/render/chart-svg-cartesian.d.ts +7 -2
- package/dist/chart/render/chart-svg-cartesian.d.ts.map +1 -1
- package/dist/chart/render/chart-svg-hierarchy.d.ts +5 -0
- package/dist/chart/render/chart-svg-hierarchy.d.ts.map +1 -0
- package/dist/chart/render/chart-svg-plots.d.ts +5 -0
- package/dist/chart/render/chart-svg-plots.d.ts.map +1 -0
- package/dist/chart/render/chart-svg-stock.d.ts +4 -0
- package/dist/chart/render/chart-svg-stock.d.ts.map +1 -0
- package/dist/chart/render/chart-svg-waterfall.d.ts +4 -0
- package/dist/chart/render/chart-svg-waterfall.d.ts.map +1 -0
- package/dist/chart/render/chart-svg-xy.d.ts +4 -0
- package/dist/chart/render/chart-svg-xy.d.ts.map +1 -0
- package/dist/chart/render/chart-svg.d.ts +1 -1
- package/dist/chart/render/chart-svg.d.ts.map +1 -1
- package/dist/chart/render/chart-value-axis.d.ts +6 -1
- package/dist/chart/render/chart-value-axis.d.ts.map +1 -1
- package/dist/chart/render/chart-view-analysis.d.ts +30 -0
- package/dist/chart/render/chart-view-analysis.d.ts.map +1 -0
- package/dist/chart/render/chart-view-ex.d.ts +24 -0
- package/dist/chart/render/chart-view-ex.d.ts.map +1 -0
- package/dist/chart/render/chart-view-families.d.ts +10 -0
- package/dist/chart/render/chart-view-families.d.ts.map +1 -0
- package/dist/chart/render/chart-view-series.d.ts +36 -0
- package/dist/chart/render/chart-view-series.d.ts.map +1 -0
- package/dist/chart/render/chart-view-stock.d.ts +23 -0
- package/dist/chart/render/chart-view-stock.d.ts.map +1 -0
- package/dist/chart/render/chart-view.d.ts +49 -18
- package/dist/chart/render/chart-view.d.ts.map +1 -1
- package/dist/chart/render/index.d.ts +2 -0
- package/dist/chart/render/index.d.ts.map +1 -1
- package/dist/chart/render/render-space.d.ts +6 -1
- package/dist/chart/render/render-space.d.ts.map +1 -1
- package/dist/chart/render/summary-analysis.d.ts +11 -0
- package/dist/chart/render/summary-analysis.d.ts.map +1 -0
- package/dist/chart/render/summary-from-chartex.d.ts +11 -0
- package/dist/chart/render/summary-from-chartex.d.ts.map +1 -0
- package/dist/chart/render/summary-from-space.d.ts.map +1 -1
- package/dist/chart/render/summary.d.ts +86 -3
- package/dist/chart/render/summary.d.ts.map +1 -1
- package/dist/chart/stock-candles.d.ts +72 -0
- package/dist/chart/stock-candles.d.ts.map +1 -0
- package/dist/chart/style-palette.d.ts +29 -0
- package/dist/chart/style-palette.d.ts.map +1 -0
- package/dist/chart/sunburst-arcs.d.ts +41 -0
- package/dist/chart/sunburst-arcs.d.ts.map +1 -0
- package/dist/chart/trendline-fit.d.ts +39 -0
- package/dist/chart/trendline-fit.d.ts.map +1 -0
- package/dist/chart/waterfall.d.ts +31 -0
- package/dist/chart/waterfall.d.ts.map +1 -0
- package/dist/chart/write-analysis.d.ts +12 -0
- package/dist/chart/write-analysis.d.ts.map +1 -0
- package/dist/chart/write-series.d.ts.map +1 -1
- package/dist/{chunk-G5PQKHCG.mjs → chunk-2D4IFQ5M.mjs} +1 -1
- package/dist/{chunk-UAY26XOI.mjs → chunk-2EBMHIGJ.mjs} +1303 -994
- package/dist/{chunk-TVE6UIJF.mjs → chunk-4WZLFUUA.mjs} +54 -13
- package/dist/{chunk-H2FRDUNV.mjs → chunk-54ASP65T.mjs} +868 -585
- package/dist/chunk-M4XLF4R7.mjs +387 -0
- package/dist/{chunk-O6NIA4NG.mjs → chunk-ORH32TO3.mjs} +5798 -5742
- package/dist/{chunk-B2JBBAEQ.mjs → chunk-TNNXOW2O.mjs} +1 -1
- package/dist/{chunk-IT3U6QD6.cjs → chunk-TQE7FFNT.cjs} +6754 -6695
- package/dist/{chunk-7QZGRB3T.cjs → chunk-X7MGZQ6C.cjs} +1321 -995
- package/dist/{chunk-6DELVMYB.mjs → chunk-XGXIS4PN.mjs} +12316 -12260
- package/dist/crypto/decrypt.d.ts +17 -3
- package/dist/crypto/decrypt.d.ts.map +1 -1
- package/dist/crypto/encryption-info.d.ts.map +1 -1
- package/dist/crypto/index.cjs +252 -78
- package/dist/crypto/index.d.ts +19 -4
- package/dist/crypto/index.d.ts.map +1 -1
- package/dist/crypto/index.mjs +252 -79
- package/dist/crypto/key-derivation.d.ts +2 -3
- package/dist/crypto/key-derivation.d.ts.map +1 -1
- package/dist/crypto/validate.d.ts +22 -0
- package/dist/crypto/validate.d.ts.map +1 -0
- package/dist/diagram/engine/layout-def-parse.d.ts.map +1 -1
- package/dist/diagram/engine/pres-tree.d.ts.map +1 -1
- package/dist/diagram/index.cjs +102 -52
- package/dist/diagram/index.mjs +102 -52
- package/dist/digest/index.cjs +23 -11
- package/dist/digest/index.d.ts +2 -1
- package/dist/digest/index.d.ts.map +1 -1
- package/dist/digest/index.mjs +21 -12
- package/dist/digest/password-hash.d.ts +19 -5
- package/dist/digest/password-hash.d.ts.map +1 -1
- package/dist/digest/timing-safe.d.ts +7 -0
- package/dist/digest/timing-safe.d.ts.map +1 -0
- package/dist/docx/block-parser.d.ts.map +1 -1
- package/dist/docx/chart-paint.d.ts.map +1 -1
- package/dist/docx/chart.d.ts +10 -2
- package/dist/docx/chart.d.ts.map +1 -1
- package/dist/docx/content-control-edit.d.ts +26 -0
- package/dist/docx/content-control-edit.d.ts.map +1 -0
- package/dist/docx/content-control-model.d.ts +51 -0
- package/dist/docx/content-control-model.d.ts.map +1 -0
- package/dist/docx/content-control.d.ts +9 -0
- package/dist/docx/content-control.d.ts.map +1 -0
- package/dist/docx/default-styles.d.ts.map +1 -1
- package/dist/docx/drawing.d.ts.map +1 -1
- package/dist/docx/embedded.cjs +9932 -935
- package/dist/docx/embedded.mjs +9932 -935
- package/dist/docx/equation.d.ts +7 -3
- package/dist/docx/equation.d.ts.map +1 -1
- package/dist/docx/index.cjs +14117 -1513
- package/dist/docx/index.d.ts +6 -0
- package/dist/docx/index.d.ts.map +1 -1
- package/dist/docx/index.mjs +14093 -1514
- package/dist/docx/inline-model.d.ts +3 -0
- package/dist/docx/inline-model.d.ts.map +1 -1
- package/dist/docx/layout/adapt-floats.d.ts +3 -3
- package/dist/docx/layout/adapt-floats.d.ts.map +1 -1
- package/dist/docx/layout/adapter.d.ts.map +1 -1
- package/dist/docx/layout/equation-object.d.ts +7 -0
- package/dist/docx/layout/equation-object.d.ts.map +1 -0
- package/dist/docx/layout/floats.d.ts +8 -0
- package/dist/docx/layout/floats.d.ts.map +1 -1
- package/dist/docx/layout/incremental-layout.d.ts +39 -0
- package/dist/docx/layout/incremental-layout.d.ts.map +1 -0
- package/dist/docx/layout/index.cjs +14177 -1707
- package/dist/docx/layout/index.d.ts +2 -2
- package/dist/docx/layout/index.d.ts.map +1 -1
- package/dist/docx/layout/index.mjs +14176 -1708
- package/dist/docx/layout/input.d.ts +4 -0
- package/dist/docx/layout/input.d.ts.map +1 -1
- package/dist/docx/layout/layout-session.d.ts +13 -2
- package/dist/docx/layout/layout-session.d.ts.map +1 -1
- package/dist/docx/layout/layout.d.ts +1 -1
- package/dist/docx/layout/layout.d.ts.map +1 -1
- package/dist/docx/layout/line-metrics.d.ts.map +1 -1
- package/dist/docx/layout/page-cursor.d.ts +1 -1
- package/dist/docx/layout/page-cursor.d.ts.map +1 -1
- package/dist/docx/layout/page-fields.d.ts +3 -1
- package/dist/docx/layout/page-fields.d.ts.map +1 -1
- package/dist/docx/layout/result.d.ts +14 -1
- package/dist/docx/layout/result.d.ts.map +1 -1
- package/dist/docx/layout/section-flow.d.ts +11 -1
- package/dist/docx/layout/section-flow.d.ts.map +1 -1
- package/dist/docx/ligatures.d.ts +2 -0
- package/dist/docx/ligatures.d.ts.map +1 -1
- package/dist/docx/load/index.cjs +12709 -3590
- package/dist/docx/load/index.mjs +12709 -3590
- package/dist/docx/model-paragraph.d.ts +3 -0
- package/dist/docx/model-paragraph.d.ts.map +1 -1
- package/dist/docx/model-run.d.ts +3 -0
- package/dist/docx/model-run.d.ts.map +1 -1
- package/dist/docx/model.d.ts +3 -0
- package/dist/docx/model.d.ts.map +1 -1
- package/dist/docx/numbering-parse.d.ts.map +1 -1
- package/dist/docx/numbering-text.d.ts.map +1 -1
- package/dist/docx/package-limits.d.ts +6 -0
- package/dist/docx/package-limits.d.ts.map +1 -0
- package/dist/docx/parse-content-control.d.ts +28 -0
- package/dist/docx/parse-content-control.d.ts.map +1 -0
- package/dist/docx/parse-table.d.ts.map +1 -1
- package/dist/docx/parse.d.ts.map +1 -1
- package/dist/docx/save.d.ts.map +1 -1
- package/dist/docx/shape-model.d.ts +31 -0
- package/dist/docx/shape-model.d.ts.map +1 -0
- package/dist/docx/shape-palette.d.ts +19 -0
- package/dist/docx/shape-palette.d.ts.map +1 -0
- package/dist/docx/shape-parse.d.ts +16 -0
- package/dist/docx/shape-parse.d.ts.map +1 -0
- package/dist/docx/shape-svg.d.ts +20 -0
- package/dist/docx/shape-svg.d.ts.map +1 -0
- package/dist/docx/table-model.d.ts +4 -0
- package/dist/docx/table-model.d.ts.map +1 -1
- package/dist/docx/ui/content-control-commands.d.ts +37 -0
- package/dist/docx/ui/content-control-commands.d.ts.map +1 -0
- package/dist/docx/ui/content-control-guard.d.ts +8 -0
- package/dist/docx/ui/content-control-guard.d.ts.map +1 -0
- package/dist/docx/ui/content-control-spans.d.ts +19 -0
- package/dist/docx/ui/content-control-spans.d.ts.map +1 -0
- package/dist/docx/ui/index.cjs +3132 -506
- package/dist/docx/ui/index.d.ts +3 -0
- package/dist/docx/ui/index.d.ts.map +1 -1
- package/dist/docx/ui/index.mjs +3117 -507
- package/dist/docx/ui/inline-content-schema.d.ts.map +1 -1
- package/dist/docx/ui/paragraph-attributes.d.ts.map +1 -1
- package/dist/docx/ui/ribbon-action-ids.d.ts +1 -1
- package/dist/docx/ui/ribbon-action-ids.d.ts.map +1 -1
- package/dist/docx/ui/run-adapter.d.ts.map +1 -1
- package/dist/docx/ui/run-compare.d.ts.map +1 -1
- package/dist/docx/ui/run-mark-properties.d.ts.map +1 -1
- package/dist/docx/ui/run-marks.d.ts.map +1 -1
- package/dist/docx/ui/schema-marks.d.ts +16 -1
- package/dist/docx/ui/schema-marks.d.ts.map +1 -1
- package/dist/docx/ui/table-structure-guard.d.ts.map +1 -1
- package/dist/docx/write-block-placement.d.ts +9 -0
- package/dist/docx/write-block-placement.d.ts.map +1 -0
- package/dist/docx/write-content-control.d.ts +12 -0
- package/dist/docx/write-content-control.d.ts.map +1 -0
- package/dist/docx/write-drawing.d.ts +2 -0
- package/dist/docx/write-drawing.d.ts.map +1 -1
- package/dist/docx/write-inline.d.ts.map +1 -1
- package/dist/docx/write-paragraph.d.ts.map +1 -1
- package/dist/docx/write-shape.d.ts +16 -0
- package/dist/docx/write-shape.d.ts.map +1 -0
- package/dist/docx/write-table.d.ts.map +1 -1
- package/dist/docx/write.d.ts.map +1 -1
- package/dist/drawingml/index.cjs +24 -0
- package/dist/drawingml/index.mjs +24 -0
- package/dist/geometry/index.cjs +63 -48
- package/dist/geometry/index.mjs +63 -48
- package/dist/geometry/preset-shape-definitions-table.d.ts.map +1 -1
- package/dist/i18n/index.cjs +266 -0
- package/dist/i18n/index.d.ts +1 -0
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.mjs +265 -1
- package/dist/i18n/option-strings.d.ts +17 -0
- package/dist/i18n/option-strings.d.ts.map +1 -0
- package/dist/index.cjs +4558 -1579
- package/dist/index.mjs +4558 -1579
- package/dist/math/equation-gallery.d.ts +10 -0
- package/dist/math/equation-gallery.d.ts.map +1 -0
- package/dist/math/index.cjs +777 -139
- package/dist/math/index.d.ts +3 -0
- package/dist/math/index.d.ts.map +1 -1
- package/dist/math/index.mjs +772 -140
- package/dist/math/latex-omml-siblings.d.ts.map +1 -1
- package/dist/math/latex-to-omml.d.ts.map +1 -1
- package/dist/math/omml-box-grouped.d.ts +9 -0
- package/dist/math/omml-box-grouped.d.ts.map +1 -0
- package/dist/math/omml-box-layout.d.ts +15 -0
- package/dist/math/omml-box-layout.d.ts.map +1 -0
- package/dist/math/omml-box-structures.d.ts +7 -0
- package/dist/math/omml-box-structures.d.ts.map +1 -0
- package/dist/math/omml-box.d.ts +85 -0
- package/dist/math/omml-box.d.ts.map +1 -0
- package/dist/math/omml-dom.d.ts.map +1 -1
- package/dist/math/omml-mathml-converters.d.ts.map +1 -1
- package/dist/math/omml-svg.d.ts +14 -0
- package/dist/math/omml-svg.d.ts.map +1 -0
- package/dist/math/omml-to-xml.d.ts +10 -0
- package/dist/math/omml-to-xml.d.ts.map +1 -0
- package/dist/opc/embedded-packages.d.ts.map +1 -1
- package/dist/opc/index.cjs +257 -22
- package/dist/opc/index.d.ts +1 -0
- package/dist/opc/index.d.ts.map +1 -1
- package/dist/opc/index.mjs +251 -23
- package/dist/opc/package.d.ts.map +1 -1
- package/dist/opc/signature/detection.d.ts +22 -6
- package/dist/opc/signature/detection.d.ts.map +1 -1
- package/dist/opc/signature/index.d.ts +1 -1
- package/dist/opc/signature/index.d.ts.map +1 -1
- package/dist/opc/signature/xml-utils.d.ts.map +1 -1
- package/dist/opc/zip-limits.d.ts +52 -0
- package/dist/opc/zip-limits.d.ts.map +1 -0
- package/dist/pptx/automation/index.cjs +1848 -1320
- package/dist/pptx/automation/index.d.ts +4 -4
- package/dist/pptx/automation/index.mjs +6 -6
- package/dist/pptx/chunks/{elements-DmbzOhFu.d.ts → elements-tK7xnWeS.d.ts} +20 -9
- package/dist/pptx/chunks/elements-tK7xnWeS.d.ts.map +1 -0
- package/dist/pptx/chunks/{index-Cija6Dih.d.ts → index-BSpNQuvz.d.ts} +30 -5
- package/dist/pptx/chunks/{index-Cija6Dih.d.ts.map → index-BSpNQuvz.d.ts.map} +1 -1
- package/dist/pptx/chunks/{index-BmvOxbsh.d.ts → index-DS9Y4Ne3.d.ts} +25 -9
- package/dist/pptx/chunks/index-DS9Y4Ne3.d.ts.map +1 -0
- package/dist/pptx/chunks/inspection-status-DjiWd_Aa.d.ts.map +1 -1
- package/dist/pptx/chunks/{text-operations-sXxhsKDd.d.ts → text-operations-BdD_UQ11.d.ts} +2 -2
- package/dist/pptx/chunks/{text-operations-sXxhsKDd.d.ts.map → text-operations-BdD_UQ11.d.ts.map} +1 -1
- package/dist/pptx/cli/index.cjs +1795 -1275
- package/dist/pptx/cli/index.d.ts +1 -1
- package/dist/pptx/cli/index.mjs +5 -5
- package/dist/pptx/converter/index.cjs +80 -54
- package/dist/pptx/converter/index.d.ts +1 -1
- package/dist/pptx/converter/index.mjs +3 -3
- package/dist/pptx/editor/render/find-replace.cjs +14 -14
- package/dist/pptx/editor/render/find-replace.d.ts +2 -2
- package/dist/pptx/editor/render/find-replace.mjs +1 -1
- package/dist/pptx/editor/render/slide-operations.cjs +8 -8
- package/dist/pptx/editor/render/slide-operations.mjs +2 -2
- package/dist/pptx/editor/render/text-runs-style-patch.d.ts +1 -1
- package/dist/pptx/editor/render/text-style-scope.d.ts +1 -1
- package/dist/pptx/index.cjs +1117 -351
- package/dist/pptx/index.d.ts +5 -5
- package/dist/pptx/index.mjs +6 -6
- package/dist/pptx/signature-node/index.cjs +342 -65
- package/dist/pptx/signature-node/index.d.ts +12 -1
- package/dist/pptx/signature-node/index.d.ts.map +1 -1
- package/dist/pptx/signature-node/index.mjs +112 -52
- package/dist/teams/activity-feed.d.ts +19 -0
- package/dist/teams/activity-feed.d.ts.map +1 -0
- package/dist/teams/activity-state.d.ts +12 -0
- package/dist/teams/activity-state.d.ts.map +1 -0
- package/dist/teams/activity.d.ts +52 -0
- package/dist/teams/activity.d.ts.map +1 -0
- package/dist/teams/calendar.d.ts +57 -0
- package/dist/teams/calendar.d.ts.map +1 -0
- package/dist/teams/chat-actions.d.ts +20 -0
- package/dist/teams/chat-actions.d.ts.map +1 -0
- package/dist/teams/chat-rooms.d.ts +42 -0
- package/dist/teams/chat-rooms.d.ts.map +1 -0
- package/dist/teams/chat-view.d.ts +56 -0
- package/dist/teams/chat-view.d.ts.map +1 -0
- package/dist/teams/chat.d.ts +25 -3
- package/dist/teams/chat.d.ts.map +1 -1
- package/dist/teams/chats.d.ts +52 -0
- package/dist/teams/chats.d.ts.map +1 -0
- package/dist/teams/ics-timezone.d.ts +17 -0
- package/dist/teams/ics-timezone.d.ts.map +1 -0
- package/dist/teams/ics.d.ts +20 -0
- package/dist/teams/ics.d.ts.map +1 -0
- package/dist/teams/index.cjs +12462 -7011
- package/dist/teams/index.d.ts +25 -0
- package/dist/teams/index.d.ts.map +1 -1
- package/dist/teams/index.mjs +12349 -7012
- package/dist/teams/meeting-actions.d.ts +31 -0
- package/dist/teams/meeting-actions.d.ts.map +1 -0
- package/dist/teams/meeting-exceptions.d.ts +28 -0
- package/dist/teams/meeting-exceptions.d.ts.map +1 -0
- package/dist/teams/meeting-reminders.d.ts +13 -0
- package/dist/teams/meeting-reminders.d.ts.map +1 -0
- package/dist/teams/meetings.d.ts +71 -0
- package/dist/teams/meetings.d.ts.map +1 -0
- package/dist/teams/mention-text.d.ts +11 -0
- package/dist/teams/mention-text.d.ts.map +1 -0
- package/dist/teams/mentions.d.ts +68 -0
- package/dist/teams/mentions.d.ts.map +1 -0
- package/dist/teams/model.d.ts +7 -0
- package/dist/teams/model.d.ts.map +1 -1
- package/dist/teams/notifications.d.ts +21 -0
- package/dist/teams/notifications.d.ts.map +1 -0
- package/dist/teams/pins.d.ts +22 -0
- package/dist/teams/pins.d.ts.map +1 -0
- package/dist/teams/presence-controller.d.ts +39 -0
- package/dist/teams/presence-controller.d.ts.map +1 -0
- package/dist/teams/presence.d.ts +55 -0
- package/dist/teams/presence.d.ts.map +1 -0
- package/dist/teams/recurrence.d.ts +18 -0
- package/dist/teams/recurrence.d.ts.map +1 -0
- package/dist/teams/roster.d.ts +12 -0
- package/dist/teams/roster.d.ts.map +1 -0
- package/dist/teams/server-config.d.ts +23 -2
- package/dist/teams/server-config.d.ts.map +1 -1
- package/dist/teams/server-session.d.ts +19 -0
- package/dist/teams/server-session.d.ts.map +1 -0
- package/dist/teams/shared-chat.d.ts +83 -0
- package/dist/teams/shared-chat.d.ts.map +1 -0
- package/dist/teams/store.d.ts +79 -5
- package/dist/teams/store.d.ts.map +1 -1
- package/dist/teams/sync-transport.d.ts +12 -0
- package/dist/teams/sync-transport.d.ts.map +1 -0
- package/dist/teams/time-zone.d.ts +32 -0
- package/dist/teams/time-zone.d.ts.map +1 -0
- package/dist/teams/view.d.ts +8 -0
- package/dist/teams/view.d.ts.map +1 -1
- package/dist/teams/workspace.d.ts +23 -4
- package/dist/teams/workspace.d.ts.map +1 -1
- package/dist/visio/edit-connector-follow.d.ts +15 -0
- package/dist/visio/edit-connector-follow.d.ts.map +1 -0
- package/dist/visio/edit-connector-obstacles.d.ts +9 -3
- package/dist/visio/edit-connector-obstacles.d.ts.map +1 -1
- package/dist/visio/edit-connector-reroute.d.ts.map +1 -1
- package/dist/visio/edit-connector.d.ts.map +1 -1
- package/dist/visio/edit-master-add.d.ts +37 -0
- package/dist/visio/edit-master-add.d.ts.map +1 -0
- package/dist/visio/edit-master-drop.d.ts +6 -0
- package/dist/visio/edit-master-drop.d.ts.map +1 -1
- package/dist/visio/edit-recalculate-index.d.ts +5 -0
- package/dist/visio/edit-recalculate-index.d.ts.map +1 -1
- package/dist/visio/edit-recalculate-values.d.ts.map +1 -1
- package/dist/visio/edit-stencil-connector-layout.d.ts +2 -0
- package/dist/visio/edit-stencil-connector-layout.d.ts.map +1 -1
- package/dist/visio/edit-stencil-connector.d.ts +1 -0
- package/dist/visio/edit-stencil-connector.d.ts.map +1 -1
- package/dist/visio/edit-stencil-import.d.ts +10 -0
- package/dist/visio/edit-stencil-import.d.ts.map +1 -0
- package/dist/visio/edit-stencil-line.d.ts +29 -0
- package/dist/visio/edit-stencil-line.d.ts.map +1 -0
- package/dist/visio/edit-stencil-master.d.ts +3 -8
- package/dist/visio/edit-stencil-master.d.ts.map +1 -1
- package/dist/visio/edit.d.ts.map +1 -1
- package/dist/visio/formula-evaluate.d.ts.map +1 -1
- package/dist/visio/formula-math-functions.d.ts +11 -0
- package/dist/visio/formula-math-functions.d.ts.map +1 -0
- package/dist/visio/formula-text-functions.d.ts +23 -0
- package/dist/visio/formula-text-functions.d.ts.map +1 -0
- package/dist/visio/formula.d.ts.map +1 -1
- package/dist/visio/index.cjs +2552 -1833
- package/dist/visio/index.d.ts +1 -0
- package/dist/visio/index.d.ts.map +1 -1
- package/dist/visio/index.mjs +2552 -1834
- package/dist/visio/parser.d.ts +6 -0
- package/dist/visio/parser.d.ts.map +1 -1
- package/dist/visio/stencil-file.d.ts +14 -0
- package/dist/visio/stencil-file.d.ts.map +1 -0
- package/dist/visio/ui/index.cjs +2398 -1679
- package/dist/visio/ui/index.mjs +2398 -1680
- package/dist/visio/ui/master-drop.d.ts +10 -0
- package/dist/visio/ui/master-drop.d.ts.map +1 -1
- package/dist/xlsx/edit/cell-values.d.ts.map +1 -1
- package/dist/xlsx/edit/clipboard-html-parse.d.ts +4 -0
- package/dist/xlsx/edit/clipboard-html-parse.d.ts.map +1 -1
- package/dist/xlsx/edit/data-table.d.ts +38 -0
- package/dist/xlsx/edit/data-table.d.ts.map +1 -0
- package/dist/xlsx/edit/drawings.d.ts.map +1 -1
- package/dist/xlsx/edit/goal-seek.d.ts +30 -0
- package/dist/xlsx/edit/goal-seek.d.ts.map +1 -0
- package/dist/xlsx/edit/goal-solver.d.ts +20 -0
- package/dist/xlsx/edit/goal-solver.d.ts.map +1 -0
- package/dist/xlsx/edit/history.d.ts +1 -1
- package/dist/xlsx/edit/history.d.ts.map +1 -1
- package/dist/xlsx/edit/index.d.ts +5 -0
- package/dist/xlsx/edit/index.d.ts.map +1 -1
- package/dist/xlsx/edit/input-text.d.ts.map +1 -1
- package/dist/xlsx/edit/pivots.d.ts +2 -1
- package/dist/xlsx/edit/pivots.d.ts.map +1 -1
- package/dist/xlsx/edit/scenarios.d.ts +41 -0
- package/dist/xlsx/edit/scenarios.d.ts.map +1 -0
- package/dist/xlsx/edit/session.d.ts.map +1 -1
- package/dist/xlsx/edit/slicers.d.ts +34 -0
- package/dist/xlsx/edit/slicers.d.ts.map +1 -0
- package/dist/xlsx/edit/table-edits.d.ts.map +1 -1
- package/dist/xlsx/edit/timelines.d.ts +26 -0
- package/dist/xlsx/edit/timelines.d.ts.map +1 -0
- package/dist/xlsx/edit/types.d.ts +39 -0
- package/dist/xlsx/edit/types.d.ts.map +1 -1
- package/dist/xlsx/formula/context.d.ts +13 -0
- package/dist/xlsx/formula/context.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/amordegrc.d.ts +6 -0
- package/dist/xlsx/formula/functions/amordegrc.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/bahttext.d.ts +4 -0
- package/dist/xlsx/formula/functions/bahttext.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/bessel.d.ts +7 -0
- package/dist/xlsx/formula/functions/bessel.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/bonds.d.ts +3 -0
- package/dist/xlsx/formula/functions/bonds.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/engineering.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/financial.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/getpivotdata.d.ts +2 -0
- package/dist/xlsx/formula/functions/getpivotdata.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/groupby.d.ts +3 -0
- package/dist/xlsx/formula/functions/groupby.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/helpers.d.ts +3 -2
- 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/modern.d.ts +3 -0
- package/dist/xlsx/formula/functions/modern.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/odd-securities.d.ts +3 -0
- package/dist/xlsx/formula/functions/odd-securities.d.ts.map +1 -0
- package/dist/xlsx/formula/functions/registry.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/text-regex.d.ts +8 -0
- package/dist/xlsx/formula/functions/text-regex.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/text.d.ts.map +1 -1
- package/dist/xlsx/formula/functions/wildcard.d.ts +8 -0
- package/dist/xlsx/formula/functions/wildcard.d.ts.map +1 -0
- package/dist/xlsx/formula/values.d.ts +11 -0
- package/dist/xlsx/formula/values.d.ts.map +1 -1
- package/dist/xlsx/index.cjs +11696 -4994
- package/dist/xlsx/index.d.ts +1 -0
- package/dist/xlsx/index.d.ts.map +1 -1
- package/dist/xlsx/index.mjs +11612 -4994
- package/dist/xlsx/layout/chart-view.d.ts.map +1 -1
- package/dist/xlsx/layout/header-footer-edit.d.ts +16 -0
- package/dist/xlsx/layout/header-footer-edit.d.ts.map +1 -0
- package/dist/xlsx/layout/index.d.ts +3 -0
- package/dist/xlsx/layout/index.d.ts.map +1 -1
- package/dist/xlsx/layout/page-break-view.d.ts +39 -0
- package/dist/xlsx/layout/page-break-view.d.ts.map +1 -0
- package/dist/xlsx/layout/page-view.d.ts +69 -0
- package/dist/xlsx/layout/page-view.d.ts.map +1 -0
- package/dist/xlsx/layout/ref-evaluator.d.ts.map +1 -1
- package/dist/xlsx/load/index.cjs +5718 -2191
- package/dist/xlsx/load/index.mjs +5717 -2190
- package/dist/xlsx/model-pivots.d.ts +88 -2
- package/dist/xlsx/model-pivots.d.ts.map +1 -1
- package/dist/xlsx/model-slicers.d.ts +146 -0
- package/dist/xlsx/model-slicers.d.ts.map +1 -0
- package/dist/xlsx/model-whatif.d.ts +51 -0
- package/dist/xlsx/model-whatif.d.ts.map +1 -0
- package/dist/xlsx/model.d.ts +26 -1
- package/dist/xlsx/model.d.ts.map +1 -1
- package/dist/xlsx/pivot/admission.d.ts.map +1 -1
- package/dist/xlsx/pivot/aggregate.d.ts +15 -6
- package/dist/xlsx/pivot/aggregate.d.ts.map +1 -1
- package/dist/xlsx/pivot/axes.d.ts +6 -0
- package/dist/xlsx/pivot/axes.d.ts.map +1 -0
- package/dist/xlsx/pivot/cache-xml.d.ts.map +1 -1
- package/dist/xlsx/pivot/columns.d.ts +48 -0
- package/dist/xlsx/pivot/columns.d.ts.map +1 -0
- package/dist/xlsx/pivot/data.d.ts +9 -3
- package/dist/xlsx/pivot/data.d.ts.map +1 -1
- package/dist/xlsx/pivot/date-axes.d.ts +12 -0
- package/dist/xlsx/pivot/date-axes.d.ts.map +1 -0
- package/dist/xlsx/pivot/date-group-read.d.ts +11 -0
- package/dist/xlsx/pivot/date-group-read.d.ts.map +1 -0
- package/dist/xlsx/pivot/date-groups.d.ts +60 -0
- package/dist/xlsx/pivot/date-groups.d.ts.map +1 -0
- package/dist/xlsx/pivot/date-read.d.ts +10 -0
- package/dist/xlsx/pivot/date-read.d.ts.map +1 -0
- package/dist/xlsx/pivot/dates.d.ts +17 -0
- package/dist/xlsx/pivot/dates.d.ts.map +1 -0
- package/dist/xlsx/pivot/group-read.d.ts +9 -0
- package/dist/xlsx/pivot/group-read.d.ts.map +1 -0
- package/dist/xlsx/pivot/groups.d.ts +31 -0
- package/dist/xlsx/pivot/groups.d.ts.map +1 -0
- package/dist/xlsx/pivot/hierarchy.d.ts +4 -1
- package/dist/xlsx/pivot/hierarchy.d.ts.map +1 -1
- package/dist/xlsx/pivot/index.d.ts +7 -0
- package/dist/xlsx/pivot/index.d.ts.map +1 -1
- package/dist/xlsx/pivot/item-filters-read.d.ts +7 -0
- package/dist/xlsx/pivot/item-filters-read.d.ts.map +1 -0
- package/dist/xlsx/pivot/item-filters.d.ts +23 -0
- package/dist/xlsx/pivot/item-filters.d.ts.map +1 -0
- package/dist/xlsx/pivot/measures.d.ts +6 -4
- package/dist/xlsx/pivot/measures.d.ts.map +1 -1
- package/dist/xlsx/pivot/nested.d.ts +8 -0
- package/dist/xlsx/pivot/nested.d.ts.map +1 -0
- package/dist/xlsx/pivot/page-filter-admission.d.ts.map +1 -1
- package/dist/xlsx/pivot/page-filter.d.ts.map +1 -1
- package/dist/xlsx/pivot/read.d.ts +2 -1
- package/dist/xlsx/pivot/read.d.ts.map +1 -1
- package/dist/xlsx/pivot/subtotal-read.d.ts +9 -0
- package/dist/xlsx/pivot/subtotal-read.d.ts.map +1 -0
- package/dist/xlsx/pivot/subtotals.d.ts +23 -0
- package/dist/xlsx/pivot/subtotals.d.ts.map +1 -0
- package/dist/xlsx/pivot/table-xml.d.ts +1 -1
- package/dist/xlsx/pivot/table-xml.d.ts.map +1 -1
- package/dist/xlsx/pivot/values-axis.d.ts +2 -2
- package/dist/xlsx/pivot/values-axis.d.ts.map +1 -1
- package/dist/xlsx/read/chart-ex.d.ts +9 -0
- package/dist/xlsx/read/chart-ex.d.ts.map +1 -0
- package/dist/xlsx/read/chart.d.ts.map +1 -1
- 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 +2 -1
- package/dist/xlsx/read/package.d.ts.map +1 -1
- package/dist/xlsx/read/scenarios.d.ts +4 -0
- package/dist/xlsx/read/scenarios.d.ts.map +1 -0
- package/dist/xlsx/read/sheet-data.d.ts.map +1 -1
- package/dist/xlsx/read/sheet-props.d.ts.map +1 -1
- package/dist/xlsx/read/tables.d.ts +3 -0
- package/dist/xlsx/read/tables.d.ts.map +1 -1
- package/dist/xlsx/read/worksheet.d.ts.map +1 -1
- package/dist/xlsx/slicer/book.d.ts +16 -0
- package/dist/xlsx/slicer/book.d.ts.map +1 -0
- package/dist/xlsx/slicer/frame.d.ts +14 -0
- package/dist/xlsx/slicer/frame.d.ts.map +1 -0
- package/dist/xlsx/slicer/index.d.ts +10 -0
- package/dist/xlsx/slicer/index.d.ts.map +1 -0
- package/dist/xlsx/slicer/items.d.ts +30 -0
- package/dist/xlsx/slicer/items.d.ts.map +1 -0
- package/dist/xlsx/slicer/layout.d.ts +67 -0
- package/dist/xlsx/slicer/layout.d.ts.map +1 -0
- package/dist/xlsx/slicer/read-slicers.d.ts +11 -0
- package/dist/xlsx/slicer/read-slicers.d.ts.map +1 -0
- package/dist/xlsx/slicer/read-timelines.d.ts +5 -0
- package/dist/xlsx/slicer/read-timelines.d.ts.map +1 -0
- package/dist/xlsx/slicer/read.d.ts +26 -0
- package/dist/xlsx/slicer/read.d.ts.map +1 -0
- package/dist/xlsx/slicer/select.d.ts +10 -0
- package/dist/xlsx/slicer/select.d.ts.map +1 -0
- package/dist/xlsx/slicer/styles.d.ts +36 -0
- package/dist/xlsx/slicer/styles.d.ts.map +1 -0
- package/dist/xlsx/slicer/table-filter.d.ts +28 -0
- package/dist/xlsx/slicer/table-filter.d.ts.map +1 -0
- package/dist/xlsx/slicer/timeline-periods.d.ts +35 -0
- package/dist/xlsx/slicer/timeline-periods.d.ts.map +1 -0
- package/dist/xlsx/slicer/timeline-view.d.ts +60 -0
- package/dist/xlsx/slicer/timeline-view.d.ts.map +1 -0
- package/dist/xlsx/slicer/write-plan.d.ts +31 -0
- package/dist/xlsx/slicer/write-plan.d.ts.map +1 -0
- package/dist/xlsx/slicer/write-timeline.d.ts +7 -0
- package/dist/xlsx/slicer/write-timeline.d.ts.map +1 -0
- package/dist/xlsx/slicer/write-xml.d.ts +17 -0
- package/dist/xlsx/slicer/write-xml.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/index.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/i18n/pivots.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/i18n/print-layout.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/i18n/slicers.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/slicers.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/i18n/what-if.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/what-if.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/icons.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/slicers.d.ts +37 -0
- package/dist/xlsx/ui/commands/slicers.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/what-if.d.ts +4 -0
- package/dist/xlsx/ui/commands/what-if.d.ts.map +1 -0
- package/dist/xlsx/ui/commands.d.ts +2 -0
- package/dist/xlsx/ui/commands.d.ts.map +1 -1
- package/dist/xlsx/ui/index.cjs +6999 -3052
- package/dist/xlsx/ui/index.d.ts +2 -0
- package/dist/xlsx/ui/index.d.ts.map +1 -1
- package/dist/xlsx/ui/index.mjs +6994 -3053
- package/dist/xlsx/ui/locales/de/index.d.ts.map +1 -1
- package/dist/xlsx/ui/locales/de/options.d.ts +2 -0
- package/dist/xlsx/ui/locales/de/options.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/de/shell.d.ts.map +1 -1
- package/dist/xlsx/ui/locales/en/index.d.ts.map +1 -1
- package/dist/xlsx/ui/locales/en/options.d.ts +2 -0
- package/dist/xlsx/ui/locales/en/options.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/en/shell.d.ts.map +1 -1
- package/dist/xlsx/ui/locales/es/index.d.ts.map +1 -1
- package/dist/xlsx/ui/locales/es/options.d.ts +2 -0
- package/dist/xlsx/ui/locales/es/options.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/es/shell.d.ts.map +1 -1
- package/dist/xlsx/ui/locales/fr/index.d.ts.map +1 -1
- package/dist/xlsx/ui/locales/fr/options.d.ts +2 -0
- package/dist/xlsx/ui/locales/fr/options.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/fr/shell.d.ts.map +1 -1
- package/dist/xlsx/ui/locales/zh-CN/index.d.ts.map +1 -1
- package/dist/xlsx/ui/locales/zh-CN/options.d.ts +2 -0
- package/dist/xlsx/ui/locales/zh-CN/options.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/zh-CN/shell.d.ts.map +1 -1
- package/dist/xlsx/ui/ribbon/tabs/review-view.d.ts.map +1 -1
- package/dist/xlsx/write/carried-refs.d.ts.map +1 -1
- package/dist/xlsx/write/drawing.d.ts.map +1 -1
- package/dist/xlsx/write/package-writer.d.ts +2 -0
- package/dist/xlsx/write/package-writer.d.ts.map +1 -1
- package/dist/xlsx/write/save.d.ts.map +1 -1
- package/dist/xlsx/write/scenarios.d.ts +4 -0
- package/dist/xlsx/write/scenarios.d.ts.map +1 -0
- package/dist/xlsx/write/sheet-data.d.ts.map +1 -1
- package/dist/xlsx/write/sheet-parts.d.ts +1 -0
- package/dist/xlsx/write/sheet-parts.d.ts.map +1 -1
- package/dist/xlsx/write/sheet-props.d.ts.map +1 -1
- package/dist/xlsx/write/table-patch.d.ts.map +1 -1
- package/dist/xlsx/write/tables.d.ts.map +1 -1
- package/dist/xlsx/write/worksheet.d.ts.map +1 -1
- package/dist/xml/index.cjs +28 -0
- package/dist/xml/index.mjs +27 -1
- package/dist/xml/namespaces.d.ts +2 -0
- package/dist/xml/namespaces.d.ts.map +1 -1
- package/dist/xml/xml.d.ts +15 -0
- package/dist/xml/xml.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/PptxHandler-RWTOUCLC.mjs +0 -3
- package/dist/PptxHandler-UU4ZCT6H.cjs +0 -12
- package/dist/chunk-KBIJI6P5.mjs +0 -166
- package/dist/pptx/chunks/elements-DmbzOhFu.d.ts.map +0 -1
- package/dist/pptx/chunks/index-BmvOxbsh.d.ts.map +0 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { openNestedZip, openPptxZip } from './chunk-M4XLF4R7.mjs';
|
|
1
2
|
import { cloneTextStyle, cloneElement, cloneXmlObject, parseOrderedWhen } from './chunk-54S5A5PZ.mjs';
|
|
2
3
|
import { themeColorRefToSolidFillWithOpacity, normalizeHexColor, parseDrawingFraction, toHex, scrgbLinearToSrgb8, applyDrawingColorTransforms, parseDrawingHueDegrees, parseDrawingPercent, hslToRgb, clampUnitInterval, parseOoxmlPercent, resolveThemeColorRef } from './chunk-KII4AAYH.mjs';
|
|
3
|
-
import JSZip2 from 'jszip';
|
|
4
4
|
import { XMLBuilder, XMLParser } from 'fast-xml-parser';
|
|
5
|
+
import { DOMParser, XMLSerializer } from '@xmldom/xmldom';
|
|
5
6
|
|
|
6
7
|
// pptx/core/types/type-guards.ts
|
|
7
8
|
function isTextElement(element) {
|
|
@@ -561,11 +562,11 @@ function parsePptxJsonDocument(value) {
|
|
|
561
562
|
if (!isRecord(slide)) {
|
|
562
563
|
fail(`Invalid pptx-viewer-json document: slide ${index} is not an object.`);
|
|
563
564
|
}
|
|
564
|
-
const
|
|
565
|
-
if (
|
|
565
|
+
const elements3 = slide.elements;
|
|
566
|
+
if (elements3 !== void 0 && !Array.isArray(elements3)) {
|
|
566
567
|
fail(`Invalid pptx-viewer-json document: slide ${index} "elements" must be an array.`);
|
|
567
568
|
}
|
|
568
|
-
for (const [elementIndex, element] of (
|
|
569
|
+
for (const [elementIndex, element] of (elements3 ?? []).entries()) {
|
|
569
570
|
if (!isRecord(element) || typeof element.type !== "string" || element.type.length === 0) {
|
|
570
571
|
fail(
|
|
571
572
|
`Invalid pptx-viewer-json document: slide ${index} element ${elementIndex} must be an object with a string "type" discriminant.`
|
|
@@ -632,8 +633,8 @@ function deserializeSlide(encoded) {
|
|
|
632
633
|
slide[key] = decodeJsonValue(value);
|
|
633
634
|
}
|
|
634
635
|
}
|
|
635
|
-
const
|
|
636
|
-
slide.elements =
|
|
636
|
+
const elements3 = Array.isArray(encoded.elements) ? encoded.elements : [];
|
|
637
|
+
slide.elements = elements3.map(
|
|
637
638
|
(element) => deserializeElement(element)
|
|
638
639
|
);
|
|
639
640
|
return slide;
|
|
@@ -740,6 +741,48 @@ function codePointToString(codePoint) {
|
|
|
740
741
|
}
|
|
741
742
|
}
|
|
742
743
|
|
|
744
|
+
// pptx/core/ppt/pptx/xml-utils.ts
|
|
745
|
+
function isInvalidXmlChar(code) {
|
|
746
|
+
return code >= 0 && code <= 8 || code === 11 || code === 12 || code >= 14 && code <= 31;
|
|
747
|
+
}
|
|
748
|
+
function stripInvalidXmlChars(value) {
|
|
749
|
+
let cleaned = "";
|
|
750
|
+
for (const ch of value) {
|
|
751
|
+
if (!isInvalidXmlChar(ch.charCodeAt(0))) {
|
|
752
|
+
cleaned += ch;
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
return cleaned;
|
|
756
|
+
}
|
|
757
|
+
function esc(value) {
|
|
758
|
+
return stripInvalidXmlChars(value).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
759
|
+
}
|
|
760
|
+
function escAttr(value) {
|
|
761
|
+
return encodeXmlAttributeValue(stripInvalidXmlChars(value)).replace(/"/g, """).replace(/'/g, "'");
|
|
762
|
+
}
|
|
763
|
+
function escText(value) {
|
|
764
|
+
return encodeXmlTextValue(stripInvalidXmlChars(value));
|
|
765
|
+
}
|
|
766
|
+
function hexColor(rgb2) {
|
|
767
|
+
return rgb2.replace(/^#/, "").toUpperCase();
|
|
768
|
+
}
|
|
769
|
+
function solidFill(rgb2) {
|
|
770
|
+
return `<a:solidFill><a:srgbClr val="${hexColor(rgb2)}"/></a:solidFill>`;
|
|
771
|
+
}
|
|
772
|
+
function gradFill(stops, angleDeg) {
|
|
773
|
+
const gsLst = stops.map(
|
|
774
|
+
(s) => `<a:gs pos="${Math.round(s.position * 1e5)}"><a:srgbClr val="${hexColor(
|
|
775
|
+
s.rgb
|
|
776
|
+
)}"/></a:gs>`
|
|
777
|
+
).join("");
|
|
778
|
+
const angle = Math.round((angleDeg % 360 + 360) % 360 * 6e4);
|
|
779
|
+
return `<a:gradFill><a:gsLst>${gsLst}</a:gsLst><a:lin ang="${angle}" scaled="1"/></a:gradFill>`;
|
|
780
|
+
}
|
|
781
|
+
function emu(value) {
|
|
782
|
+
return Math.round(value);
|
|
783
|
+
}
|
|
784
|
+
var PML_XMLNS = 'xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"';
|
|
785
|
+
|
|
743
786
|
// pptx/core/geometry/custom-geometry-command-order.ts
|
|
744
787
|
var ORDER_SUFFIX = "#pptx-order-";
|
|
745
788
|
var commandOrder = /* @__PURE__ */ new WeakMap();
|
|
@@ -7337,15 +7380,15 @@ var heart = {
|
|
|
7337
7380
|
};
|
|
7338
7381
|
function buildIrregularSeal(name, points) {
|
|
7339
7382
|
const commands = [];
|
|
7340
|
-
const
|
|
7341
|
-
if (!
|
|
7383
|
+
const first2 = points[0];
|
|
7384
|
+
if (!first2) {
|
|
7342
7385
|
return {
|
|
7343
7386
|
name,
|
|
7344
7387
|
rect: FULL_RECT7,
|
|
7345
7388
|
pathLst: [{ commands: [{ kind: "close" }] }]
|
|
7346
7389
|
};
|
|
7347
7390
|
}
|
|
7348
|
-
commands.push({ kind: "moveTo", x: String(
|
|
7391
|
+
commands.push({ kind: "moveTo", x: String(first2[0]), y: String(first2[1]) });
|
|
7349
7392
|
for (let i2 = 1; i2 < points.length; i2++) {
|
|
7350
7393
|
const p = points[i2];
|
|
7351
7394
|
commands.push({ kind: "lnTo", x: String(p[0]), y: String(p[1]) });
|
|
@@ -9700,55 +9743,65 @@ var downArrow = {
|
|
|
9700
9743
|
}
|
|
9701
9744
|
]
|
|
9702
9745
|
};
|
|
9746
|
+
var wedgePointerGuides = [
|
|
9747
|
+
gd16("dxPos", "*/ w adj1 100000"),
|
|
9748
|
+
gd16("dyPos", "*/ h adj2 100000"),
|
|
9749
|
+
gd16("xPos", "+- hc dxPos 0"),
|
|
9750
|
+
gd16("yPos", "+- vc dyPos 0"),
|
|
9751
|
+
gd16("dx", "+- xPos 0 hc"),
|
|
9752
|
+
gd16("dy", "+- yPos 0 vc"),
|
|
9753
|
+
gd16("dq", "*/ dxPos h w"),
|
|
9754
|
+
gd16("ady", "abs dy"),
|
|
9755
|
+
gd16("adq", "abs dq"),
|
|
9756
|
+
gd16("dz", "+- ady 0 adq"),
|
|
9757
|
+
gd16("xg1", "?: dxPos 7 2"),
|
|
9758
|
+
gd16("xg2", "?: dxPos 10 5"),
|
|
9759
|
+
gd16("x1", "*/ w xg1 12"),
|
|
9760
|
+
gd16("x2", "*/ w xg2 12"),
|
|
9761
|
+
gd16("yg1", "?: dyPos 7 2"),
|
|
9762
|
+
gd16("yg2", "?: dyPos 10 5"),
|
|
9763
|
+
gd16("y1", "*/ h yg1 12"),
|
|
9764
|
+
gd16("y2", "*/ h yg2 12"),
|
|
9765
|
+
gd16("t1", "?: dxPos l xPos"),
|
|
9766
|
+
gd16("xl", "?: dz l t1"),
|
|
9767
|
+
gd16("t2", "?: dyPos x1 xPos"),
|
|
9768
|
+
gd16("xt", "?: dz t2 x1"),
|
|
9769
|
+
gd16("t3", "?: dxPos xPos r"),
|
|
9770
|
+
gd16("xr", "?: dz r t3"),
|
|
9771
|
+
gd16("t4", "?: dyPos xPos x1"),
|
|
9772
|
+
gd16("xb", "?: dz t4 x1"),
|
|
9773
|
+
gd16("t5", "?: dxPos y1 yPos"),
|
|
9774
|
+
gd16("yl", "?: dz y1 t5"),
|
|
9775
|
+
gd16("t6", "?: dyPos t yPos"),
|
|
9776
|
+
gd16("yt", "?: dz t6 t"),
|
|
9777
|
+
gd16("t7", "?: dxPos yPos y1"),
|
|
9778
|
+
gd16("yr", "?: dz y1 t7"),
|
|
9779
|
+
gd16("t8", "?: dyPos yPos b"),
|
|
9780
|
+
gd16("yb", "?: dz t8 b")
|
|
9781
|
+
];
|
|
9703
9782
|
var wedgeRectCallout = {
|
|
9704
9783
|
name: "wedgeRectCallout",
|
|
9705
9784
|
avLst: { adj1: -20833, adj2: 62500 },
|
|
9706
|
-
gdLst:
|
|
9707
|
-
gd16("dxPos", "*/ w adj1 100000"),
|
|
9708
|
-
gd16("dyPos", "*/ h adj2 100000"),
|
|
9709
|
-
gd16("xPos", "+- hc dxPos 0"),
|
|
9710
|
-
gd16("yPos", "+- vc dyPos 0"),
|
|
9711
|
-
gd16("dx", "+- xPos 0 hc"),
|
|
9712
|
-
gd16("dy", "+- yPos 0 vc"),
|
|
9713
|
-
gd16("dq", "*/ dxPos h w"),
|
|
9714
|
-
gd16("ady", "abs dy"),
|
|
9715
|
-
gd16("adq", "abs dq"),
|
|
9716
|
-
gd16("xg1", "?: dxPos 7 2"),
|
|
9717
|
-
gd16("xg2", "?: dxPos 10 5"),
|
|
9718
|
-
gd16("x1", "*/ w xg1 12"),
|
|
9719
|
-
gd16("x2", "*/ w xg2 12"),
|
|
9720
|
-
gd16("yg1", "?: dyPos 7 2"),
|
|
9721
|
-
gd16("yg2", "?: dyPos 10 5"),
|
|
9722
|
-
gd16("y1", "*/ h yg1 12"),
|
|
9723
|
-
gd16("y2", "*/ h yg2 12"),
|
|
9724
|
-
gd16("t1", "?: dxPos l xPos"),
|
|
9725
|
-
gd16("xl", "?: ady adq t1 l"),
|
|
9726
|
-
gd16("t2", "?: dyPos yPos t"),
|
|
9727
|
-
gd16("yt", "?: ady adq t t2"),
|
|
9728
|
-
gd16("t3", "?: dxPos xPos r"),
|
|
9729
|
-
gd16("xr", "?: ady adq t3 r"),
|
|
9730
|
-
gd16("t4", "?: dyPos b yPos"),
|
|
9731
|
-
gd16("yb", "?: ady adq b t4")
|
|
9732
|
-
],
|
|
9785
|
+
gdLst: wedgePointerGuides,
|
|
9733
9786
|
rect: FULL_RECT11,
|
|
9734
9787
|
pathLst: [
|
|
9735
9788
|
{
|
|
9736
9789
|
commands: [
|
|
9737
9790
|
{ kind: "moveTo", x: "l", y: "t" },
|
|
9738
9791
|
{ kind: "lnTo", x: "x1", y: "t" },
|
|
9739
|
-
{ kind: "lnTo", x: "
|
|
9792
|
+
{ kind: "lnTo", x: "xt", y: "yt" },
|
|
9740
9793
|
{ kind: "lnTo", x: "x2", y: "t" },
|
|
9741
9794
|
{ kind: "lnTo", x: "r", y: "t" },
|
|
9742
9795
|
{ kind: "lnTo", x: "r", y: "y1" },
|
|
9743
|
-
{ kind: "lnTo", x: "xr", y: "
|
|
9796
|
+
{ kind: "lnTo", x: "xr", y: "yr" },
|
|
9744
9797
|
{ kind: "lnTo", x: "r", y: "y2" },
|
|
9745
9798
|
{ kind: "lnTo", x: "r", y: "b" },
|
|
9746
9799
|
{ kind: "lnTo", x: "x2", y: "b" },
|
|
9747
|
-
{ kind: "lnTo", x: "
|
|
9800
|
+
{ kind: "lnTo", x: "xb", y: "yb" },
|
|
9748
9801
|
{ kind: "lnTo", x: "x1", y: "b" },
|
|
9749
9802
|
{ kind: "lnTo", x: "l", y: "b" },
|
|
9750
9803
|
{ kind: "lnTo", x: "l", y: "y2" },
|
|
9751
|
-
{ kind: "lnTo", x: "
|
|
9804
|
+
{ kind: "lnTo", x: "xl", y: "yl" },
|
|
9752
9805
|
{ kind: "lnTo", x: "l", y: "y1" },
|
|
9753
9806
|
{ kind: "close" }
|
|
9754
9807
|
]
|
|
@@ -9759,31 +9812,38 @@ var wedgeRoundRectCallout = {
|
|
|
9759
9812
|
name: "wedgeRoundRectCallout",
|
|
9760
9813
|
avLst: { adj1: -20833, adj2: 62500, adj3: 16667 },
|
|
9761
9814
|
gdLst: [
|
|
9762
|
-
|
|
9763
|
-
gd16("dyPos", "*/ h adj2 100000"),
|
|
9764
|
-
gd16("xPos", "+- hc dxPos 0"),
|
|
9765
|
-
gd16("yPos", "+- vc dyPos 0"),
|
|
9815
|
+
...wedgePointerGuides,
|
|
9766
9816
|
gd16("a3", "pin 0 adj3 50000"),
|
|
9767
9817
|
gd16("rad", "*/ ss a3 100000"),
|
|
9768
|
-
gd16("
|
|
9769
|
-
gd16("
|
|
9770
|
-
gd16("
|
|
9771
|
-
gd16("
|
|
9818
|
+
gd16("xc1", "+- l rad 0"),
|
|
9819
|
+
gd16("xc2", "+- r 0 rad"),
|
|
9820
|
+
gd16("yc1", "+- t rad 0"),
|
|
9821
|
+
gd16("yc2", "+- b 0 rad")
|
|
9772
9822
|
],
|
|
9773
9823
|
rect: FULL_RECT11,
|
|
9774
9824
|
pathLst: [
|
|
9775
9825
|
{
|
|
9776
9826
|
commands: [
|
|
9777
|
-
{ kind: "moveTo", x: "l", y: "
|
|
9827
|
+
{ kind: "moveTo", x: "l", y: "yc1" },
|
|
9778
9828
|
{ kind: "arcTo", wR: "rad", hR: "rad", stAng: "cd2", swAng: "cd4" },
|
|
9829
|
+
{ kind: "lnTo", x: "x1", y: "t" },
|
|
9830
|
+
{ kind: "lnTo", x: "xt", y: "yt" },
|
|
9779
9831
|
{ kind: "lnTo", x: "x2", y: "t" },
|
|
9832
|
+
{ kind: "lnTo", x: "xc2", y: "t" },
|
|
9780
9833
|
{ kind: "arcTo", wR: "rad", hR: "rad", stAng: "3cd4", swAng: "cd4" },
|
|
9834
|
+
{ kind: "lnTo", x: "r", y: "y1" },
|
|
9835
|
+
{ kind: "lnTo", x: "xr", y: "yr" },
|
|
9781
9836
|
{ kind: "lnTo", x: "r", y: "y2" },
|
|
9837
|
+
{ kind: "lnTo", x: "r", y: "yc2" },
|
|
9782
9838
|
{ kind: "arcTo", wR: "rad", hR: "rad", stAng: "0", swAng: "cd4" },
|
|
9783
|
-
{ kind: "lnTo", x: "
|
|
9784
|
-
{ kind: "lnTo", x: "
|
|
9839
|
+
{ kind: "lnTo", x: "x2", y: "b" },
|
|
9840
|
+
{ kind: "lnTo", x: "xb", y: "yb" },
|
|
9785
9841
|
{ kind: "lnTo", x: "x1", y: "b" },
|
|
9842
|
+
{ kind: "lnTo", x: "xc1", y: "b" },
|
|
9786
9843
|
{ kind: "arcTo", wR: "rad", hR: "rad", stAng: "cd4", swAng: "cd4" },
|
|
9844
|
+
{ kind: "lnTo", x: "l", y: "y2" },
|
|
9845
|
+
{ kind: "lnTo", x: "xl", y: "yl" },
|
|
9846
|
+
{ kind: "lnTo", x: "l", y: "y1" },
|
|
9787
9847
|
{ kind: "close" }
|
|
9788
9848
|
]
|
|
9789
9849
|
}
|
|
@@ -9798,7 +9858,7 @@ var wedgeEllipseCallout = {
|
|
|
9798
9858
|
gd16("xPos", "+- hc dxPos 0"),
|
|
9799
9859
|
gd16("yPos", "+- vc dyPos 0"),
|
|
9800
9860
|
gd16("sdx", "*/ dxPos hd2 wd2"),
|
|
9801
|
-
gd16("sdy", "
|
|
9861
|
+
gd16("sdy", "*/ dyPos wd2 hd2"),
|
|
9802
9862
|
gd16("pang", "at2 sdx sdy"),
|
|
9803
9863
|
gd16("stAng", "+- pang 660000 0"),
|
|
9804
9864
|
gd16("enAng", "+- pang 0 660000"),
|
|
@@ -9810,17 +9870,15 @@ var wedgeEllipseCallout = {
|
|
|
9810
9870
|
gd16("dy2", "sin hd2 enAng"),
|
|
9811
9871
|
gd16("x2", "+- hc dx2 0"),
|
|
9812
9872
|
gd16("y2", "+- vc dy2 0"),
|
|
9813
|
-
|
|
9814
|
-
gd16("
|
|
9815
|
-
gd16("swAng1", "+- enAngFinal 0 stAng1"),
|
|
9816
|
-
gd16("swAng", "?: swAng1 swAng1 +- swAng1 21600000 0")
|
|
9873
|
+
// The arc runs the long way round, from the first pointer edge to the second.
|
|
9874
|
+
gd16("swAng", "+- 21600000 0 1320000")
|
|
9817
9875
|
],
|
|
9818
9876
|
rect: FULL_RECT11,
|
|
9819
9877
|
pathLst: [
|
|
9820
9878
|
{
|
|
9821
9879
|
commands: [
|
|
9822
9880
|
{ kind: "moveTo", x: "x1", y: "y1" },
|
|
9823
|
-
{ kind: "arcTo", wR: "wd2", hR: "hd2", stAng: "
|
|
9881
|
+
{ kind: "arcTo", wR: "wd2", hR: "hd2", stAng: "stAng", swAng: "swAng" },
|
|
9824
9882
|
{ kind: "lnTo", x: "xPos", y: "yPos" },
|
|
9825
9883
|
{ kind: "close" }
|
|
9826
9884
|
]
|
|
@@ -16020,12 +16078,12 @@ function reassignDescendantIds(element, mintId) {
|
|
|
16020
16078
|
reassignDescendantIds(child13, mintId);
|
|
16021
16079
|
}
|
|
16022
16080
|
}
|
|
16023
|
-
function groupElements(
|
|
16081
|
+
function groupElements(elements3, ids, groupId) {
|
|
16024
16082
|
const idSet = new Set(ids);
|
|
16025
16083
|
const gathered = [];
|
|
16026
16084
|
let insertionIndex = -1;
|
|
16027
|
-
for (let i2 = 0; i2 <
|
|
16028
|
-
const el =
|
|
16085
|
+
for (let i2 = 0; i2 < elements3.length; i2++) {
|
|
16086
|
+
const el = elements3[i2];
|
|
16029
16087
|
if (idSet.has(el.id)) {
|
|
16030
16088
|
gathered.push(el);
|
|
16031
16089
|
if (insertionIndex === -1) {
|
|
@@ -16034,7 +16092,7 @@ function groupElements(elements2, ids, groupId) {
|
|
|
16034
16092
|
}
|
|
16035
16093
|
}
|
|
16036
16094
|
if (gathered.length < 2) {
|
|
16037
|
-
return { elements: [...
|
|
16095
|
+
return { elements: [...elements3], groupId: null };
|
|
16038
16096
|
}
|
|
16039
16097
|
let minX = gathered[0].x;
|
|
16040
16098
|
let minY = gathered[0].y;
|
|
@@ -16057,7 +16115,7 @@ function groupElements(elements2, ids, groupId) {
|
|
|
16057
16115
|
maxY = ry;
|
|
16058
16116
|
}
|
|
16059
16117
|
}
|
|
16060
|
-
const
|
|
16118
|
+
const children6 = gathered.map((el) => {
|
|
16061
16119
|
const child13 = cloneElement(el);
|
|
16062
16120
|
child13.x = el.x - minX;
|
|
16063
16121
|
child13.y = el.y - minY;
|
|
@@ -16071,12 +16129,12 @@ function groupElements(elements2, ids, groupId) {
|
|
|
16071
16129
|
y: minY,
|
|
16072
16130
|
width: maxX - minX,
|
|
16073
16131
|
height: maxY - minY,
|
|
16074
|
-
children:
|
|
16132
|
+
children: children6
|
|
16075
16133
|
};
|
|
16076
|
-
const remaining =
|
|
16134
|
+
const remaining = elements3.filter((el) => !idSet.has(el.id));
|
|
16077
16135
|
let adjustedIndex = 0;
|
|
16078
16136
|
for (let i2 = 0; i2 < insertionIndex; i2++) {
|
|
16079
|
-
if (!idSet.has(
|
|
16137
|
+
if (!idSet.has(elements3[i2].id)) {
|
|
16080
16138
|
adjustedIndex++;
|
|
16081
16139
|
}
|
|
16082
16140
|
}
|
|
@@ -16085,14 +16143,14 @@ function groupElements(elements2, ids, groupId) {
|
|
|
16085
16143
|
groupId
|
|
16086
16144
|
};
|
|
16087
16145
|
}
|
|
16088
|
-
function ungroupElements(
|
|
16089
|
-
const groupIndex =
|
|
16146
|
+
function ungroupElements(elements3, groupId, childIds, options = {}) {
|
|
16147
|
+
const groupIndex = elements3.findIndex((el) => el.id === groupId);
|
|
16090
16148
|
if (groupIndex === -1) {
|
|
16091
|
-
return { elements: [...
|
|
16149
|
+
return { elements: [...elements3], childIds: [] };
|
|
16092
16150
|
}
|
|
16093
|
-
const group =
|
|
16151
|
+
const group = elements3[groupIndex];
|
|
16094
16152
|
if (group.type !== "group") {
|
|
16095
|
-
return { elements: [...
|
|
16153
|
+
return { elements: [...elements3], childIds: [] };
|
|
16096
16154
|
}
|
|
16097
16155
|
const intoTemplate = options.intoTemplate ?? isTemplateElementId(group.id);
|
|
16098
16156
|
const usedChildIds = [];
|
|
@@ -16110,7 +16168,7 @@ function ungroupElements(elements2, groupId, childIds, options = {}) {
|
|
|
16110
16168
|
return promoted;
|
|
16111
16169
|
});
|
|
16112
16170
|
return {
|
|
16113
|
-
elements: [...
|
|
16171
|
+
elements: [...elements3.slice(0, groupIndex), ...expanded, ...elements3.slice(groupIndex + 1)],
|
|
16114
16172
|
childIds: usedChildIds
|
|
16115
16173
|
};
|
|
16116
16174
|
}
|
|
@@ -17777,15 +17835,15 @@ function normalizePath(path, rootName) {
|
|
|
17777
17835
|
return parts;
|
|
17778
17836
|
}
|
|
17779
17837
|
function child2(entries, parentId, name) {
|
|
17780
|
-
const
|
|
17838
|
+
const children6 = entries.filter((entry) => entry.parentId === parentId && entry.path !== void 0);
|
|
17781
17839
|
const pick = (matches) => matches.length === 1 ? matches[0] : void 0;
|
|
17782
|
-
const exact =
|
|
17840
|
+
const exact = children6.filter((entry) => entry.name === name);
|
|
17783
17841
|
if (exact.length)
|
|
17784
17842
|
return pick(exact);
|
|
17785
|
-
const folded =
|
|
17843
|
+
const folded = children6.filter((entry) => sameName(entry.name, name));
|
|
17786
17844
|
if (folded.length)
|
|
17787
17845
|
return pick(folded);
|
|
17788
|
-
return pick(
|
|
17846
|
+
return pick(children6.filter((entry) => sameName(bareName(entry.name), bareName(name))));
|
|
17789
17847
|
}
|
|
17790
17848
|
function findDirectoryEntry(entries, path) {
|
|
17791
17849
|
const root = entries.find((entry) => entry.type === ENTRY_TYPE_ROOT);
|
|
@@ -18587,6 +18645,8 @@ function replaceOleEmbedding(originalBytes, newPayloadBytes, options = {}) {
|
|
|
18587
18645
|
return newPayloadBytes;
|
|
18588
18646
|
}
|
|
18589
18647
|
}
|
|
18648
|
+
|
|
18649
|
+
// pptx/core/utils/ole-payload-kind.ts
|
|
18590
18650
|
var ZIP_MAGIC = [80, 75, 3, 4];
|
|
18591
18651
|
function isZipMagic(bytes) {
|
|
18592
18652
|
if (bytes.length < 4) {
|
|
@@ -18600,7 +18660,7 @@ async function detectOlePayloadEditorKind(bytes) {
|
|
|
18600
18660
|
}
|
|
18601
18661
|
if (isZipMagic(bytes)) {
|
|
18602
18662
|
try {
|
|
18603
|
-
const zip = await
|
|
18663
|
+
const zip = await openNestedZip(bytes);
|
|
18604
18664
|
if (zip.file("xl/workbook.xml")) {
|
|
18605
18665
|
return "sheet-xlsx";
|
|
18606
18666
|
}
|
|
@@ -18655,8 +18715,8 @@ function xmlChild(node, key) {
|
|
|
18655
18715
|
}
|
|
18656
18716
|
const value = node[key];
|
|
18657
18717
|
if (Array.isArray(value)) {
|
|
18658
|
-
const
|
|
18659
|
-
return isXmlObject(
|
|
18718
|
+
const first2 = value[0];
|
|
18719
|
+
return isXmlObject(first2) ? first2 : void 0;
|
|
18660
18720
|
}
|
|
18661
18721
|
return isXmlObject(value) ? value : void 0;
|
|
18662
18722
|
}
|
|
@@ -18685,8 +18745,8 @@ function ensureXmlChild(parent, key) {
|
|
|
18685
18745
|
return existing;
|
|
18686
18746
|
}
|
|
18687
18747
|
if (Array.isArray(existing)) {
|
|
18688
|
-
const
|
|
18689
|
-
return isXmlObject(
|
|
18748
|
+
const first2 = existing[0];
|
|
18749
|
+
return isXmlObject(first2) ? first2 : void 0;
|
|
18690
18750
|
}
|
|
18691
18751
|
if (existing === "" || existing === void 0 || existing === null) {
|
|
18692
18752
|
const created = {};
|
|
@@ -19067,7 +19127,7 @@ function cellDisplayValue(cell, sharedStrings) {
|
|
|
19067
19127
|
}
|
|
19068
19128
|
async function readOleSheetGrid(xlsxBytes, maxRows = DEFAULT_MAX_ROWS, maxCols = DEFAULT_MAX_COLS) {
|
|
19069
19129
|
try {
|
|
19070
|
-
const zip = await
|
|
19130
|
+
const zip = await openNestedZip(xlsxBytes);
|
|
19071
19131
|
const sheetFile = zip.file(FIRST_SHEET_PATH);
|
|
19072
19132
|
if (!sheetFile) {
|
|
19073
19133
|
return void 0;
|
|
@@ -19126,7 +19186,7 @@ function markFullCalcOnLoad(workbookXml, parser, builder3) {
|
|
|
19126
19186
|
}
|
|
19127
19187
|
async function writeOleSheetCellEdit(xlsxBytes, edit) {
|
|
19128
19188
|
try {
|
|
19129
|
-
const zip = await
|
|
19189
|
+
const zip = await openNestedZip(xlsxBytes);
|
|
19130
19190
|
const sheetFile = zip.file(FIRST_SHEET_PATH);
|
|
19131
19191
|
if (!sheetFile) {
|
|
19132
19192
|
return xlsxBytes;
|
|
@@ -19667,14 +19727,14 @@ function editXlsNumericCell(input, edit) {
|
|
|
19667
19727
|
if (record.opcode === 189) {
|
|
19668
19728
|
if (record.length < 12 || (record.length - 6) % 6 !== 0)
|
|
19669
19729
|
return unchanged("malformed-records");
|
|
19670
|
-
const
|
|
19730
|
+
const first2 = view.getUint16(p + 2, true);
|
|
19671
19731
|
const lastCol = view.getUint16(p + record.length - 2, true);
|
|
19672
|
-
if (lastCol > 255 || lastCol <
|
|
19732
|
+
if (lastCol > 255 || lastCol < first2 || lastCol - first2 + 1 !== (record.length - 6) / 6)
|
|
19673
19733
|
return unchanged("malformed-records");
|
|
19674
|
-
if (view.getUint16(p, true) === edit.row && edit.col >=
|
|
19734
|
+
if (view.getUint16(p, true) === edit.row && edit.col >= first2 && edit.col <= lastCol) {
|
|
19675
19735
|
if (++matches > 1)
|
|
19676
19736
|
return unchanged("ambiguous-cell");
|
|
19677
|
-
payload = p + 6 + (edit.col -
|
|
19737
|
+
payload = p + 6 + (edit.col - first2) * 6;
|
|
19678
19738
|
packed = true;
|
|
19679
19739
|
}
|
|
19680
19740
|
} else if (record.opcode === 515 || record.opcode === 638) {
|
|
@@ -19694,11 +19754,11 @@ function editXlsNumericCell(input, edit) {
|
|
|
19694
19754
|
} else if (record.opcode === 190) {
|
|
19695
19755
|
if (record.length < 8 || (record.length - 6) % 2 !== 0)
|
|
19696
19756
|
return unchanged("malformed-records");
|
|
19697
|
-
const
|
|
19757
|
+
const first2 = view.getUint16(p + 2, true);
|
|
19698
19758
|
const lastCol = view.getUint16(p + record.length - 2, true);
|
|
19699
|
-
if (lastCol > 255 || lastCol <
|
|
19759
|
+
if (lastCol > 255 || lastCol < first2 || lastCol - first2 + 1 !== (record.length - 6) / 2)
|
|
19700
19760
|
return unchanged("malformed-records");
|
|
19701
|
-
if (view.getUint16(p, true) === edit.row && edit.col >=
|
|
19761
|
+
if (view.getUint16(p, true) === edit.row && edit.col >= first2 && edit.col <= lastCol && ++matches > 1)
|
|
19702
19762
|
return unchanged("ambiguous-cell");
|
|
19703
19763
|
}
|
|
19704
19764
|
}
|
|
@@ -20087,8 +20147,8 @@ function isCellOpcode(opcode) {
|
|
|
20087
20147
|
function findRowCellRegion(bytes, range) {
|
|
20088
20148
|
const records = readRecords(bytes, range.start, range.end);
|
|
20089
20149
|
const dimensions = records.find((r) => r.opcode === OPCODE_DIMENSIONS);
|
|
20090
|
-
const
|
|
20091
|
-
const start =
|
|
20150
|
+
const first2 = records.find((r) => r.opcode === OPCODE_ROW || isCellOpcode(r.opcode));
|
|
20151
|
+
const start = first2?.headerOffset ?? (dimensions ? dimensions.dataOffset + dimensions.length : range.start + 4);
|
|
20092
20152
|
const lastDbcell = [...records].reverse().find((r) => r.opcode === OPCODE_DBCELL);
|
|
20093
20153
|
const lastCellOrRow = [...records].reverse().find((r) => r.opcode === OPCODE_ROW || isCellOpcode(r.opcode));
|
|
20094
20154
|
const end = lastDbcell ? lastDbcell.dataOffset + lastDbcell.length : (lastCellOrRow?.dataOffset ?? start) + (lastCellOrRow?.length ?? 0);
|
|
@@ -20220,7 +20280,7 @@ function paragraphText(paragraph) {
|
|
|
20220
20280
|
}
|
|
20221
20281
|
async function readOleDocumentParagraphs(docxBytes) {
|
|
20222
20282
|
try {
|
|
20223
|
-
const zip = await
|
|
20283
|
+
const zip = await openNestedZip(docxBytes);
|
|
20224
20284
|
const documentFile = zip.file(DOCUMENT_PART_PATH);
|
|
20225
20285
|
if (!documentFile) {
|
|
20226
20286
|
return void 0;
|
|
@@ -20238,7 +20298,7 @@ async function readOleDocumentParagraphs(docxBytes) {
|
|
|
20238
20298
|
}
|
|
20239
20299
|
async function writeOleDocumentParagraphEdit(docxBytes, paragraphIndex, text) {
|
|
20240
20300
|
try {
|
|
20241
|
-
const zip = await
|
|
20301
|
+
const zip = await openNestedZip(docxBytes);
|
|
20242
20302
|
const documentFile = zip.file(DOCUMENT_PART_PATH);
|
|
20243
20303
|
if (!documentFile) {
|
|
20244
20304
|
return docxBytes;
|
|
@@ -21686,9 +21746,9 @@ function tryWriteOleDocParagraphEdit(docBytes, paragraphIndex, text, limits) {
|
|
|
21686
21746
|
function isTextBearingElement(el) {
|
|
21687
21747
|
return el.type === "text" || el.type === "shape";
|
|
21688
21748
|
}
|
|
21689
|
-
function collectTextBearingElements(
|
|
21749
|
+
function collectTextBearingElements(elements3) {
|
|
21690
21750
|
const result = [];
|
|
21691
|
-
for (const el of
|
|
21751
|
+
for (const el of elements3) {
|
|
21692
21752
|
if (isTextBearingElement(el)) {
|
|
21693
21753
|
result.push(el);
|
|
21694
21754
|
}
|
|
@@ -21698,8 +21758,8 @@ function collectTextBearingElements(elements2) {
|
|
|
21698
21758
|
}
|
|
21699
21759
|
return result;
|
|
21700
21760
|
}
|
|
21701
|
-
function findTextBearingElementById(
|
|
21702
|
-
for (const el of
|
|
21761
|
+
function findTextBearingElementById(elements3, elementId) {
|
|
21762
|
+
for (const el of elements3) {
|
|
21703
21763
|
if (isTextBearingElement(el) && el.id === elementId) {
|
|
21704
21764
|
return el;
|
|
21705
21765
|
}
|
|
@@ -21714,7 +21774,7 @@ function findTextBearingElementById(elements2, elementId) {
|
|
|
21714
21774
|
}
|
|
21715
21775
|
async function loadNestedDeck(pptxBytes) {
|
|
21716
21776
|
try {
|
|
21717
|
-
const { PptxHandler } = await import('./PptxHandler-
|
|
21777
|
+
const { PptxHandler } = await import('./PptxHandler-KNBFECUE.mjs');
|
|
21718
21778
|
const handler = new PptxHandler();
|
|
21719
21779
|
const data = await handler.load(pptxBytes.buffer.slice(0));
|
|
21720
21780
|
return { handler, slides: data.slides };
|
|
@@ -24224,10 +24284,10 @@ function projectSmartArtNodeText(node, fallbackStyle = {}, options = {}) {
|
|
|
24224
24284
|
const paragraph = paragraphs[paragraphIndex];
|
|
24225
24285
|
const pStyle = paragraphStyle(paragraph, fallbackStyle);
|
|
24226
24286
|
const metadata = paragraphMetadata(paragraph, paragraphIndex, options.bulletEnabled ?? false);
|
|
24227
|
-
let
|
|
24287
|
+
let first2 = true;
|
|
24228
24288
|
const push2 = (segment) => {
|
|
24229
|
-
segments.push(
|
|
24230
|
-
|
|
24289
|
+
segments.push(first2 ? { ...segment, ...metadata } : segment);
|
|
24290
|
+
first2 = false;
|
|
24231
24291
|
};
|
|
24232
24292
|
for (const item of paragraph.items) {
|
|
24233
24293
|
if (item.kind === "run") {
|
|
@@ -24254,7 +24314,7 @@ function projectSmartArtNodeText(node, fallbackStyle = {}, options = {}) {
|
|
|
24254
24314
|
push2({ text: " ", style: pStyle });
|
|
24255
24315
|
}
|
|
24256
24316
|
}
|
|
24257
|
-
if (
|
|
24317
|
+
if (first2) {
|
|
24258
24318
|
push2({ text: "", style: { ...pStyle, ...paragraph.endParaStyle } });
|
|
24259
24319
|
}
|
|
24260
24320
|
if (paragraphIndex < paragraphs.length - 1) {
|
|
@@ -24417,7 +24477,7 @@ function interpretedLayoutToElements(result, nodes, containerBounds, bulletEnabl
|
|
|
24417
24477
|
const renderedIds = new Set(
|
|
24418
24478
|
result.nodes.flatMap((r) => [r.nodeId, ...r.foldedNodeIds ?? []]).filter((id) => Boolean(id))
|
|
24419
24479
|
);
|
|
24420
|
-
const
|
|
24480
|
+
const elements3 = [];
|
|
24421
24481
|
for (const rendered of result.nodes) {
|
|
24422
24482
|
const node = rendered.nodeId ? nodeById.get(rendered.nodeId) : void 0;
|
|
24423
24483
|
const fontSize = rendered.fontSize;
|
|
@@ -24437,7 +24497,7 @@ function interpretedLayoutToElements(result, nodes, containerBounds, bulletEnabl
|
|
|
24437
24497
|
rotation: rendered.rotation,
|
|
24438
24498
|
...rendered.shapeAdjustments ? { shapeAdjustments: rendered.shapeAdjustments } : {}
|
|
24439
24499
|
};
|
|
24440
|
-
const push2 = (element) =>
|
|
24500
|
+
const push2 = (element) => elements3.push(tagSmartArtElementStyleLabel(element, rendered.styleLabel));
|
|
24441
24501
|
if (rendered.kind === "rect") {
|
|
24442
24502
|
push2(
|
|
24443
24503
|
makeShapeElement(
|
|
@@ -24495,7 +24555,7 @@ function interpretedLayoutToElements(result, nodes, containerBounds, bulletEnabl
|
|
|
24495
24555
|
);
|
|
24496
24556
|
}
|
|
24497
24557
|
}
|
|
24498
|
-
return
|
|
24558
|
+
return elements3;
|
|
24499
24559
|
}
|
|
24500
24560
|
|
|
24501
24561
|
// diagram/layout/smartart-layout-interpreter-axis-hop.ts
|
|
@@ -25743,21 +25803,21 @@ function resolveNonHierarchyChoose(view, node, resolvedAlg, nodeCount, whenConte
|
|
|
25743
25803
|
// diagram/layout/smartart-layout-interpreter-tree-location.ts
|
|
25744
25804
|
function walkWithTreeLocation(node, visit, location = { position: 1, total: 1, depth: 0 }) {
|
|
25745
25805
|
visit(node, location);
|
|
25746
|
-
const
|
|
25747
|
-
|
|
25806
|
+
const children6 = node.children ?? [];
|
|
25807
|
+
children6.forEach((child13, i2) => {
|
|
25748
25808
|
walkWithTreeLocation(child13, visit, {
|
|
25749
25809
|
position: i2 + 1,
|
|
25750
|
-
total:
|
|
25810
|
+
total: children6.length,
|
|
25751
25811
|
depth: location.depth + 1
|
|
25752
25812
|
});
|
|
25753
25813
|
});
|
|
25754
25814
|
}
|
|
25755
25815
|
function treeMaxDepth(node, depth = 0) {
|
|
25756
|
-
const
|
|
25757
|
-
if (
|
|
25816
|
+
const children6 = node.children ?? [];
|
|
25817
|
+
if (children6.length === 0) {
|
|
25758
25818
|
return depth;
|
|
25759
25819
|
}
|
|
25760
|
-
return Math.max(...
|
|
25820
|
+
return Math.max(...children6.map((child13) => treeMaxDepth(child13, depth + 1)));
|
|
25761
25821
|
}
|
|
25762
25822
|
|
|
25763
25823
|
// diagram/layout/smartart-layout-interpreter-model.ts
|
|
@@ -26296,13 +26356,13 @@ function resolveRingItemNode(constraintNode, arrangerConstraints) {
|
|
|
26296
26356
|
const sibSpName = (arrangerConstraints ?? []).find(
|
|
26297
26357
|
(c) => c.type === "sibSp" && typeof c.referenceForName === "string"
|
|
26298
26358
|
)?.referenceForName;
|
|
26299
|
-
const
|
|
26300
|
-
if (
|
|
26301
|
-
return
|
|
26359
|
+
const named2 = sibSpName ? (constraintNode.children ?? []).find((child13) => child13.name === sibSpName) : void 0;
|
|
26360
|
+
if (named2?.forEachOrigin) {
|
|
26361
|
+
return named2;
|
|
26302
26362
|
}
|
|
26303
|
-
const
|
|
26304
|
-
const repeating =
|
|
26305
|
-
return repeating ??
|
|
26363
|
+
const children6 = constraintNode.children ?? [];
|
|
26364
|
+
const repeating = children6.find((child13) => child13.forEachOrigin && child13.algorithm?.type !== "conn") ?? children6.find((child13) => child13.forEachOrigin);
|
|
26365
|
+
return repeating ?? named2 ?? itemNode(constraintNode);
|
|
26306
26366
|
}
|
|
26307
26367
|
|
|
26308
26368
|
// diagram/layout/smartart-layout-interpreter-cycle-sibtrans.ts
|
|
@@ -26415,8 +26475,8 @@ function hasMaxDepthGuard(node) {
|
|
|
26415
26475
|
return node.chooseGuard?.some((guard) => guard.function === "maxDepth") ?? false;
|
|
26416
26476
|
}
|
|
26417
26477
|
function buildCycleRingExtensions(parentCentre, parentNode, context, path) {
|
|
26418
|
-
const
|
|
26419
|
-
if (
|
|
26478
|
+
const children6 = context.childrenOf.get(parentNode.id) ?? [];
|
|
26479
|
+
if (children6.length === 0) {
|
|
26420
26480
|
return { nodes: [], connectors: [] };
|
|
26421
26481
|
}
|
|
26422
26482
|
const dx = parentCentre.x - context.ringCentre.x;
|
|
@@ -26425,11 +26485,11 @@ function buildCycleRingExtensions(parentCentre, parentNode, context, path) {
|
|
|
26425
26485
|
const baseAngleRad = dist > 1e-6 ? Math.atan2(dy, dx) : 0;
|
|
26426
26486
|
const halfExtent = Math.max(context.itemWidth, context.itemHeight) / 2;
|
|
26427
26487
|
const radius = context.itemWidth / 2 + Math.max(0, context.gapPx) + halfExtent;
|
|
26428
|
-
const count =
|
|
26488
|
+
const count = children6.length;
|
|
26429
26489
|
const spanRad = context.fanSpanDeg * DEG_TO_RAD;
|
|
26430
26490
|
const nodes = [];
|
|
26431
26491
|
const connectors2 = [];
|
|
26432
|
-
|
|
26492
|
+
children6.forEach((child13, i2) => {
|
|
26433
26493
|
const angle = count === 1 ? baseAngleRad : baseAngleRad - spanRad / 2 + spanRad * i2 / (count - 1);
|
|
26434
26494
|
const cx = parentCentre.x + Math.cos(angle) * radius;
|
|
26435
26495
|
const cy = parentCentre.y + Math.sin(angle) * radius;
|
|
@@ -28521,13 +28581,13 @@ function compoundChildIds(role, node, childrenOf) {
|
|
|
28521
28581
|
if (chIndex < 0) {
|
|
28522
28582
|
return [];
|
|
28523
28583
|
}
|
|
28524
|
-
const
|
|
28584
|
+
const children6 = childrenOf.get(node.id) ?? [];
|
|
28525
28585
|
const start = role.presentationOf?.start?.[chIndex] ?? 1;
|
|
28526
28586
|
const count = role.presentationOf?.count?.[chIndex];
|
|
28527
|
-
const positions = positionRange(start, count, 1,
|
|
28587
|
+
const positions = positionRange(start, count, 1, children6.length);
|
|
28528
28588
|
const ids = [];
|
|
28529
28589
|
for (const position2 of positions) {
|
|
28530
|
-
const child13 =
|
|
28590
|
+
const child13 = children6[position2 - 1];
|
|
28531
28591
|
if (!child13 || child13.text.trim().length === 0) {
|
|
28532
28592
|
continue;
|
|
28533
28593
|
}
|
|
@@ -29519,12 +29579,12 @@ function winningOrdinalFor(guardsByOrdinal, nodeCount, flat) {
|
|
|
29519
29579
|
}
|
|
29520
29580
|
return void 0;
|
|
29521
29581
|
}
|
|
29522
|
-
function selectFirstMatchChildren(
|
|
29523
|
-
if (
|
|
29524
|
-
return
|
|
29582
|
+
function selectFirstMatchChildren(children6, flat) {
|
|
29583
|
+
if (children6.every((child13) => (child13.chooseGroups?.length ?? 0) === 0)) {
|
|
29584
|
+
return children6;
|
|
29525
29585
|
}
|
|
29526
29586
|
const guardsByGroup = /* @__PURE__ */ new Map();
|
|
29527
|
-
for (const child13 of
|
|
29587
|
+
for (const child13 of children6) {
|
|
29528
29588
|
for (const entry of child13.chooseGroups ?? []) {
|
|
29529
29589
|
let byOrdinal = guardsByGroup.get(entry.id);
|
|
29530
29590
|
if (!byOrdinal) {
|
|
@@ -29541,7 +29601,7 @@ function selectFirstMatchChildren(children5, flat) {
|
|
|
29541
29601
|
for (const [groupId, guardsByOrdinal] of guardsByGroup) {
|
|
29542
29602
|
winningOrdinal.set(groupId, winningOrdinalFor(guardsByOrdinal, nodeCount, flat));
|
|
29543
29603
|
}
|
|
29544
|
-
return
|
|
29604
|
+
return children6.filter(
|
|
29545
29605
|
(child13) => (child13.chooseGroups ?? []).every((entry) => {
|
|
29546
29606
|
const winner = winningOrdinal.get(entry.id);
|
|
29547
29607
|
return winner === void 0 || winner === entry.ordinal;
|
|
@@ -29749,9 +29809,9 @@ function dimOf(constraints, type, box, index, role, declaringRole) {
|
|
|
29749
29809
|
function isPositioned(dims) {
|
|
29750
29810
|
return dims.l !== void 0 || dims.t !== void 0 || dims.w !== void 0 || dims.h !== void 0 || dims.ctrX !== void 0 || dims.ctrY !== void 0;
|
|
29751
29811
|
}
|
|
29752
|
-
function readSlots(
|
|
29812
|
+
function readSlots(children6, box, index, declaringRole, sizeBox = box) {
|
|
29753
29813
|
const slots = [];
|
|
29754
|
-
for (const child13 of
|
|
29814
|
+
for (const child13 of children6) {
|
|
29755
29815
|
const c = child13.constraints;
|
|
29756
29816
|
const role = roleOf(child13);
|
|
29757
29817
|
const hubSizeBox = isUserSizeHubRole(role, index) ? sizeBox : box;
|
|
@@ -29914,16 +29974,16 @@ function arrangeByChooseAwareSlots(root, flat, box, index, ctx, fontCtx) {
|
|
|
29914
29974
|
}
|
|
29915
29975
|
const fitByRole = fontCtx ? resolveFitByDeclaringRole(fontCtx, slots) : /* @__PURE__ */ new Map();
|
|
29916
29976
|
return slots.map(({ rect: rect2, content, node: layoutNode, declaringRole }, i2) => {
|
|
29917
|
-
const
|
|
29977
|
+
const first2 = content[0];
|
|
29918
29978
|
const fit = fitByRole.get(declaringRole);
|
|
29919
29979
|
const rendered = {
|
|
29920
29980
|
...presetBoxNode({
|
|
29921
|
-
key: `${ctx.elementId}-comp-choose-${
|
|
29981
|
+
key: `${ctx.elementId}-comp-choose-${first2.id}-${i2}`,
|
|
29922
29982
|
x: rect2.x,
|
|
29923
29983
|
y: rect2.y,
|
|
29924
29984
|
width: rect2.width,
|
|
29925
29985
|
height: rect2.height,
|
|
29926
|
-
node:
|
|
29986
|
+
node: first2,
|
|
29927
29987
|
index: i2,
|
|
29928
29988
|
total: slots.length,
|
|
29929
29989
|
palette: ctx.palette,
|
|
@@ -29978,16 +30038,16 @@ function renderForEachBoundSlots(slots, flat, box, absX, absY, childrenOf, ctx,
|
|
|
29978
30038
|
return;
|
|
29979
30039
|
}
|
|
29980
30040
|
const rect2 = resolveSlot(slot.dims, box, absX, absY);
|
|
29981
|
-
const
|
|
30041
|
+
const first2 = content[0];
|
|
29982
30042
|
const index = startIndex + offset;
|
|
29983
30043
|
const entry = {
|
|
29984
30044
|
...rectNode({
|
|
29985
|
-
key: `${ctx.elementId}-comp-feach-${
|
|
30045
|
+
key: `${ctx.elementId}-comp-feach-${first2.id}-${index}`,
|
|
29986
30046
|
x: rect2.x,
|
|
29987
30047
|
y: rect2.y,
|
|
29988
30048
|
width: rect2.width,
|
|
29989
30049
|
height: rect2.height,
|
|
29990
|
-
node:
|
|
30050
|
+
node: first2,
|
|
29991
30051
|
index,
|
|
29992
30052
|
total: startIndex + slots.length,
|
|
29993
30053
|
palette: ctx.palette,
|
|
@@ -30397,15 +30457,15 @@ function renderAnchoredPair(node, index, total, selfSlot, selfLayoutNode, desSlo
|
|
|
30397
30457
|
})
|
|
30398
30458
|
];
|
|
30399
30459
|
if (desSlot && desSlot.content.length > 0) {
|
|
30400
|
-
const
|
|
30460
|
+
const first2 = desSlot.content[0];
|
|
30401
30461
|
const rendered = {
|
|
30402
30462
|
...presetBoxNode({
|
|
30403
|
-
key: `${ctx.elementId}-comp-des-${
|
|
30463
|
+
key: `${ctx.elementId}-comp-des-${first2.id}-${index}`,
|
|
30404
30464
|
x: desSlot.rect.x,
|
|
30405
30465
|
y: desSlot.rect.y,
|
|
30406
30466
|
width: desSlot.rect.width,
|
|
30407
30467
|
height: desSlot.rect.height,
|
|
30408
|
-
node:
|
|
30468
|
+
node: first2,
|
|
30409
30469
|
index,
|
|
30410
30470
|
total,
|
|
30411
30471
|
palette: ctx.palette,
|
|
@@ -30490,13 +30550,13 @@ function arrangeByPresentationOf(view, slotted, allChildren, nodes, flat, box, a
|
|
|
30490
30550
|
return rendered;
|
|
30491
30551
|
}
|
|
30492
30552
|
function arrangeComposite(view, plan, nodes, box, palette, style, elementId, index = EMPTY_CONSTRAINT_INDEX, childrenOf = /* @__PURE__ */ new Map(), flat = nodes, fontName, presLayoutVars) {
|
|
30493
|
-
const
|
|
30494
|
-
if (!
|
|
30553
|
+
const children6 = plan.node.children;
|
|
30554
|
+
if (!children6 || children6.length === 0 || nodes.length === 0) {
|
|
30495
30555
|
return void 0;
|
|
30496
30556
|
}
|
|
30497
30557
|
const declaringRole = roleOf(plan.node);
|
|
30498
30558
|
const sizeBox = fitAspectRatioBox(box, readAlgorithmAspectRatio(plan.node));
|
|
30499
|
-
const slotted = readSlots(
|
|
30559
|
+
const slotted = readSlots(children6, box, index, declaringRole, sizeBox);
|
|
30500
30560
|
if (slotted.length === 0) {
|
|
30501
30561
|
return void 0;
|
|
30502
30562
|
}
|
|
@@ -30509,7 +30569,7 @@ function arrangeComposite(view, plan, nodes, box, palette, style, elementId, ind
|
|
|
30509
30569
|
const renderedNodes = arrangeByPresentationOf(
|
|
30510
30570
|
view,
|
|
30511
30571
|
slotted,
|
|
30512
|
-
|
|
30572
|
+
children6,
|
|
30513
30573
|
nodes,
|
|
30514
30574
|
flat,
|
|
30515
30575
|
box,
|
|
@@ -30660,9 +30720,9 @@ function resolveHierarchyItemNode(algorithmNode) {
|
|
|
30660
30720
|
if (candidates.length === 0) {
|
|
30661
30721
|
return void 0;
|
|
30662
30722
|
}
|
|
30663
|
-
const
|
|
30664
|
-
if (candidates.length < 2 || !
|
|
30665
|
-
return
|
|
30723
|
+
const first2 = candidates[0];
|
|
30724
|
+
if (candidates.length < 2 || !first2) {
|
|
30725
|
+
return first2;
|
|
30666
30726
|
}
|
|
30667
30727
|
const allNames = new Set(
|
|
30668
30728
|
candidates.map((c) => c.name).filter((n) => n !== void 0)
|
|
@@ -30677,7 +30737,7 @@ function resolveHierarchyItemNode(algorithmNode) {
|
|
|
30677
30737
|
return candidate;
|
|
30678
30738
|
}
|
|
30679
30739
|
}
|
|
30680
|
-
return
|
|
30740
|
+
return first2;
|
|
30681
30741
|
}
|
|
30682
30742
|
|
|
30683
30743
|
// diagram/hierarchy/smartart-hierarchy-shared.ts
|
|
@@ -31646,9 +31706,9 @@ function findByReference(constraints, type, referenceType, preferredName) {
|
|
|
31646
31706
|
const list2 = constraints ?? [];
|
|
31647
31707
|
const matches = (c) => c.type === type && c.referenceType === referenceType && typeof c.factor === "number";
|
|
31648
31708
|
if (preferredName !== void 0) {
|
|
31649
|
-
const
|
|
31650
|
-
if (
|
|
31651
|
-
return
|
|
31709
|
+
const named2 = list2.find((c) => matches(c) && c.forName === preferredName);
|
|
31710
|
+
if (named2) {
|
|
31711
|
+
return named2.factor;
|
|
31652
31712
|
}
|
|
31653
31713
|
}
|
|
31654
31714
|
return list2.find(matches)?.factor;
|
|
@@ -32115,10 +32175,10 @@ function placeFlatChildren(hc, parentId, normal, cx, cy, xOffset, level2, cellW,
|
|
|
32115
32175
|
}
|
|
32116
32176
|
|
|
32117
32177
|
// diagram/hierarchy/smartart-hierarchy-wrapped-groups.ts
|
|
32118
|
-
function planWrappedGroups(
|
|
32178
|
+
function planWrappedGroups(children6, perColumn, orgChart) {
|
|
32119
32179
|
const groups = [];
|
|
32120
|
-
for (let i2 = 0; i2 <
|
|
32121
|
-
const members =
|
|
32180
|
+
for (let i2 = 0; i2 < children6.length; i2 += perColumn) {
|
|
32181
|
+
const members = children6.slice(i2, i2 + perColumn);
|
|
32122
32182
|
const fansAsRow = members.some((m) => partitionChildren(m, orgChart).normal.length > 0);
|
|
32123
32183
|
groups.push({ members, fansAsRow });
|
|
32124
32184
|
}
|
|
@@ -35180,12 +35240,12 @@ function parseOrderedXml(xml) {
|
|
|
35180
35240
|
break;
|
|
35181
35241
|
}
|
|
35182
35242
|
const next = xml.indexOf("<", end + 1);
|
|
35183
|
-
const
|
|
35184
|
-
if (
|
|
35243
|
+
const first2 = xml[i2 + 1];
|
|
35244
|
+
if (first2 === "?" || first2 === "!") {
|
|
35185
35245
|
i2 = next;
|
|
35186
35246
|
continue;
|
|
35187
35247
|
}
|
|
35188
|
-
const closing =
|
|
35248
|
+
const closing = first2 === "/";
|
|
35189
35249
|
let cursor = closing ? i2 + 2 : i2 + 1;
|
|
35190
35250
|
const nameStart = cursor;
|
|
35191
35251
|
while (cursor < end && isNameChar(xml[cursor])) {
|
|
@@ -35406,7 +35466,7 @@ function parseStatement(element, state) {
|
|
|
35406
35466
|
rules: element.children.filter((c) => c.name === "rule").map((c) => parseRule(c.attrs))
|
|
35407
35467
|
};
|
|
35408
35468
|
case "varLst": {
|
|
35409
|
-
const vars =
|
|
35469
|
+
const vars = /* @__PURE__ */ Object.create(null);
|
|
35410
35470
|
for (const entry of element.children) {
|
|
35411
35471
|
vars[entry.name] = entry.attrs.val ?? "";
|
|
35412
35472
|
}
|
|
@@ -35569,6 +35629,7 @@ function evaluateCondition(condition, point2, lookup) {
|
|
|
35569
35629
|
|
|
35570
35630
|
// diagram/engine/pres-tree.ts
|
|
35571
35631
|
var MAX_DEPTH = 96;
|
|
35632
|
+
var MAX_NODES = 1e5;
|
|
35572
35633
|
function lookupVariable(node, name, options) {
|
|
35573
35634
|
if (name === "dir" && options.direction) {
|
|
35574
35635
|
return options.direction;
|
|
@@ -35606,6 +35667,9 @@ function walk2(statements, point2, node, state) {
|
|
|
35606
35667
|
}
|
|
35607
35668
|
state.depth++;
|
|
35608
35669
|
for (const next of iteratePoints(point2, forEach.iterator)) {
|
|
35670
|
+
if (state.counter >= MAX_NODES) {
|
|
35671
|
+
break;
|
|
35672
|
+
}
|
|
35609
35673
|
walk2(forEach.body, next, node, state);
|
|
35610
35674
|
}
|
|
35611
35675
|
state.depth--;
|
|
@@ -35648,10 +35712,17 @@ function walk2(statements, point2, node, state) {
|
|
|
35648
35712
|
}
|
|
35649
35713
|
}
|
|
35650
35714
|
function recordedVars(point2, name) {
|
|
35651
|
-
|
|
35715
|
+
const byName = point2.source?.presLayoutVarsByName;
|
|
35716
|
+
if (!byName || !Object.prototype.hasOwnProperty.call(byName, name)) {
|
|
35717
|
+
return {};
|
|
35718
|
+
}
|
|
35719
|
+
return byName[name] ?? {};
|
|
35720
|
+
}
|
|
35721
|
+
function variableMap(...sources) {
|
|
35722
|
+
return Object.assign(/* @__PURE__ */ Object.create(null), ...sources);
|
|
35652
35723
|
}
|
|
35653
35724
|
function buildNode(def, point2, parent, state) {
|
|
35654
|
-
if (state.depth > MAX_DEPTH) {
|
|
35725
|
+
if (state.depth > MAX_DEPTH || state.counter >= MAX_NODES) {
|
|
35655
35726
|
return void 0;
|
|
35656
35727
|
}
|
|
35657
35728
|
const node = {
|
|
@@ -35665,7 +35736,7 @@ function buildNode(def, point2, parent, state) {
|
|
|
35665
35736
|
presOfAnchored: false,
|
|
35666
35737
|
constraints: [],
|
|
35667
35738
|
rules: [],
|
|
35668
|
-
vars:
|
|
35739
|
+
vars: variableMap(recordedVars(point2, def.name)),
|
|
35669
35740
|
children: [],
|
|
35670
35741
|
parent,
|
|
35671
35742
|
order: state.counter++
|
|
@@ -35762,14 +35833,14 @@ function findShape(scope, point2, name, skip) {
|
|
|
35762
35833
|
return void 0;
|
|
35763
35834
|
}
|
|
35764
35835
|
let fallback;
|
|
35765
|
-
let
|
|
35836
|
+
let named2;
|
|
35766
35837
|
const visit = (node) => {
|
|
35767
|
-
if (
|
|
35838
|
+
if (named2) {
|
|
35768
35839
|
return;
|
|
35769
35840
|
}
|
|
35770
35841
|
if (node !== skip && node.point === point2 && node.box && node.alg.type !== "conn") {
|
|
35771
35842
|
if (name && node.name === name) {
|
|
35772
|
-
|
|
35843
|
+
named2 = node;
|
|
35773
35844
|
return;
|
|
35774
35845
|
}
|
|
35775
35846
|
if (!fallback && node.shape?.type && !node.shape.hideGeom) {
|
|
@@ -35779,7 +35850,7 @@ function findShape(scope, point2, name, skip) {
|
|
|
35779
35850
|
node.children.forEach(visit);
|
|
35780
35851
|
};
|
|
35781
35852
|
visit(scope);
|
|
35782
|
-
return
|
|
35853
|
+
return named2 ?? fallback;
|
|
35783
35854
|
}
|
|
35784
35855
|
function arrangeConnector(node) {
|
|
35785
35856
|
const box = node.box;
|
|
@@ -36188,13 +36259,13 @@ function sanitizeLvlNode(lvlNode) {
|
|
|
36188
36259
|
}
|
|
36189
36260
|
function arrangePyra(node) {
|
|
36190
36261
|
const box = node.box;
|
|
36191
|
-
const
|
|
36192
|
-
const n =
|
|
36262
|
+
const children6 = contentChildren(node);
|
|
36263
|
+
const n = children6.length;
|
|
36193
36264
|
if (!box || n === 0) {
|
|
36194
36265
|
return;
|
|
36195
36266
|
}
|
|
36196
36267
|
const lvlNodeName = node.alg.params.pyraLvlNode ?? "level";
|
|
36197
|
-
for (const item of
|
|
36268
|
+
for (const item of children6) {
|
|
36198
36269
|
const lvlNode = findNamedDescendant(item, lvlNodeName);
|
|
36199
36270
|
if (lvlNode) {
|
|
36200
36271
|
sanitizeLvlNode(lvlNode);
|
|
@@ -36204,7 +36275,7 @@ function arrangePyra(node) {
|
|
|
36204
36275
|
const gap = Math.max(0, node.values.get("sibSp") ?? node.values.get("sp") ?? 0);
|
|
36205
36276
|
const bandH = Math.max(0, (box.h - gap * (n - 1)) / n);
|
|
36206
36277
|
const bandCx = box.x + box.w / 2;
|
|
36207
|
-
|
|
36278
|
+
children6.forEach((child13, i2) => {
|
|
36208
36279
|
const top = box.y + i2 * (bandH + gap);
|
|
36209
36280
|
const effectiveI = inverted ? n - 1 - i2 : i2;
|
|
36210
36281
|
const halfWide = box.w * (effectiveI + 1) / n / 2;
|
|
@@ -36594,9 +36665,9 @@ function buildLinks(entries) {
|
|
|
36594
36665
|
}
|
|
36595
36666
|
const firstByName = /* @__PURE__ */ new Map();
|
|
36596
36667
|
for (const { node } of entries) {
|
|
36597
|
-
const
|
|
36598
|
-
if (
|
|
36599
|
-
groups.union(
|
|
36668
|
+
const first2 = firstByName.get(node.name);
|
|
36669
|
+
if (first2) {
|
|
36670
|
+
groups.union(first2, node);
|
|
36600
36671
|
} else {
|
|
36601
36672
|
firstByName.set(node.name, node);
|
|
36602
36673
|
}
|
|
@@ -36779,16 +36850,16 @@ function applyEngineFonts(collected, nodeById, fontName) {
|
|
|
36779
36850
|
}
|
|
36780
36851
|
const fitNode = entry.textNode ?? entry.node;
|
|
36781
36852
|
texts.set(fitNode, text);
|
|
36782
|
-
const
|
|
36783
|
-
if (
|
|
36784
|
-
txBySource.set(
|
|
36853
|
+
const first2 = sourceIdsOf(fitNode)[0];
|
|
36854
|
+
if (first2 && fitNode.alg.type === "tx" && !txBySource.has(first2)) {
|
|
36855
|
+
txBySource.set(first2, fitNode);
|
|
36785
36856
|
}
|
|
36786
36857
|
}
|
|
36787
36858
|
const twinOf = /* @__PURE__ */ new Map();
|
|
36788
36859
|
const entries = [];
|
|
36789
36860
|
for (const [node, text] of texts) {
|
|
36790
|
-
const
|
|
36791
|
-
const twin =
|
|
36861
|
+
const first2 = sourceIdsOf(node)[0];
|
|
36862
|
+
const twin = first2 && node.alg.type !== "tx" ? txBySource.get(first2) : void 0;
|
|
36792
36863
|
if (twin && texts.has(twin)) {
|
|
36793
36864
|
twinOf.set(node, twin);
|
|
36794
36865
|
} else {
|
|
@@ -36810,8 +36881,8 @@ function applyEngineFonts(collected, nodeById, fontName) {
|
|
|
36810
36881
|
const node = textNode ?? renderedNode;
|
|
36811
36882
|
const pt = sizes.get(node) ?? 18;
|
|
36812
36883
|
const text = texts.get(node);
|
|
36813
|
-
const { first, secondary } = text ? paragraphSizesPt(text, pt) : { first: pt, secondary: Math.round(pt * DESCENDANT_FONT_SCALE) };
|
|
36814
|
-
rendered.fontSize =
|
|
36884
|
+
const { first: first2, secondary } = text ? paragraphSizesPt(text, pt) : { first: pt, secondary: Math.round(pt * DESCENDANT_FONT_SCALE) };
|
|
36885
|
+
rendered.fontSize = first2 * PX_PER_PT5;
|
|
36815
36886
|
rendered.descendantFontSize = hasDescendants(node) ? secondary * PX_PER_PT5 : void 0;
|
|
36816
36887
|
}
|
|
36817
36888
|
}
|
|
@@ -37021,9 +37092,9 @@ function computeDiagramMlElements(smartArtData, nodes, containerBounds, palette)
|
|
|
37021
37092
|
}
|
|
37022
37093
|
const withDef = smartArtData;
|
|
37023
37094
|
const engineFirst = layoutDefinition.uniqueId !== void 0 && ENGINE_FIRST_LAYOUT_IDS.has(layoutDefinition.uniqueId);
|
|
37024
|
-
const
|
|
37095
|
+
const first2 = engineFirst ? tryEngine(smartArtData, nodes, containerBounds, palette) : tryLegacy(withDef, nodes, containerBounds, palette);
|
|
37025
37096
|
const second = () => engineFirst ? tryLegacy(withDef, nodes, containerBounds, palette) : tryEngine(smartArtData, nodes, containerBounds, palette);
|
|
37026
|
-
const interpreted =
|
|
37097
|
+
const interpreted = first2 ?? second();
|
|
37027
37098
|
if (!interpreted) {
|
|
37028
37099
|
return void 0;
|
|
37029
37100
|
}
|
|
@@ -37067,7 +37138,7 @@ function layoutProcess(nodes, bounds, themeColorMap) {
|
|
|
37067
37138
|
if (items.length === 0) {
|
|
37068
37139
|
return [];
|
|
37069
37140
|
}
|
|
37070
|
-
const
|
|
37141
|
+
const elements3 = [];
|
|
37071
37142
|
const arrowGap = 16;
|
|
37072
37143
|
const padding = 8;
|
|
37073
37144
|
const usableW = bounds.width - padding * 2;
|
|
@@ -37078,7 +37149,7 @@ function layoutProcess(nodes, bounds, themeColorMap) {
|
|
|
37078
37149
|
items.forEach((node, i2) => {
|
|
37079
37150
|
const fill = accentColor(i2, themeColorMap);
|
|
37080
37151
|
const x = bounds.x + padding + i2 * (nodeW + arrowGap);
|
|
37081
|
-
|
|
37152
|
+
elements3.push(
|
|
37082
37153
|
makeShapeElement(nextId("sa-proc"), x, yOffset, nodeW, nodeH, "roundRect", fill, node.text, {
|
|
37083
37154
|
cornerRadius: 16667,
|
|
37084
37155
|
fontSize: Math.max(8, Math.min(11, nodeW * 0.12))
|
|
@@ -37088,7 +37159,7 @@ function layoutProcess(nodes, bounds, themeColorMap) {
|
|
|
37088
37159
|
const arrowX1 = x + nodeW;
|
|
37089
37160
|
const arrowX2 = x + nodeW + arrowGap;
|
|
37090
37161
|
const arrowY = yOffset + nodeH / 2;
|
|
37091
|
-
|
|
37162
|
+
elements3.push(
|
|
37092
37163
|
makeConnectorElement(
|
|
37093
37164
|
nextId("sa-proc-arrow"),
|
|
37094
37165
|
arrowX1,
|
|
@@ -37100,14 +37171,14 @@ function layoutProcess(nodes, bounds, themeColorMap) {
|
|
|
37100
37171
|
);
|
|
37101
37172
|
}
|
|
37102
37173
|
});
|
|
37103
|
-
return
|
|
37174
|
+
return elements3;
|
|
37104
37175
|
}
|
|
37105
37176
|
function layoutCycle(nodes, bounds, themeColorMap) {
|
|
37106
37177
|
const items = getContentNodes(nodes);
|
|
37107
37178
|
if (items.length === 0) {
|
|
37108
37179
|
return [];
|
|
37109
37180
|
}
|
|
37110
|
-
const
|
|
37181
|
+
const elements3 = [];
|
|
37111
37182
|
const size = Math.min(bounds.width, bounds.height);
|
|
37112
37183
|
const cx = bounds.x + bounds.width / 2;
|
|
37113
37184
|
const cy = bounds.y + bounds.height / 2;
|
|
@@ -37119,7 +37190,7 @@ function layoutCycle(nodes, bounds, themeColorMap) {
|
|
|
37119
37190
|
const nx = cx + radius * Math.cos(angle) - nodeW / 2;
|
|
37120
37191
|
const ny = cy + radius * Math.sin(angle) - nodeH / 2;
|
|
37121
37192
|
const fill = accentColor(i2, themeColorMap);
|
|
37122
|
-
|
|
37193
|
+
elements3.push(
|
|
37123
37194
|
makeShapeElement(nextId("sa-cycle"), nx, ny, nodeW, nodeH, "ellipse", fill, node.text, {
|
|
37124
37195
|
fontSize: Math.max(7, Math.min(10, nodeW * 0.1))
|
|
37125
37196
|
})
|
|
@@ -37131,12 +37202,12 @@ function layoutCycle(nodes, bounds, themeColorMap) {
|
|
|
37131
37202
|
const ny2 = cy + radius * Math.sin(nextAngle);
|
|
37132
37203
|
const nx1 = cx + radius * Math.cos(angle);
|
|
37133
37204
|
const ny1 = cy + radius * Math.sin(angle);
|
|
37134
|
-
|
|
37205
|
+
elements3.push(
|
|
37135
37206
|
makeConnectorElement(nextId("sa-cycle-conn"), nx1, ny1, nx2, ny2, lighten(fill, 0.5))
|
|
37136
37207
|
);
|
|
37137
37208
|
}
|
|
37138
37209
|
});
|
|
37139
|
-
return
|
|
37210
|
+
return elements3;
|
|
37140
37211
|
}
|
|
37141
37212
|
function layoutMatrix(nodes, bounds, themeColorMap) {
|
|
37142
37213
|
const items = getContentNodes(nodes);
|
|
@@ -37199,7 +37270,7 @@ function layoutStepDownProcess(nodes, bounds, themeColorMap) {
|
|
|
37199
37270
|
if (items.length === 0) {
|
|
37200
37271
|
return [];
|
|
37201
37272
|
}
|
|
37202
|
-
const
|
|
37273
|
+
const elements3 = [];
|
|
37203
37274
|
const padding = 8;
|
|
37204
37275
|
const usableW = bounds.width - padding * 2;
|
|
37205
37276
|
const usableH = bounds.height - padding * 2;
|
|
@@ -37211,14 +37282,14 @@ function layoutStepDownProcess(nodes, bounds, themeColorMap) {
|
|
|
37211
37282
|
const fill = accentColor(i2, themeColorMap);
|
|
37212
37283
|
const x = bounds.x + padding + i2 * stepW;
|
|
37213
37284
|
const y = bounds.y + padding + i2 * stepH;
|
|
37214
|
-
|
|
37285
|
+
elements3.push(
|
|
37215
37286
|
makeShapeElement(nextId("sa-stepdown"), x, y, boxW, boxH, "roundRect", fill, node.text, {
|
|
37216
37287
|
cornerRadius: 16667,
|
|
37217
37288
|
fontSize: Math.max(7, Math.min(10, boxW * 0.1))
|
|
37218
37289
|
})
|
|
37219
37290
|
);
|
|
37220
37291
|
if (i2 < items.length - 1) {
|
|
37221
|
-
|
|
37292
|
+
elements3.push(
|
|
37222
37293
|
makeConnectorElement(
|
|
37223
37294
|
nextId("sa-stepdown-conn"),
|
|
37224
37295
|
x + boxW,
|
|
@@ -37230,14 +37301,14 @@ function layoutStepDownProcess(nodes, bounds, themeColorMap) {
|
|
|
37230
37301
|
);
|
|
37231
37302
|
}
|
|
37232
37303
|
});
|
|
37233
|
-
return
|
|
37304
|
+
return elements3;
|
|
37234
37305
|
}
|
|
37235
37306
|
function layoutAlternatingFlow(nodes, bounds, themeColorMap) {
|
|
37236
37307
|
const items = getContentNodes(nodes);
|
|
37237
37308
|
if (items.length === 0) {
|
|
37238
37309
|
return [];
|
|
37239
37310
|
}
|
|
37240
|
-
const
|
|
37311
|
+
const elements3 = [];
|
|
37241
37312
|
const padding = 8;
|
|
37242
37313
|
const usableH = bounds.height - padding * 2;
|
|
37243
37314
|
const rowH = usableH / items.length;
|
|
@@ -37250,7 +37321,7 @@ function layoutAlternatingFlow(nodes, bounds, themeColorMap) {
|
|
|
37250
37321
|
const y = bounds.y + padding + i2 * rowH + (rowH - boxH) / 2;
|
|
37251
37322
|
const isLeft = i2 % 2 === 0;
|
|
37252
37323
|
const x = isLeft ? centerX - boxW - 8 : centerX + 8;
|
|
37253
|
-
|
|
37324
|
+
elements3.push(
|
|
37254
37325
|
makeShapeElement(nextId("sa-altflow"), x, y, boxW, boxH, "roundRect", fill, node.text, {
|
|
37255
37326
|
cornerRadius: 16667,
|
|
37256
37327
|
fontSize: Math.max(7, Math.min(10, boxW * 0.1))
|
|
@@ -37259,7 +37330,7 @@ function layoutAlternatingFlow(nodes, bounds, themeColorMap) {
|
|
|
37259
37330
|
const connX1 = isLeft ? x + boxW : x;
|
|
37260
37331
|
const connX2 = centerX;
|
|
37261
37332
|
const connY = y + boxH / 2;
|
|
37262
|
-
|
|
37333
|
+
elements3.push(
|
|
37263
37334
|
makeConnectorElement(
|
|
37264
37335
|
nextId("sa-altflow-conn"),
|
|
37265
37336
|
connX1,
|
|
@@ -37270,14 +37341,14 @@ function layoutAlternatingFlow(nodes, bounds, themeColorMap) {
|
|
|
37270
37341
|
)
|
|
37271
37342
|
);
|
|
37272
37343
|
});
|
|
37273
|
-
return
|
|
37344
|
+
return elements3;
|
|
37274
37345
|
}
|
|
37275
37346
|
function layoutDescendingProcess(nodes, bounds, themeColorMap) {
|
|
37276
37347
|
const items = getContentNodes(nodes);
|
|
37277
37348
|
if (items.length === 0) {
|
|
37278
37349
|
return [];
|
|
37279
37350
|
}
|
|
37280
|
-
const
|
|
37351
|
+
const elements3 = [];
|
|
37281
37352
|
const padding = 8;
|
|
37282
37353
|
const gap = 4;
|
|
37283
37354
|
const usableH = bounds.height - padding * 2;
|
|
@@ -37289,14 +37360,14 @@ function layoutDescendingProcess(nodes, bounds, themeColorMap) {
|
|
|
37289
37360
|
const w = maxW * widthFraction;
|
|
37290
37361
|
const x = bounds.x + (bounds.width - w) / 2;
|
|
37291
37362
|
const y = bounds.y + padding + i2 * (itemH + gap);
|
|
37292
|
-
|
|
37363
|
+
elements3.push(
|
|
37293
37364
|
makeShapeElement(nextId("sa-descproc"), x, y, w, itemH, "roundRect", fill, node.text, {
|
|
37294
37365
|
cornerRadius: 16667,
|
|
37295
37366
|
fontSize: Math.max(7, Math.min(11, itemH * 0.4))
|
|
37296
37367
|
})
|
|
37297
37368
|
);
|
|
37298
37369
|
if (i2 < items.length - 1) {
|
|
37299
|
-
|
|
37370
|
+
elements3.push(
|
|
37300
37371
|
makeConnectorElement(
|
|
37301
37372
|
nextId("sa-descproc-conn"),
|
|
37302
37373
|
bounds.x + bounds.width / 2,
|
|
@@ -37308,14 +37379,14 @@ function layoutDescendingProcess(nodes, bounds, themeColorMap) {
|
|
|
37308
37379
|
);
|
|
37309
37380
|
}
|
|
37310
37381
|
});
|
|
37311
|
-
return
|
|
37382
|
+
return elements3;
|
|
37312
37383
|
}
|
|
37313
37384
|
function layoutPictureAccentList(nodes, bounds, themeColorMap) {
|
|
37314
37385
|
const items = getContentNodes(nodes);
|
|
37315
37386
|
if (items.length === 0) {
|
|
37316
37387
|
return [];
|
|
37317
37388
|
}
|
|
37318
|
-
const
|
|
37389
|
+
const elements3 = [];
|
|
37319
37390
|
const padding = 8;
|
|
37320
37391
|
const gap = 6;
|
|
37321
37392
|
const usableH = bounds.height - padding * 2;
|
|
@@ -37326,7 +37397,7 @@ function layoutPictureAccentList(nodes, bounds, themeColorMap) {
|
|
|
37326
37397
|
items.forEach((node, i2) => {
|
|
37327
37398
|
const fill = accentColor(i2, themeColorMap);
|
|
37328
37399
|
const y = bounds.y + padding + i2 * (itemH + gap);
|
|
37329
|
-
|
|
37400
|
+
elements3.push(
|
|
37330
37401
|
makeShapeElement(
|
|
37331
37402
|
nextId("sa-picaccent-circle"),
|
|
37332
37403
|
bounds.x + padding,
|
|
@@ -37339,7 +37410,7 @@ function layoutPictureAccentList(nodes, bounds, themeColorMap) {
|
|
|
37339
37410
|
{ fontSize: Math.max(7, circleR * 0.7), fontColor: "#FFFFFF" }
|
|
37340
37411
|
)
|
|
37341
37412
|
);
|
|
37342
|
-
|
|
37413
|
+
elements3.push(
|
|
37343
37414
|
makeShapeElement(
|
|
37344
37415
|
nextId("sa-picaccent-text"),
|
|
37345
37416
|
bounds.x + padding + circleR * 2 + 8,
|
|
@@ -37358,14 +37429,14 @@ function layoutPictureAccentList(nodes, bounds, themeColorMap) {
|
|
|
37358
37429
|
)
|
|
37359
37430
|
);
|
|
37360
37431
|
});
|
|
37361
|
-
return
|
|
37432
|
+
return elements3;
|
|
37362
37433
|
}
|
|
37363
37434
|
function layoutVerticalBlockList(nodes, bounds, themeColorMap) {
|
|
37364
37435
|
const items = getContentNodes(nodes);
|
|
37365
37436
|
if (items.length === 0) {
|
|
37366
37437
|
return [];
|
|
37367
37438
|
}
|
|
37368
|
-
const
|
|
37439
|
+
const elements3 = [];
|
|
37369
37440
|
const padding = 8;
|
|
37370
37441
|
const gap = 4;
|
|
37371
37442
|
const usableH = bounds.height - padding * 2;
|
|
@@ -37376,7 +37447,7 @@ function layoutVerticalBlockList(nodes, bounds, themeColorMap) {
|
|
|
37376
37447
|
items.forEach((node, i2) => {
|
|
37377
37448
|
const fill = accentColor(i2, themeColorMap);
|
|
37378
37449
|
const y = bounds.y + padding + i2 * (itemH + gap);
|
|
37379
|
-
|
|
37450
|
+
elements3.push(
|
|
37380
37451
|
makeShapeElement(
|
|
37381
37452
|
nextId("sa-vblk-header"),
|
|
37382
37453
|
bounds.x + padding,
|
|
@@ -37389,7 +37460,7 @@ function layoutVerticalBlockList(nodes, bounds, themeColorMap) {
|
|
|
37389
37460
|
{ fontSize: Math.max(8, itemH * 0.4), fontColor: "#FFFFFF" }
|
|
37390
37461
|
)
|
|
37391
37462
|
);
|
|
37392
|
-
|
|
37463
|
+
elements3.push(
|
|
37393
37464
|
makeShapeElement(
|
|
37394
37465
|
nextId("sa-vblk-body"),
|
|
37395
37466
|
bounds.x + padding + headerW + 4,
|
|
@@ -37408,14 +37479,14 @@ function layoutVerticalBlockList(nodes, bounds, themeColorMap) {
|
|
|
37408
37479
|
)
|
|
37409
37480
|
);
|
|
37410
37481
|
});
|
|
37411
|
-
return
|
|
37482
|
+
return elements3;
|
|
37412
37483
|
}
|
|
37413
37484
|
function layoutGroupedList(nodes, bounds, themeColorMap) {
|
|
37414
37485
|
const items = getContentNodes(nodes);
|
|
37415
37486
|
if (items.length === 0) {
|
|
37416
37487
|
return [];
|
|
37417
37488
|
}
|
|
37418
|
-
const
|
|
37489
|
+
const elements3 = [];
|
|
37419
37490
|
const padding = 8;
|
|
37420
37491
|
const gap = 8;
|
|
37421
37492
|
const groupSize = items.length <= 4 ? 2 : 3;
|
|
@@ -37432,7 +37503,7 @@ function layoutGroupedList(nodes, bounds, themeColorMap) {
|
|
|
37432
37503
|
const headerH = usableH * 0.2;
|
|
37433
37504
|
const subItemGap = 3;
|
|
37434
37505
|
const subItemH = (usableH - headerH - 4 - subItemGap * (group.length - 1)) / group.length;
|
|
37435
|
-
|
|
37506
|
+
elements3.push(
|
|
37436
37507
|
makeShapeElement(
|
|
37437
37508
|
nextId("sa-grp-header"),
|
|
37438
37509
|
gx,
|
|
@@ -37451,7 +37522,7 @@ function layoutGroupedList(nodes, bounds, themeColorMap) {
|
|
|
37451
37522
|
);
|
|
37452
37523
|
group.forEach((node, si) => {
|
|
37453
37524
|
const sy = bounds.y + padding + headerH + 4 + si * (subItemH + subItemGap);
|
|
37454
|
-
|
|
37525
|
+
elements3.push(
|
|
37455
37526
|
makeShapeElement(
|
|
37456
37527
|
nextId("sa-grp-item"),
|
|
37457
37528
|
gx + 4,
|
|
@@ -37470,14 +37541,14 @@ function layoutGroupedList(nodes, bounds, themeColorMap) {
|
|
|
37470
37541
|
);
|
|
37471
37542
|
});
|
|
37472
37543
|
});
|
|
37473
|
-
return
|
|
37544
|
+
return elements3;
|
|
37474
37545
|
}
|
|
37475
37546
|
function layoutPyramidList(nodes, bounds, themeColorMap) {
|
|
37476
37547
|
const items = getContentNodes(nodes);
|
|
37477
37548
|
if (items.length === 0) {
|
|
37478
37549
|
return [];
|
|
37479
37550
|
}
|
|
37480
|
-
const
|
|
37551
|
+
const elements3 = [];
|
|
37481
37552
|
const padding = 8;
|
|
37482
37553
|
const gap = 4;
|
|
37483
37554
|
const usableH = bounds.height - padding * 2;
|
|
@@ -37490,10 +37561,10 @@ function layoutPyramidList(nodes, bounds, themeColorMap) {
|
|
|
37490
37561
|
const topFrac = 0.3 + i2 / Math.max(items.length - 1, 1) * 0.7;
|
|
37491
37562
|
const w = pyramidW * topFrac;
|
|
37492
37563
|
const segX = bounds.x + padding + (pyramidW - w) / 2;
|
|
37493
|
-
|
|
37564
|
+
elements3.push(
|
|
37494
37565
|
makeShapeElement(nextId("sa-pyrlist-seg"), segX, y, w, bandH, "rect", fill, "", {})
|
|
37495
37566
|
);
|
|
37496
|
-
|
|
37567
|
+
elements3.push(
|
|
37497
37568
|
makeConnectorElement(
|
|
37498
37569
|
nextId("sa-pyrlist-conn"),
|
|
37499
37570
|
segX + w,
|
|
@@ -37503,7 +37574,7 @@ function layoutPyramidList(nodes, bounds, themeColorMap) {
|
|
|
37503
37574
|
lighten(fill, 0.3)
|
|
37504
37575
|
)
|
|
37505
37576
|
);
|
|
37506
|
-
|
|
37577
|
+
elements3.push(
|
|
37507
37578
|
makeShapeElement(
|
|
37508
37579
|
nextId("sa-pyrlist-label"),
|
|
37509
37580
|
bounds.x + padding + pyramidW + 12,
|
|
@@ -37522,14 +37593,14 @@ function layoutPyramidList(nodes, bounds, themeColorMap) {
|
|
|
37522
37593
|
)
|
|
37523
37594
|
);
|
|
37524
37595
|
});
|
|
37525
|
-
return
|
|
37596
|
+
return elements3;
|
|
37526
37597
|
}
|
|
37527
37598
|
function layoutHorizontalPictureList(nodes, bounds, themeColorMap) {
|
|
37528
37599
|
const items = getContentNodes(nodes);
|
|
37529
37600
|
if (items.length === 0) {
|
|
37530
37601
|
return [];
|
|
37531
37602
|
}
|
|
37532
|
-
const
|
|
37603
|
+
const elements3 = [];
|
|
37533
37604
|
const padding = 8;
|
|
37534
37605
|
const gap = 8;
|
|
37535
37606
|
const usableW = bounds.width - padding * 2;
|
|
@@ -37541,7 +37612,7 @@ function layoutHorizontalPictureList(nodes, bounds, themeColorMap) {
|
|
|
37541
37612
|
const fill = accentColor(i2, themeColorMap);
|
|
37542
37613
|
const cx = bounds.x + padding + i2 * (colW + gap) + colW / 2;
|
|
37543
37614
|
const cy = bounds.y + padding + circleR;
|
|
37544
|
-
|
|
37615
|
+
elements3.push(
|
|
37545
37616
|
makeShapeElement(
|
|
37546
37617
|
nextId("sa-hpic-circle"),
|
|
37547
37618
|
cx - circleR,
|
|
@@ -37554,7 +37625,7 @@ function layoutHorizontalPictureList(nodes, bounds, themeColorMap) {
|
|
|
37554
37625
|
{ fontSize: Math.max(8, circleR * 0.5) }
|
|
37555
37626
|
)
|
|
37556
37627
|
);
|
|
37557
|
-
|
|
37628
|
+
elements3.push(
|
|
37558
37629
|
makeShapeElement(
|
|
37559
37630
|
nextId("sa-hpic-label"),
|
|
37560
37631
|
bounds.x + padding + i2 * (colW + gap),
|
|
@@ -37572,14 +37643,14 @@ function layoutHorizontalPictureList(nodes, bounds, themeColorMap) {
|
|
|
37572
37643
|
)
|
|
37573
37644
|
);
|
|
37574
37645
|
});
|
|
37575
|
-
return
|
|
37646
|
+
return elements3;
|
|
37576
37647
|
}
|
|
37577
37648
|
function layoutAccentProcess(nodes, bounds, themeColorMap) {
|
|
37578
37649
|
const items = getContentNodes(nodes);
|
|
37579
37650
|
if (items.length === 0) {
|
|
37580
37651
|
return [];
|
|
37581
37652
|
}
|
|
37582
|
-
const
|
|
37653
|
+
const elements3 = [];
|
|
37583
37654
|
const padding = 8;
|
|
37584
37655
|
const arrowGap = 16;
|
|
37585
37656
|
const usableW = bounds.width - padding * 2;
|
|
@@ -37593,7 +37664,7 @@ function layoutAccentProcess(nodes, bounds, themeColorMap) {
|
|
|
37593
37664
|
const x = bounds.x + padding + i2 * (nodeW + arrowGap);
|
|
37594
37665
|
const cx = x + nodeW / 2;
|
|
37595
37666
|
const cy = yOffset + nodeH / 2;
|
|
37596
|
-
|
|
37667
|
+
elements3.push(
|
|
37597
37668
|
makeShapeElement(
|
|
37598
37669
|
nextId("sa-accproc-circle"),
|
|
37599
37670
|
cx - circleR,
|
|
@@ -37606,7 +37677,7 @@ function layoutAccentProcess(nodes, bounds, themeColorMap) {
|
|
|
37606
37677
|
{}
|
|
37607
37678
|
)
|
|
37608
37679
|
);
|
|
37609
|
-
|
|
37680
|
+
elements3.push(
|
|
37610
37681
|
makeShapeElement(
|
|
37611
37682
|
nextId("sa-accproc-box"),
|
|
37612
37683
|
x,
|
|
@@ -37626,7 +37697,7 @@ function layoutAccentProcess(nodes, bounds, themeColorMap) {
|
|
|
37626
37697
|
const arrowX1 = x + nodeW;
|
|
37627
37698
|
const arrowX2 = x + nodeW + arrowGap;
|
|
37628
37699
|
const arrowY = yOffset + nodeH / 2;
|
|
37629
|
-
|
|
37700
|
+
elements3.push(
|
|
37630
37701
|
makeConnectorElement(
|
|
37631
37702
|
nextId("sa-accproc-arrow"),
|
|
37632
37703
|
arrowX1,
|
|
@@ -37638,14 +37709,14 @@ function layoutAccentProcess(nodes, bounds, themeColorMap) {
|
|
|
37638
37709
|
);
|
|
37639
37710
|
}
|
|
37640
37711
|
});
|
|
37641
|
-
return
|
|
37712
|
+
return elements3;
|
|
37642
37713
|
}
|
|
37643
37714
|
function layoutVerticalChevronList(nodes, bounds, themeColorMap) {
|
|
37644
37715
|
const items = getContentNodes(nodes);
|
|
37645
37716
|
if (items.length === 0) {
|
|
37646
37717
|
return [];
|
|
37647
37718
|
}
|
|
37648
|
-
const
|
|
37719
|
+
const elements3 = [];
|
|
37649
37720
|
const padding = 8;
|
|
37650
37721
|
const usableW = bounds.width - padding * 2;
|
|
37651
37722
|
const usableH = bounds.height - padding * 2;
|
|
@@ -37655,14 +37726,14 @@ function layoutVerticalChevronList(nodes, bounds, themeColorMap) {
|
|
|
37655
37726
|
const fill = accentColor(i2, themeColorMap);
|
|
37656
37727
|
const x = bounds.x + padding;
|
|
37657
37728
|
const y = bounds.y + padding + i2 * (itemH + gap);
|
|
37658
|
-
|
|
37729
|
+
elements3.push(
|
|
37659
37730
|
makeShapeElement(nextId("sa-vchev"), x, y, usableW, itemH, "roundRect", fill, node.text, {
|
|
37660
37731
|
cornerRadius: 8e3,
|
|
37661
37732
|
fontSize: Math.max(7, Math.min(11, itemH * 0.4))
|
|
37662
37733
|
})
|
|
37663
37734
|
);
|
|
37664
37735
|
if (i2 < items.length - 1) {
|
|
37665
|
-
|
|
37736
|
+
elements3.push(
|
|
37666
37737
|
makeConnectorElement(
|
|
37667
37738
|
nextId("sa-vchev-conn"),
|
|
37668
37739
|
x + usableW / 2,
|
|
@@ -37674,7 +37745,7 @@ function layoutVerticalChevronList(nodes, bounds, themeColorMap) {
|
|
|
37674
37745
|
);
|
|
37675
37746
|
}
|
|
37676
37747
|
});
|
|
37677
|
-
return
|
|
37748
|
+
return elements3;
|
|
37678
37749
|
}
|
|
37679
37750
|
|
|
37680
37751
|
// pptx/core/utils/smartart-layouts-tree.ts
|
|
@@ -37692,7 +37763,7 @@ function layoutHierarchy(nodes, bounds, themeColorMap) {
|
|
|
37692
37763
|
const cellH = usableH / Math.max(depth, 1);
|
|
37693
37764
|
const boxW = Math.min(cellW * 0.8, 140);
|
|
37694
37765
|
const boxH = Math.min(cellH * 0.35, 28);
|
|
37695
|
-
const
|
|
37766
|
+
const elements3 = [];
|
|
37696
37767
|
let colourIdx = 0;
|
|
37697
37768
|
function walk3(t, xOffset, level2) {
|
|
37698
37769
|
const w = treeWidth(t);
|
|
@@ -37700,7 +37771,7 @@ function layoutHierarchy(nodes, bounds, themeColorMap) {
|
|
|
37700
37771
|
const cy = bounds.y + padding + level2 * cellH + cellH / 2;
|
|
37701
37772
|
const ci = colourIdx++;
|
|
37702
37773
|
const fill = accentColor(ci, themeColorMap);
|
|
37703
|
-
|
|
37774
|
+
elements3.push(
|
|
37704
37775
|
makeShapeElement(
|
|
37705
37776
|
nextId("sa-hier"),
|
|
37706
37777
|
cx - boxW / 2,
|
|
@@ -37721,7 +37792,7 @@ function layoutHierarchy(nodes, bounds, themeColorMap) {
|
|
|
37721
37792
|
const childW = treeWidth(child13);
|
|
37722
37793
|
const childCx = bounds.x + padding + (childOffset + childW / 2) * cellW;
|
|
37723
37794
|
const childCy = bounds.y + padding + (level2 + 1) * cellH + cellH / 2;
|
|
37724
|
-
|
|
37795
|
+
elements3.push(
|
|
37725
37796
|
makeConnectorElement(
|
|
37726
37797
|
nextId("sa-hier-conn"),
|
|
37727
37798
|
cx,
|
|
@@ -37740,14 +37811,14 @@ function layoutHierarchy(nodes, bounds, themeColorMap) {
|
|
|
37740
37811
|
for (const root of roots) {
|
|
37741
37812
|
offset += walk3(root, offset, 0);
|
|
37742
37813
|
}
|
|
37743
|
-
return
|
|
37814
|
+
return elements3;
|
|
37744
37815
|
}
|
|
37745
37816
|
function layoutRelationship(nodes, bounds, themeColorMap) {
|
|
37746
37817
|
const items = getContentNodes(nodes);
|
|
37747
37818
|
if (items.length === 0) {
|
|
37748
37819
|
return [];
|
|
37749
37820
|
}
|
|
37750
|
-
const
|
|
37821
|
+
const elements3 = [];
|
|
37751
37822
|
const cx = bounds.x + bounds.width / 2;
|
|
37752
37823
|
const cy = bounds.y + bounds.height / 2;
|
|
37753
37824
|
const size = Math.min(bounds.width, bounds.height);
|
|
@@ -37759,7 +37830,7 @@ function layoutRelationship(nodes, bounds, themeColorMap) {
|
|
|
37759
37830
|
const nx = cx + spread * Math.cos(angle) - r;
|
|
37760
37831
|
const ny = cy + spread * Math.sin(angle) - r;
|
|
37761
37832
|
const fill = accentColor(i2, themeColorMap);
|
|
37762
|
-
|
|
37833
|
+
elements3.push(
|
|
37763
37834
|
makeShapeElement(nextId("sa-venn"), nx, ny, r * 2, r * 2, "ellipse", fill, node.text, {
|
|
37764
37835
|
fontSize: Math.max(7, Math.min(10, r / 5))
|
|
37765
37836
|
})
|
|
@@ -37771,7 +37842,7 @@ function layoutRelationship(nodes, bounds, themeColorMap) {
|
|
|
37771
37842
|
const startX = cx - totalW / 2 + r;
|
|
37772
37843
|
items.forEach((node, i2) => {
|
|
37773
37844
|
const fill = accentColor(i2, themeColorMap);
|
|
37774
|
-
|
|
37845
|
+
elements3.push(
|
|
37775
37846
|
makeShapeElement(
|
|
37776
37847
|
nextId("sa-venn"),
|
|
37777
37848
|
startX + i2 * r * 2 - r,
|
|
@@ -37786,7 +37857,7 @@ function layoutRelationship(nodes, bounds, themeColorMap) {
|
|
|
37786
37857
|
);
|
|
37787
37858
|
});
|
|
37788
37859
|
}
|
|
37789
|
-
return
|
|
37860
|
+
return elements3;
|
|
37790
37861
|
}
|
|
37791
37862
|
|
|
37792
37863
|
// pptx/core/utils/smartart-decompose-dispatch.ts
|
|
@@ -37950,13 +38021,13 @@ function dispatchLayoutByType(layoutType, nodes, containerBounds, effectiveTheme
|
|
|
37950
38021
|
function styledContentNodes(nodes) {
|
|
37951
38022
|
return getContentNodes(nodes);
|
|
37952
38023
|
}
|
|
37953
|
-
function applyNodeStylesToElements(
|
|
38024
|
+
function applyNodeStylesToElements(elements3, nodes, bulletEnabled = false) {
|
|
37954
38025
|
const contentNodes = styledContentNodes(nodes);
|
|
37955
38026
|
if (contentNodes.length === 0) {
|
|
37956
|
-
return
|
|
38027
|
+
return elements3;
|
|
37957
38028
|
}
|
|
37958
38029
|
let shapeIndex = 0;
|
|
37959
|
-
return
|
|
38030
|
+
return elements3.map((element) => {
|
|
37960
38031
|
if (element.type !== "shape") {
|
|
37961
38032
|
return element;
|
|
37962
38033
|
}
|
|
@@ -38464,8 +38535,11 @@ async function verifySignatureDigests(signature, getPartContent) {
|
|
|
38464
38535
|
if (typeof globalThis.crypto?.subtle === "undefined") {
|
|
38465
38536
|
return "unverified";
|
|
38466
38537
|
}
|
|
38538
|
+
let checked = 0;
|
|
38539
|
+
let skipped = false;
|
|
38467
38540
|
for (const ref of signature.references) {
|
|
38468
38541
|
if (!ref.digestValue || !ref.uri) {
|
|
38542
|
+
skipped = true;
|
|
38469
38543
|
continue;
|
|
38470
38544
|
}
|
|
38471
38545
|
const algo = ref.digestMethod?.toLowerCase() || "";
|
|
@@ -38477,23 +38551,24 @@ async function verifySignatureDigests(signature, getPartContent) {
|
|
|
38477
38551
|
} else if (algo.includes("sha1") || algo.includes("sha-1")) {
|
|
38478
38552
|
hashAlgo = "SHA-1";
|
|
38479
38553
|
} else {
|
|
38554
|
+
skipped = true;
|
|
38480
38555
|
continue;
|
|
38481
38556
|
}
|
|
38482
38557
|
const content = await getPartContent(ref.uri);
|
|
38483
38558
|
if (!content) {
|
|
38484
|
-
|
|
38559
|
+
return "invalid";
|
|
38485
38560
|
}
|
|
38486
38561
|
try {
|
|
38487
38562
|
const digest = await crypto.subtle.digest(hashAlgo, content);
|
|
38488
|
-
|
|
38489
|
-
if (digestBase64 !== ref.digestValue) {
|
|
38563
|
+
if (arrayBufferToBase64(digest) !== ref.digestValue) {
|
|
38490
38564
|
return "invalid";
|
|
38491
38565
|
}
|
|
38566
|
+
checked++;
|
|
38492
38567
|
} catch {
|
|
38493
38568
|
return "unverified";
|
|
38494
38569
|
}
|
|
38495
38570
|
}
|
|
38496
|
-
return
|
|
38571
|
+
return checked > 0 && !skipped ? "digestsMatch" : "unverified";
|
|
38497
38572
|
}
|
|
38498
38573
|
function arrayBufferToBase64(buffer) {
|
|
38499
38574
|
const bytes = new Uint8Array(buffer);
|
|
@@ -38585,6 +38660,135 @@ function parseRelationshipIdAttributes(get) {
|
|
|
38585
38660
|
return result;
|
|
38586
38661
|
}
|
|
38587
38662
|
|
|
38663
|
+
// xml/namespaces.ts
|
|
38664
|
+
var NS = {
|
|
38665
|
+
/** WordprocessingML main. */
|
|
38666
|
+
w: "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
|
|
38667
|
+
/** PresentationML main. */
|
|
38668
|
+
p: "http://schemas.openxmlformats.org/presentationml/2006/main",
|
|
38669
|
+
/** SpreadsheetML main. */
|
|
38670
|
+
x: "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
|
|
38671
|
+
/** DrawingML main. */
|
|
38672
|
+
a: "http://schemas.openxmlformats.org/drawingml/2006/main",
|
|
38673
|
+
/** DrawingML chart. */
|
|
38674
|
+
c: "http://schemas.openxmlformats.org/drawingml/2006/chart",
|
|
38675
|
+
/** Office 2016 extended charts (waterfall, histogram, funnel...; `cx:chartSpace`). */
|
|
38676
|
+
cx: "http://schemas.microsoft.com/office/drawing/2014/chartex",
|
|
38677
|
+
/** Office 2010 chart extensions, including built-in modern chart styles. */
|
|
38678
|
+
c14: "http://schemas.microsoft.com/office/drawing/2007/8/2/chart",
|
|
38679
|
+
/** DrawingML diagram (SmartArt) main. */
|
|
38680
|
+
dgm: "http://schemas.openxmlformats.org/drawingml/2006/diagram",
|
|
38681
|
+
/** Office 2007+ diagram drawing (`dsp`). */
|
|
38682
|
+
dsp: "http://schemas.microsoft.com/office/drawing/2008/diagram",
|
|
38683
|
+
/** DrawingML Word drawing (`wp:inline`, `wp:anchor`). */
|
|
38684
|
+
wp: "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",
|
|
38685
|
+
/** DrawingML picture. */
|
|
38686
|
+
pic: "http://schemas.openxmlformats.org/drawingml/2006/picture",
|
|
38687
|
+
/** Word 2010 shapes (`wps`). */
|
|
38688
|
+
wps: "http://schemas.microsoft.com/office/word/2010/wordprocessingShape",
|
|
38689
|
+
/** Relationships (`r:id`, `r:embed`). */
|
|
38690
|
+
r: "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
|
|
38691
|
+
/** Markup compatibility (`mc:AlternateContent`). */
|
|
38692
|
+
mc: "http://schemas.openxmlformats.org/markup-compatibility/2006",
|
|
38693
|
+
/** OPC relationships part. */
|
|
38694
|
+
rels: "http://schemas.openxmlformats.org/package/2006/relationships",
|
|
38695
|
+
/** OPC content types part. */
|
|
38696
|
+
contentTypes: "http://schemas.openxmlformats.org/package/2006/content-types",
|
|
38697
|
+
/** Office Math. */
|
|
38698
|
+
m: "http://schemas.openxmlformats.org/officeDocument/2006/math",
|
|
38699
|
+
/** Core properties. */
|
|
38700
|
+
cp: "http://schemas.openxmlformats.org/package/2006/metadata/core-properties",
|
|
38701
|
+
/** Dublin Core elements. */
|
|
38702
|
+
dc: "http://purl.org/dc/elements/1.1/",
|
|
38703
|
+
/** Legacy VML. */
|
|
38704
|
+
v: "urn:schemas-microsoft-com:vml",
|
|
38705
|
+
/** Office VML extensions. */
|
|
38706
|
+
o: "urn:schemas-microsoft-com:office:office",
|
|
38707
|
+
/** Word VML extensions. */
|
|
38708
|
+
w10: "urn:schemas-microsoft-com:office:word",
|
|
38709
|
+
/** SpreadsheetML drawing (`xdr:wsDr`, cell anchors). */
|
|
38710
|
+
xdr: "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing",
|
|
38711
|
+
/** SpreadsheetML 2009 extensions (`x14:conditionalFormatting`, `x14:dataBar`). */
|
|
38712
|
+
x14: "http://schemas.microsoft.com/office/spreadsheetml/2009/9/main",
|
|
38713
|
+
/** SpreadsheetML 2009 attribute extensions (`x14ac:dyDescent`). */
|
|
38714
|
+
x14ac: "http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac",
|
|
38715
|
+
/** SpreadsheetML revision ids (`xr:uid`). */
|
|
38716
|
+
xr: "http://schemas.microsoft.com/office/spreadsheetml/2014/revision",
|
|
38717
|
+
/** Excel threaded comments and persons. */
|
|
38718
|
+
tc: "http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments",
|
|
38719
|
+
/** Legacy VML Excel client data (`x:ClientData`). */
|
|
38720
|
+
xv: "urn:schemas-microsoft-com:office:excel",
|
|
38721
|
+
/** Extended (app) properties. */
|
|
38722
|
+
extendedProperties: "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",
|
|
38723
|
+
/** Dublin Core terms (`dcterms:created`). */
|
|
38724
|
+
dcterms: "http://purl.org/dc/terms/",
|
|
38725
|
+
/** Custom document properties (`docProps/custom.xml`). */
|
|
38726
|
+
customProperties: "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",
|
|
38727
|
+
/** Document property variant types (`vt:lpwstr`, `vt:vector`). */
|
|
38728
|
+
vt: "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",
|
|
38729
|
+
/** XML itself (`xml:space`). */
|
|
38730
|
+
xml: "http://www.w3.org/XML/1998/namespace"
|
|
38731
|
+
};
|
|
38732
|
+
var DEFAULT_XML_LIMITS = {
|
|
38733
|
+
maxDepth: 512,
|
|
38734
|
+
maxNodes: 5e6
|
|
38735
|
+
};
|
|
38736
|
+
var MARKUP_RE = /<!--[\s\S]*?-->|<!\[CDATA\[[\s\S]*?\]\]>|<\?[\s\S]*?\?>|<(\/?)([^\s\/>]+)(?:\s+[^\s=\/>]+\s*=\s*(?:"[^"]*"|'[^']*'))*\s*(\/?)>/g;
|
|
38737
|
+
function checkXmlLimits(xml, label, limits = {}) {
|
|
38738
|
+
const maxDepth2 = limits.maxDepth ?? DEFAULT_XML_LIMITS.maxDepth;
|
|
38739
|
+
const maxNodes = limits.maxNodes ?? DEFAULT_XML_LIMITS.maxNodes;
|
|
38740
|
+
let depth = 0;
|
|
38741
|
+
let nodes = 0;
|
|
38742
|
+
for (const match of xml.matchAll(MARKUP_RE)) {
|
|
38743
|
+
const [, closing, name, selfClosing] = match;
|
|
38744
|
+
if (name === void 0) continue;
|
|
38745
|
+
if (closing) {
|
|
38746
|
+
depth--;
|
|
38747
|
+
continue;
|
|
38748
|
+
}
|
|
38749
|
+
nodes++;
|
|
38750
|
+
if (nodes > maxNodes) throw new Error(`${label} XML exceeds the limit of ${maxNodes} elements`);
|
|
38751
|
+
if (!selfClosing && ++depth > maxDepth2)
|
|
38752
|
+
throw new Error(`${label} XML exceeds the nesting depth limit of ${maxDepth2}`);
|
|
38753
|
+
}
|
|
38754
|
+
}
|
|
38755
|
+
function parseXml(xml, options = {}) {
|
|
38756
|
+
const label = options.label ?? "OOXML";
|
|
38757
|
+
if (/<!DOCTYPE|<!ENTITY/i.test(xml))
|
|
38758
|
+
throw new Error(`${label} XML with DTD or entity declarations is not supported`);
|
|
38759
|
+
checkXmlLimits(xml, label, options.limits);
|
|
38760
|
+
let parseError = "";
|
|
38761
|
+
let parsed;
|
|
38762
|
+
try {
|
|
38763
|
+
parsed = new DOMParser({
|
|
38764
|
+
onError: (level2, message) => {
|
|
38765
|
+
if (level2 !== "warning") parseError = message;
|
|
38766
|
+
}
|
|
38767
|
+
}).parseFromString(xml, "application/xml");
|
|
38768
|
+
} catch (error) {
|
|
38769
|
+
throw new Error(
|
|
38770
|
+
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`,
|
|
38771
|
+
{ cause: error }
|
|
38772
|
+
);
|
|
38773
|
+
}
|
|
38774
|
+
if (parseError || !parsed.documentElement)
|
|
38775
|
+
throw new Error(`Invalid ${label} XML: ${parseError || "missing root element"}`);
|
|
38776
|
+
return parsed;
|
|
38777
|
+
}
|
|
38778
|
+
var buildXml = (node) => new XMLSerializer().serializeToString(node);
|
|
38779
|
+
var isElement = (node) => node.nodeType === 1;
|
|
38780
|
+
var elements = (parent) => Array.from(parent.childNodes).filter(isElement);
|
|
38781
|
+
function named(element, local, ns, lenient = true) {
|
|
38782
|
+
if (!element || element.localName !== local) return false;
|
|
38783
|
+
return element.namespaceURI === ns || lenient && !element.namespaceURI;
|
|
38784
|
+
}
|
|
38785
|
+
var children2 = (parent, local, ns, lenient = true) => elements(parent).filter((element) => named(element, local, ns, lenient));
|
|
38786
|
+
var first = (parent, local, ns, lenient = true) => parent ? children2(parent, local, ns, lenient)[0] : void 0;
|
|
38787
|
+
function attr(element, local, ns, prefix) {
|
|
38788
|
+
return element?.getAttributeNS(ns, local) ?? element?.getAttribute(`${prefix}:${local}`) ?? void 0;
|
|
38789
|
+
}
|
|
38790
|
+
var relAttr = (element, local) => attr(element, local, NS.r, "r");
|
|
38791
|
+
|
|
38588
38792
|
// pptx/core/utils/diagram-relationship-ids.ts
|
|
38589
38793
|
var RELATIONSHIP_ATTRIBUTES2 = [
|
|
38590
38794
|
["dataRelId", "dm"],
|
|
@@ -38861,8 +39065,8 @@ function hasBevelGeometry(styleLbl, localName15) {
|
|
|
38861
39065
|
return Object.keys(sp3d).some((key) => !key.startsWith("@_"));
|
|
38862
39066
|
}
|
|
38863
39067
|
function primaryNodeStyleLbl(styleLbls) {
|
|
38864
|
-
const
|
|
38865
|
-
return
|
|
39068
|
+
const named2 = (name) => styleLbls.find((lbl) => String(lbl["@_name"] ?? "") === name);
|
|
39069
|
+
return named2("node1") ?? styleLbls.find((lbl) => /^node\d+$/u.test(String(lbl["@_name"] ?? "")));
|
|
38866
39070
|
}
|
|
38867
39071
|
function resolveSmartArtEffectIntensity(styleLbls, localName15) {
|
|
38868
39072
|
const primary = primaryNodeStyleLbl(styleLbls);
|
|
@@ -40333,6 +40537,14 @@ async function hmac(algorithm, key, data) {
|
|
|
40333
40537
|
return new Uint8Array(result);
|
|
40334
40538
|
}
|
|
40335
40539
|
|
|
40540
|
+
// digest/timing-safe.ts
|
|
40541
|
+
function timingSafeEqual(a, b) {
|
|
40542
|
+
if (a.length !== b.length) return false;
|
|
40543
|
+
let difference = 0;
|
|
40544
|
+
for (let i2 = 0; i2 < a.length; i2++) difference |= a[i2] ^ b[i2];
|
|
40545
|
+
return difference === 0;
|
|
40546
|
+
}
|
|
40547
|
+
|
|
40336
40548
|
// crypto/aes-ecb.ts
|
|
40337
40549
|
var BLOCK = 16;
|
|
40338
40550
|
var BATCH = 4096;
|
|
@@ -42088,6 +42300,32 @@ function digestFunction(name) {
|
|
|
42088
42300
|
return canonical && DIGESTS[canonical];
|
|
42089
42301
|
}
|
|
42090
42302
|
|
|
42303
|
+
// digest/password-hash.ts
|
|
42304
|
+
var MAX_SPIN_COUNT = 1e7;
|
|
42305
|
+
var DEFAULT_MAX_SPIN_COUNT = 1e6;
|
|
42306
|
+
function isValidSpinCount(spinCount, maxSpinCount = DEFAULT_MAX_SPIN_COUNT) {
|
|
42307
|
+
const limit = Math.min(maxSpinCount, MAX_SPIN_COUNT);
|
|
42308
|
+
return spinCount === void 0 || Number.isInteger(spinCount) && spinCount >= 0 && spinCount <= limit;
|
|
42309
|
+
}
|
|
42310
|
+
function spinPasswordHash(password, salt, spinCount, digest) {
|
|
42311
|
+
const input = new Uint8Array(salt.length + password.length * 2);
|
|
42312
|
+
input.set(salt);
|
|
42313
|
+
for (let i2 = 0; i2 < password.length; i2++) {
|
|
42314
|
+
const code = password.charCodeAt(i2);
|
|
42315
|
+
input[salt.length + i2 * 2] = code & 255;
|
|
42316
|
+
input[salt.length + i2 * 2 + 1] = code >> 8;
|
|
42317
|
+
}
|
|
42318
|
+
let value = digest(input);
|
|
42319
|
+
const buffer = new Uint8Array(value.length + 4);
|
|
42320
|
+
const view = new DataView(buffer.buffer);
|
|
42321
|
+
for (let i2 = 0; i2 < spinCount; i2++) {
|
|
42322
|
+
buffer.set(value);
|
|
42323
|
+
view.setUint32(value.length, i2, true);
|
|
42324
|
+
value = digest(buffer);
|
|
42325
|
+
}
|
|
42326
|
+
return value;
|
|
42327
|
+
}
|
|
42328
|
+
|
|
42091
42329
|
// crypto/key-derivation.ts
|
|
42092
42330
|
var BLOCK_KEYS = {
|
|
42093
42331
|
verifierHashInput: new Uint8Array([254, 167, 210, 118, 59, 75, 158, 121]),
|
|
@@ -42096,9 +42334,9 @@ var BLOCK_KEYS = {
|
|
|
42096
42334
|
dataIntegrityHmacKey: new Uint8Array([95, 178, 173, 1, 12, 185, 225, 246]),
|
|
42097
42335
|
dataIntegrityHmacValue: new Uint8Array([160, 103, 127, 2, 178, 44, 132, 51])
|
|
42098
42336
|
};
|
|
42099
|
-
var
|
|
42100
|
-
async function spinPassword(password, salt, spinCount, hashAlgorithm) {
|
|
42101
|
-
if (!
|
|
42337
|
+
var SPIN_CHUNK = 1e5;
|
|
42338
|
+
async function spinPassword(password, salt, spinCount, hashAlgorithm, limits = {}) {
|
|
42339
|
+
if (!isValidSpinCount(spinCount, limits.maxSpinCount)) {
|
|
42102
42340
|
throw new Error(`Unsupported encryption spin count: ${spinCount}.`);
|
|
42103
42341
|
}
|
|
42104
42342
|
const passwordBytes = encodePasswordUtf16LE(password);
|
|
@@ -42111,6 +42349,9 @@ async function spinPassword(password, salt, spinCount, hashAlgorithm) {
|
|
|
42111
42349
|
view.setUint32(0, i2, true);
|
|
42112
42350
|
buffer.set(h3, 4);
|
|
42113
42351
|
h3 = digest(buffer);
|
|
42352
|
+
if (i2 % SPIN_CHUNK === SPIN_CHUNK - 1 && i2 + 1 < spinCount) {
|
|
42353
|
+
await new Promise((resolve) => setTimeout(resolve, 0));
|
|
42354
|
+
}
|
|
42114
42355
|
}
|
|
42115
42356
|
return h3;
|
|
42116
42357
|
}
|
|
@@ -42129,8 +42370,8 @@ async function extendKey(h2, hashAlgorithm, keyLength) {
|
|
|
42129
42370
|
const x3 = concatArrays(await pad2(54), await pad2(92));
|
|
42130
42371
|
return x3.subarray(0, keyLength);
|
|
42131
42372
|
}
|
|
42132
|
-
function computeAgileKeyBase(password, salt, spinCount, hashAlgorithm) {
|
|
42133
|
-
return spinPassword(password, salt, spinCount, hashAlgorithm);
|
|
42373
|
+
function computeAgileKeyBase(password, salt, spinCount, hashAlgorithm, limits = {}) {
|
|
42374
|
+
return spinPassword(password, salt, spinCount, hashAlgorithm, limits);
|
|
42134
42375
|
}
|
|
42135
42376
|
async function deriveAgileKeyFromBase(base, hashAlgorithm, blockKey, keyBits, hashSize) {
|
|
42136
42377
|
const h2 = await hash(hashAlgorithm, concatArrays(base, blockKey));
|
|
@@ -42157,10 +42398,82 @@ async function generateIV(hashAlgorithm, salt, blockKey, blockSize) {
|
|
|
42157
42398
|
return padded;
|
|
42158
42399
|
}
|
|
42159
42400
|
|
|
42401
|
+
// crypto/validate.ts
|
|
42402
|
+
var AGILE_DIGEST_LENGTH = {
|
|
42403
|
+
"SHA-1": 20,
|
|
42404
|
+
"SHA-256": 32,
|
|
42405
|
+
"SHA-384": 48,
|
|
42406
|
+
"SHA-512": 64
|
|
42407
|
+
};
|
|
42408
|
+
function agileDigestLength(hashAlgorithm) {
|
|
42409
|
+
const name = normalizeDigestAlgorithmName(hashAlgorithm);
|
|
42410
|
+
return name === void 0 ? void 0 : AGILE_DIGEST_LENGTH[name];
|
|
42411
|
+
}
|
|
42412
|
+
var KEY_BITS = /* @__PURE__ */ new Set([128, 192, 256]);
|
|
42413
|
+
function assertBlock(block, what) {
|
|
42414
|
+
if (block.cipherAlgorithm !== "AES") {
|
|
42415
|
+
throw new Error(`Unsupported ${what} cipherAlgorithm: ${block.cipherAlgorithm}.`);
|
|
42416
|
+
}
|
|
42417
|
+
if (block.cipherChaining !== "ChainingModeCBC") {
|
|
42418
|
+
throw new Error(`Unsupported ${what} cipherChaining: ${block.cipherChaining}.`);
|
|
42419
|
+
}
|
|
42420
|
+
const digestLength = agileDigestLength(block.hashAlgorithm);
|
|
42421
|
+
if (digestLength === void 0) {
|
|
42422
|
+
throw new Error(`Unsupported ${what} hashAlgorithm: ${block.hashAlgorithm}.`);
|
|
42423
|
+
}
|
|
42424
|
+
if (block.hashSize !== digestLength) {
|
|
42425
|
+
throw new Error(
|
|
42426
|
+
`Invalid ${what} hashSize ${block.hashSize}: ${block.hashAlgorithm} produces ${digestLength} bytes.`
|
|
42427
|
+
);
|
|
42428
|
+
}
|
|
42429
|
+
if (!KEY_BITS.has(block.keyBits)) throw new Error(`Invalid ${what} keyBits: ${block.keyBits}.`);
|
|
42430
|
+
if (block.blockSize !== 16) throw new Error(`Invalid ${what} blockSize: ${block.blockSize}.`);
|
|
42431
|
+
if (!Number.isInteger(block.saltSize) || block.saltSize <= 0 || block.saltSize > 64) {
|
|
42432
|
+
throw new Error(`Invalid ${what} saltSize: ${block.saltSize}.`);
|
|
42433
|
+
}
|
|
42434
|
+
if (block.saltValue.length !== block.saltSize) {
|
|
42435
|
+
throw new Error(`The ${what} saltValue does not match its saltSize.`);
|
|
42436
|
+
}
|
|
42437
|
+
}
|
|
42438
|
+
function assertValidAgileEncryptionInfo(info) {
|
|
42439
|
+
assertBlock(info.keyData, "keyData");
|
|
42440
|
+
const pke = info.passwordKeyEncryptor;
|
|
42441
|
+
assertBlock(pke, "password key encryptor");
|
|
42442
|
+
if (!Number.isInteger(pke.spinCount) || pke.spinCount < 0) {
|
|
42443
|
+
throw new Error(`Invalid spinCount: ${pke.spinCount}.`);
|
|
42444
|
+
}
|
|
42445
|
+
if (pke.saltSize > pke.hashSize) {
|
|
42446
|
+
throw new Error(`Invalid password key encryptor saltSize: ${pke.saltSize}.`);
|
|
42447
|
+
}
|
|
42448
|
+
}
|
|
42449
|
+
function assertValidStandardEncryptionInfo(info) {
|
|
42450
|
+
if (!KEY_BITS.has(info.header.keySize)) {
|
|
42451
|
+
throw new Error(`Invalid Standard encryption keySize: ${info.header.keySize}.`);
|
|
42452
|
+
}
|
|
42453
|
+
if (info.verifier.salt.length !== 16 || info.verifier.saltSize !== 16) {
|
|
42454
|
+
throw new Error(`Invalid Standard encryption saltSize: ${info.verifier.saltSize}.`);
|
|
42455
|
+
}
|
|
42456
|
+
if (info.verifier.verifierHashSize !== 20) {
|
|
42457
|
+
throw new Error(
|
|
42458
|
+
`Invalid Standard encryption verifierHashSize: ${info.verifier.verifierHashSize}.`
|
|
42459
|
+
);
|
|
42460
|
+
}
|
|
42461
|
+
if (info.verifier.encryptedVerifier.length !== 16 || info.verifier.encryptedVerifierHash.length < 20) {
|
|
42462
|
+
throw new Error("The Standard encryption verifier is truncated.");
|
|
42463
|
+
}
|
|
42464
|
+
}
|
|
42465
|
+
|
|
42160
42466
|
// crypto/decrypt.ts
|
|
42161
|
-
async function verifyAgilePassword(info, password) {
|
|
42467
|
+
async function verifyAgilePassword(info, password, limits = {}) {
|
|
42468
|
+
assertValidAgileEncryptionInfo(info);
|
|
42162
42469
|
const pke = info.passwordKeyEncryptor;
|
|
42163
|
-
const base = await computeAgileKeyBase(
|
|
42470
|
+
const base = await computeAgileKeyBase(
|
|
42471
|
+
password,
|
|
42472
|
+
pke.saltValue,
|
|
42473
|
+
pke.spinCount,
|
|
42474
|
+
pke.hashAlgorithm,
|
|
42475
|
+
limits
|
|
42476
|
+
);
|
|
42164
42477
|
const blockKey = (block) => deriveAgileKeyFromBase(base, pke.hashAlgorithm, block, pke.keyBits, pke.hashSize);
|
|
42165
42478
|
const verifierHashInput = await aesCbcDecryptRaw(
|
|
42166
42479
|
await blockKey(BLOCK_KEYS.verifierHashInput),
|
|
@@ -42173,10 +42486,8 @@ async function verifyAgilePassword(info, password) {
|
|
|
42173
42486
|
pke.encryptedVerifierHashValue
|
|
42174
42487
|
);
|
|
42175
42488
|
const computedHash = await hash(pke.hashAlgorithm, verifierHashInput.subarray(0, pke.saltSize));
|
|
42176
|
-
if (computedHash.length
|
|
42177
|
-
|
|
42178
|
-
for (let i2 = 0; i2 < pke.hashSize; i2++) difference |= verifierHashValue[i2] ^ computedHash[i2];
|
|
42179
|
-
if (difference !== 0) return null;
|
|
42489
|
+
if (computedHash.length !== pke.hashSize || verifierHashValue.length < pke.hashSize) return null;
|
|
42490
|
+
if (!timingSafeEqual(verifierHashValue.subarray(0, pke.hashSize), computedHash)) return null;
|
|
42180
42491
|
const decryptedKey = await aesCbcDecryptRaw(
|
|
42181
42492
|
await blockKey(BLOCK_KEYS.encryptedKeyValue),
|
|
42182
42493
|
pke.saltValue,
|
|
@@ -42185,6 +42496,7 @@ async function verifyAgilePassword(info, password) {
|
|
|
42185
42496
|
return decryptedKey.subarray(0, info.keyData.keyBits / 8);
|
|
42186
42497
|
}
|
|
42187
42498
|
async function verifyStandardPassword(info, password) {
|
|
42499
|
+
assertValidStandardEncryptionInfo(info);
|
|
42188
42500
|
const key = await deriveStandardKey(
|
|
42189
42501
|
password,
|
|
42190
42502
|
info.verifier.salt,
|
|
@@ -42194,20 +42506,16 @@ async function verifyStandardPassword(info, password) {
|
|
|
42194
42506
|
const decryptedVerifier = await aesEcbDecrypt(key, info.verifier.encryptedVerifier);
|
|
42195
42507
|
const decryptedHash = await aesEcbDecrypt(key, info.verifier.encryptedVerifierHash);
|
|
42196
42508
|
const computedHash = await hash("SHA-1", decryptedVerifier);
|
|
42197
|
-
const
|
|
42198
|
-
let match = true;
|
|
42199
|
-
for (let i2 = 0; i2 < Math.min(hashSize, 20); i2++) {
|
|
42200
|
-
if (computedHash[i2] !== decryptedHash[i2]) {
|
|
42201
|
-
match = false;
|
|
42202
|
-
break;
|
|
42203
|
-
}
|
|
42204
|
-
}
|
|
42509
|
+
const match = timingSafeEqual(decryptedHash.subarray(0, 20), computedHash);
|
|
42205
42510
|
return match ? key : null;
|
|
42206
42511
|
}
|
|
42207
|
-
async function verifyAgileDataIntegrity(info, key, encryptedPackage) {
|
|
42512
|
+
async function verifyAgileDataIntegrity(info, key, encryptedPackage, options = {}) {
|
|
42208
42513
|
const keyData = info.keyData;
|
|
42209
42514
|
if (!info.dataIntegrity) {
|
|
42210
|
-
return;
|
|
42515
|
+
if (options.allowMissingIntegrity) return;
|
|
42516
|
+
throw new DataIntegrityError(
|
|
42517
|
+
"The encrypted package has no data integrity record, so it cannot be checked for tampering."
|
|
42518
|
+
);
|
|
42211
42519
|
}
|
|
42212
42520
|
const hmacKeyIV = await generateIV(
|
|
42213
42521
|
keyData.hashAlgorithm,
|
|
@@ -42234,28 +42542,26 @@ async function verifyAgileDataIntegrity(info, key, encryptedPackage) {
|
|
|
42234
42542
|
);
|
|
42235
42543
|
const expectedHmac = decryptedHmacValue.subarray(0, keyData.hashSize);
|
|
42236
42544
|
const computedHmac = await hmac(keyData.hashAlgorithm, hmacKey, encryptedPackage);
|
|
42237
|
-
|
|
42238
|
-
if (computedHmac.length < keyData.hashSize) {
|
|
42239
|
-
match = false;
|
|
42240
|
-
} else {
|
|
42241
|
-
for (let i2 = 0; i2 < keyData.hashSize; i2++) {
|
|
42242
|
-
if (computedHmac[i2] !== expectedHmac[i2]) {
|
|
42243
|
-
match = false;
|
|
42244
|
-
break;
|
|
42245
|
-
}
|
|
42246
|
-
}
|
|
42247
|
-
}
|
|
42545
|
+
const match = timingSafeEqual(computedHmac, expectedHmac);
|
|
42248
42546
|
if (!match) {
|
|
42249
42547
|
throw new DataIntegrityError(
|
|
42250
42548
|
"Data integrity check failed. The encrypted file may be corrupted or tampered with."
|
|
42251
42549
|
);
|
|
42252
42550
|
}
|
|
42253
42551
|
}
|
|
42552
|
+
function readOriginalSize(encryptedPackage, wide) {
|
|
42553
|
+
if (encryptedPackage.length < 8) throw new Error("The EncryptedPackage stream is truncated.");
|
|
42554
|
+
const view = new DataView(encryptedPackage.buffer, encryptedPackage.byteOffset, 8);
|
|
42555
|
+
const high = view.getUint32(4, true);
|
|
42556
|
+
return view.getUint32(0, true) + (wide ? high * 4294967296 : 0);
|
|
42557
|
+
}
|
|
42254
42558
|
async function decryptAgilePackage(encryptedPackage, key, info) {
|
|
42255
42559
|
const keyData = info.keyData;
|
|
42256
|
-
const
|
|
42257
|
-
const originalSize = sizeView.getUint32(0, true) + sizeView.getUint32(4, true) * 4294967296;
|
|
42560
|
+
const originalSize = readOriginalSize(encryptedPackage, true);
|
|
42258
42561
|
const encryptedData = encryptedPackage.subarray(8);
|
|
42562
|
+
if (originalSize > encryptedData.length) {
|
|
42563
|
+
throw new Error("The declared package size exceeds the encrypted data.");
|
|
42564
|
+
}
|
|
42259
42565
|
const segmentSize = 4096;
|
|
42260
42566
|
const result = new Uint8Array(originalSize);
|
|
42261
42567
|
let resultOffset = 0;
|
|
@@ -42279,9 +42585,11 @@ async function decryptAgilePackage(encryptedPackage, key, info) {
|
|
|
42279
42585
|
return result.buffer;
|
|
42280
42586
|
}
|
|
42281
42587
|
async function decryptStandardPackage(encryptedPackage, key) {
|
|
42282
|
-
const
|
|
42283
|
-
const originalSize = sizeView.getUint32(0, true);
|
|
42588
|
+
const originalSize = readOriginalSize(encryptedPackage, false);
|
|
42284
42589
|
const encryptedData = encryptedPackage.subarray(8);
|
|
42590
|
+
if (originalSize > encryptedData.length) {
|
|
42591
|
+
throw new Error("The declared package size exceeds the encrypted data.");
|
|
42592
|
+
}
|
|
42285
42593
|
const decrypted = await aesEcbDecrypt(key, encryptedData);
|
|
42286
42594
|
return decrypted.slice(0, originalSize).buffer;
|
|
42287
42595
|
}
|
|
@@ -42536,53 +42844,87 @@ function parseStandardEncryptionInfo(data) {
|
|
|
42536
42844
|
}
|
|
42537
42845
|
};
|
|
42538
42846
|
}
|
|
42539
|
-
|
|
42540
|
-
|
|
42541
|
-
|
|
42542
|
-
|
|
42543
|
-
|
|
42847
|
+
var PASSWORD_KEY_ENCRYPTOR_URI = "http://schemas.microsoft.com/office/2006/keyEncryptor/password";
|
|
42848
|
+
function childrenNamed2(parent, localName15) {
|
|
42849
|
+
const found = [];
|
|
42850
|
+
for (let node = parent.firstChild; node; node = node.nextSibling) {
|
|
42851
|
+
if (node.nodeType === 1 && node.localName === localName15) {
|
|
42852
|
+
found.push(node);
|
|
42853
|
+
}
|
|
42854
|
+
}
|
|
42855
|
+
return found;
|
|
42544
42856
|
}
|
|
42545
|
-
function
|
|
42546
|
-
const
|
|
42547
|
-
|
|
42548
|
-
|
|
42549
|
-
|
|
42550
|
-
|
|
42551
|
-
|
|
42857
|
+
function singleChild(parent, localName15, mustExist) {
|
|
42858
|
+
const matches = childrenNamed2(parent, localName15);
|
|
42859
|
+
if (matches.length > 1) throw new Error(`The EncryptionInfo has several ${localName15} elements.`);
|
|
42860
|
+
if (matches.length === 0 && mustExist) {
|
|
42861
|
+
throw new Error(`The EncryptionInfo has no ${localName15} element.`);
|
|
42862
|
+
}
|
|
42863
|
+
return matches[0];
|
|
42864
|
+
}
|
|
42865
|
+
function required(element, attr2) {
|
|
42866
|
+
const value = element.getAttribute(attr2);
|
|
42867
|
+
if (!value) throw new Error(`The EncryptionInfo ${element.localName} has no ${attr2}.`);
|
|
42868
|
+
return value;
|
|
42869
|
+
}
|
|
42870
|
+
function requiredInt(element, attr2) {
|
|
42871
|
+
const value = required(element, attr2);
|
|
42872
|
+
if (!/^\d{1,10}$/.test(value)) {
|
|
42873
|
+
throw new Error(`The EncryptionInfo ${element.localName} ${attr2} is not a number: ${value}.`);
|
|
42874
|
+
}
|
|
42875
|
+
return Number(value);
|
|
42876
|
+
}
|
|
42877
|
+
function parseKeyBlock(element) {
|
|
42552
42878
|
return {
|
|
42879
|
+
saltSize: requiredInt(element, "saltSize"),
|
|
42880
|
+
blockSize: requiredInt(element, "blockSize"),
|
|
42881
|
+
keyBits: requiredInt(element, "keyBits"),
|
|
42882
|
+
hashSize: requiredInt(element, "hashSize"),
|
|
42883
|
+
cipherAlgorithm: required(element, "cipherAlgorithm"),
|
|
42884
|
+
cipherChaining: required(element, "cipherChaining"),
|
|
42885
|
+
hashAlgorithm: required(element, "hashAlgorithm"),
|
|
42886
|
+
saltValue: base64Decode(required(element, "saltValue"))
|
|
42887
|
+
};
|
|
42888
|
+
}
|
|
42889
|
+
function parseAgileEncryptionInfo(data) {
|
|
42890
|
+
const root = parseXml(new TextDecoder("utf-8").decode(data.subarray(8)), {
|
|
42891
|
+
label: "EncryptionInfo"
|
|
42892
|
+
}).documentElement;
|
|
42893
|
+
if (root.localName !== "encryption") {
|
|
42894
|
+
throw new Error("The EncryptionInfo root element is not <encryption>.");
|
|
42895
|
+
}
|
|
42896
|
+
const keyData = parseKeyBlock(singleChild(root, "keyData", true));
|
|
42897
|
+
const integrity = singleChild(root, "dataIntegrity", false);
|
|
42898
|
+
const encryptors = childrenNamed2(singleChild(root, "keyEncryptors", true), "keyEncryptor");
|
|
42899
|
+
const passwordEncryptors = encryptors.filter(
|
|
42900
|
+
(encryptor) => encryptor.getAttribute("uri") === PASSWORD_KEY_ENCRYPTOR_URI
|
|
42901
|
+
);
|
|
42902
|
+
if (passwordEncryptors.length !== 1) {
|
|
42903
|
+
throw new Error(
|
|
42904
|
+
passwordEncryptors.length === 0 ? "The EncryptionInfo has no password key encryptor." : "The EncryptionInfo has several password key encryptors."
|
|
42905
|
+
);
|
|
42906
|
+
}
|
|
42907
|
+
const pke = singleChild(passwordEncryptors[0], "encryptedKey", true);
|
|
42908
|
+
const info = {
|
|
42553
42909
|
version: { major: 4, minor: 4 },
|
|
42554
42910
|
isAgile: true,
|
|
42555
|
-
keyData
|
|
42556
|
-
|
|
42557
|
-
blockSize: int(keyData("blockSize")),
|
|
42558
|
-
keyBits: int(keyData("keyBits")),
|
|
42559
|
-
hashSize: int(keyData("hashSize")),
|
|
42560
|
-
cipherAlgorithm: keyData("cipherAlgorithm"),
|
|
42561
|
-
cipherChaining: keyData("cipherChaining"),
|
|
42562
|
-
hashAlgorithm: keyData("hashAlgorithm"),
|
|
42563
|
-
saltValue: base64Decode(keyData("saltValue"))
|
|
42564
|
-
},
|
|
42565
|
-
...encryptedHmacKey ? {
|
|
42911
|
+
keyData,
|
|
42912
|
+
...integrity ? {
|
|
42566
42913
|
dataIntegrity: {
|
|
42567
|
-
encryptedHmacKey: base64Decode(encryptedHmacKey),
|
|
42568
|
-
encryptedHmacValue: base64Decode(integrity
|
|
42914
|
+
encryptedHmacKey: base64Decode(required(integrity, "encryptedHmacKey")),
|
|
42915
|
+
encryptedHmacValue: base64Decode(required(integrity, "encryptedHmacValue"))
|
|
42569
42916
|
}
|
|
42570
42917
|
} : {},
|
|
42571
42918
|
passwordKeyEncryptor: {
|
|
42572
|
-
|
|
42573
|
-
|
|
42574
|
-
|
|
42575
|
-
|
|
42576
|
-
|
|
42577
|
-
cipherChaining: pke("cipherChaining"),
|
|
42578
|
-
hashAlgorithm: pke("hashAlgorithm"),
|
|
42579
|
-
saltValue: base64Decode(pke("saltValue")),
|
|
42580
|
-
spinCount: int(pke("spinCount")),
|
|
42581
|
-
encryptedVerifierHashInput: base64Decode(pke("encryptedVerifierHashInput")),
|
|
42582
|
-
encryptedVerifierHashValue: base64Decode(pke("encryptedVerifierHashValue")),
|
|
42583
|
-
encryptedKeyValue: base64Decode(pke("encryptedKeyValue"))
|
|
42919
|
+
...parseKeyBlock(pke),
|
|
42920
|
+
spinCount: requiredInt(pke, "spinCount"),
|
|
42921
|
+
encryptedVerifierHashInput: base64Decode(required(pke, "encryptedVerifierHashInput")),
|
|
42922
|
+
encryptedVerifierHashValue: base64Decode(required(pke, "encryptedVerifierHashValue")),
|
|
42923
|
+
encryptedKeyValue: base64Decode(required(pke, "encryptedKeyValue"))
|
|
42584
42924
|
}
|
|
42585
42925
|
};
|
|
42926
|
+
assertValidAgileEncryptionInfo(info);
|
|
42927
|
+
return info;
|
|
42586
42928
|
}
|
|
42587
42929
|
|
|
42588
42930
|
// crypto/index.ts
|
|
@@ -42598,7 +42940,7 @@ function streams(bytes) {
|
|
|
42598
42940
|
}
|
|
42599
42941
|
throw new Error("EncryptedPackage stream not found. The file may be corrupted.");
|
|
42600
42942
|
}
|
|
42601
|
-
async function decryptOoxmlPackage(input, password) {
|
|
42943
|
+
async function decryptOoxmlPackage(input, password, options = {}) {
|
|
42602
42944
|
const { info: infoStream, data } = streams(toBytes(input));
|
|
42603
42945
|
const info = parseEncryptionInfo(infoStream);
|
|
42604
42946
|
if (isStandard(info)) {
|
|
@@ -42606,21 +42948,21 @@ async function decryptOoxmlPackage(input, password) {
|
|
|
42606
42948
|
if (!key2) throw new IncorrectPasswordError();
|
|
42607
42949
|
return new Uint8Array(await decryptStandardPackage(data, key2));
|
|
42608
42950
|
}
|
|
42609
|
-
const key = await verifyAgilePassword(info, password);
|
|
42951
|
+
const key = await verifyAgilePassword(info, password, options);
|
|
42610
42952
|
if (!key) throw new IncorrectPasswordError();
|
|
42611
|
-
await verifyAgileDataIntegrity(info, key, data);
|
|
42953
|
+
await verifyAgileDataIntegrity(info, key, data, options);
|
|
42612
42954
|
return new Uint8Array(await decryptAgilePackage(data, key, info));
|
|
42613
42955
|
}
|
|
42614
42956
|
function encryptOoxmlPackage(input, password, options = {}) {
|
|
42615
42957
|
const bytes = toBytes(input);
|
|
42616
42958
|
return options.encryptionScheme === "standard" ? encryptStandard(bytes, password, options) : encryptAgile(bytes, password, options);
|
|
42617
42959
|
}
|
|
42618
|
-
async function verifyOoxmlPackagePassword(input, password) {
|
|
42960
|
+
async function verifyOoxmlPackagePassword(input, password, options = {}) {
|
|
42619
42961
|
try {
|
|
42620
42962
|
const opened = openEncryptedPackage(input);
|
|
42621
42963
|
if (!opened) return false;
|
|
42622
42964
|
const info = parseEncryptionInfo(opened.encryptionInfo);
|
|
42623
|
-
const key = isStandard(info) ? await verifyStandardPassword(info, password) : await verifyAgilePassword(info, password);
|
|
42965
|
+
const key = isStandard(info) ? await verifyStandardPassword(info, password) : await verifyAgilePassword(info, password, options);
|
|
42624
42966
|
return key !== null;
|
|
42625
42967
|
} catch {
|
|
42626
42968
|
return false;
|
|
@@ -42638,26 +42980,6 @@ function verifyPassword(encryptedBuffer, password) {
|
|
|
42638
42980
|
return verifyOoxmlPackagePassword(encryptedBuffer, password);
|
|
42639
42981
|
}
|
|
42640
42982
|
|
|
42641
|
-
// digest/password-hash.ts
|
|
42642
|
-
function spinPasswordHash(password, salt, spinCount, digest) {
|
|
42643
|
-
const input = new Uint8Array(salt.length + password.length * 2);
|
|
42644
|
-
input.set(salt);
|
|
42645
|
-
for (let i2 = 0; i2 < password.length; i2++) {
|
|
42646
|
-
const code = password.charCodeAt(i2);
|
|
42647
|
-
input[salt.length + i2 * 2] = code & 255;
|
|
42648
|
-
input[salt.length + i2 * 2 + 1] = code >> 8;
|
|
42649
|
-
}
|
|
42650
|
-
let value = digest(input);
|
|
42651
|
-
const buffer = new Uint8Array(value.length + 4);
|
|
42652
|
-
const view = new DataView(buffer.buffer);
|
|
42653
|
-
for (let i2 = 0; i2 < spinCount; i2++) {
|
|
42654
|
-
buffer.set(value);
|
|
42655
|
-
view.setUint32(value.length, i2, true);
|
|
42656
|
-
value = digest(buffer);
|
|
42657
|
-
}
|
|
42658
|
-
return value;
|
|
42659
|
-
}
|
|
42660
|
-
|
|
42661
42983
|
// pptx/core/utils/modify-verifier-codec.ts
|
|
42662
42984
|
function base64Decode2(str) {
|
|
42663
42985
|
const normalized = str.replace(/\s+/g, "");
|
|
@@ -42684,33 +43006,24 @@ function base64Encode2(bytes) {
|
|
|
42684
43006
|
}
|
|
42685
43007
|
function randomSalt() {
|
|
42686
43008
|
const salt = new Uint8Array(16);
|
|
42687
|
-
if (typeof globalThis.crypto !== "
|
|
42688
|
-
|
|
42689
|
-
|
|
42690
|
-
|
|
42691
|
-
salt[i2] = Math.floor(Math.random() * 256);
|
|
42692
|
-
}
|
|
43009
|
+
if (typeof globalThis.crypto?.getRandomValues !== "function") {
|
|
43010
|
+
throw new Error(
|
|
43011
|
+
"A secure random source (crypto.getRandomValues) is required to create a salt."
|
|
43012
|
+
);
|
|
42693
43013
|
}
|
|
43014
|
+
globalThis.crypto.getRandomValues(salt);
|
|
42694
43015
|
return salt;
|
|
42695
43016
|
}
|
|
42696
43017
|
async function iteratedHash(algorithm, salt, password, spinCount) {
|
|
43018
|
+
if (!isValidSpinCount(spinCount)) {
|
|
43019
|
+
throw new Error(`Unsupported verifier spin count: ${spinCount}.`);
|
|
43020
|
+
}
|
|
42697
43021
|
const digest = digestFunction(algorithm);
|
|
42698
43022
|
if (!digest) {
|
|
42699
43023
|
throw new Error(`Unsupported digest algorithm: ${algorithm}`);
|
|
42700
43024
|
}
|
|
42701
43025
|
return spinPasswordHash(password, salt, spinCount, digest);
|
|
42702
43026
|
}
|
|
42703
|
-
function bytesEqual2(a, b) {
|
|
42704
|
-
if (a.length !== b.length) {
|
|
42705
|
-
return false;
|
|
42706
|
-
}
|
|
42707
|
-
for (let i2 = 0; i2 < a.length; i2++) {
|
|
42708
|
-
if (a[i2] !== b[i2]) {
|
|
42709
|
-
return false;
|
|
42710
|
-
}
|
|
42711
|
-
}
|
|
42712
|
-
return true;
|
|
42713
|
-
}
|
|
42714
43027
|
|
|
42715
43028
|
// pptx/core/utils/modify-verifier.ts
|
|
42716
43029
|
var CRYPT_ALGORITHM_SID_NAMES = {
|
|
@@ -42742,8 +43055,9 @@ async function verifyModifyPassword(verifier, password) {
|
|
|
42742
43055
|
const salt = verifier.saltData ? base64Decode2(verifier.saltData) : new Uint8Array(0);
|
|
42743
43056
|
const expectedHash = base64Decode2(verifier.hashData);
|
|
42744
43057
|
const spinCount = verifier.spinValue ?? 1e5;
|
|
43058
|
+
if (!isValidSpinCount(spinCount)) return false;
|
|
42745
43059
|
const h2 = await iteratedHash(algorithm, salt, password, spinCount);
|
|
42746
|
-
return
|
|
43060
|
+
return timingSafeEqual(h2, expectedHash);
|
|
42747
43061
|
}
|
|
42748
43062
|
async function createModifyVerifier(password, options) {
|
|
42749
43063
|
const requestedAlgorithm = options?.algorithmName ?? "SHA-512";
|
|
@@ -42928,6 +43242,35 @@ function applyChartLayouts(chartRoot, layouts, localName15) {
|
|
|
42928
43242
|
applyChartManualLayout(child7(chartRoot, "legend", localName15), layouts.legend, localName15);
|
|
42929
43243
|
}
|
|
42930
43244
|
|
|
43245
|
+
// chart/model-analysis.ts
|
|
43246
|
+
var KIND_OF_TYPE = {
|
|
43247
|
+
linear: "linear",
|
|
43248
|
+
exp: "exponential",
|
|
43249
|
+
log: "logarithmic",
|
|
43250
|
+
poly: "polynomial",
|
|
43251
|
+
power: "power",
|
|
43252
|
+
movingAvg: "movingAvg"
|
|
43253
|
+
};
|
|
43254
|
+
var TYPE_OF_KIND = {
|
|
43255
|
+
linear: "linear",
|
|
43256
|
+
exponential: "exp",
|
|
43257
|
+
logarithmic: "log",
|
|
43258
|
+
polynomial: "poly",
|
|
43259
|
+
power: "power",
|
|
43260
|
+
movingAvg: "movingAvg"
|
|
43261
|
+
};
|
|
43262
|
+
var chartTrendlineKind = (type) => type !== void 0 && Object.hasOwn(KIND_OF_TYPE, type) ? KIND_OF_TYPE[type] : void 0;
|
|
43263
|
+
var chartTrendlineType = (kind) => TYPE_OF_KIND[kind];
|
|
43264
|
+
var CHART_ERROR_BAR_DIRECTIONS = ["x", "y"];
|
|
43265
|
+
var CHART_ERROR_BAR_TYPES = ["both", "minus", "plus"];
|
|
43266
|
+
var CHART_ERROR_VALUE_TYPES = [
|
|
43267
|
+
"cust",
|
|
43268
|
+
"fixedVal",
|
|
43269
|
+
"percentage",
|
|
43270
|
+
"stdDev",
|
|
43271
|
+
"stdErr"
|
|
43272
|
+
];
|
|
43273
|
+
|
|
42931
43274
|
// pptx/core/utils/chart-trendline-label.ts
|
|
42932
43275
|
function keyOf(node, name, localName15) {
|
|
42933
43276
|
return node ? Object.keys(node).find((key) => localName15(key) === name) : void 0;
|
|
@@ -42998,26 +43341,8 @@ function reorderLabel(node, localName15) {
|
|
|
42998
43341
|
}
|
|
42999
43342
|
|
|
43000
43343
|
// pptx/core/utils/chart-advanced-parser.ts
|
|
43001
|
-
var
|
|
43002
|
-
|
|
43003
|
-
exp: "exponential",
|
|
43004
|
-
log: "logarithmic",
|
|
43005
|
-
poly: "polynomial",
|
|
43006
|
-
power: "power",
|
|
43007
|
-
movingAvg: "movingAvg"
|
|
43008
|
-
};
|
|
43009
|
-
var ERR_BAR_TYPE_MAP = {
|
|
43010
|
-
both: "both",
|
|
43011
|
-
minus: "minus",
|
|
43012
|
-
plus: "plus"
|
|
43013
|
-
};
|
|
43014
|
-
var ERR_VAL_TYPE_MAP = {
|
|
43015
|
-
cust: "cust",
|
|
43016
|
-
fixedVal: "fixedVal",
|
|
43017
|
-
percentage: "percentage",
|
|
43018
|
-
stdDev: "stdDev",
|
|
43019
|
-
stdErr: "stdErr"
|
|
43020
|
-
};
|
|
43344
|
+
var isErrBarType = (value) => CHART_ERROR_BAR_TYPES.includes(value);
|
|
43345
|
+
var isErrValType = (value) => CHART_ERROR_VALUE_TYPES.includes(value);
|
|
43021
43346
|
function safeInt(val) {
|
|
43022
43347
|
const n = parseInt(String(val), 10);
|
|
43023
43348
|
return Number.isFinite(n) ? n : void 0;
|
|
@@ -43041,7 +43366,7 @@ function parseSeriesTrendlines(seriesNode, xmlLookup, colorParser) {
|
|
|
43041
43366
|
return trendlineNodes.map((node) => {
|
|
43042
43367
|
const typeNode = xmlLookup.getChildByLocalName(node, "trendlineType");
|
|
43043
43368
|
const rawType = String(typeNode?.["@_val"] || "").trim();
|
|
43044
|
-
const trendlineType =
|
|
43369
|
+
const trendlineType = chartTrendlineKind(rawType);
|
|
43045
43370
|
if (!trendlineType) {
|
|
43046
43371
|
return void 0;
|
|
43047
43372
|
}
|
|
@@ -43111,13 +43436,13 @@ function parseSeriesErrBars(seriesNode, xmlLookup, extractPointValues, colorPars
|
|
|
43111
43436
|
const direction = rawDir === "x" ? "x" : "y";
|
|
43112
43437
|
const errBarTypeNode = xmlLookup.getChildByLocalName(node, "errBarType");
|
|
43113
43438
|
const rawBarType = String(errBarTypeNode?.["@_val"] || "both").trim();
|
|
43114
|
-
const barType =
|
|
43439
|
+
const barType = isErrBarType(rawBarType) ? rawBarType : "both";
|
|
43115
43440
|
const errValTypeNode = xmlLookup.getChildByLocalName(node, "errValType");
|
|
43116
43441
|
const rawValType = String(errValTypeNode?.["@_val"] || "").trim();
|
|
43117
|
-
|
|
43118
|
-
if (!valType) {
|
|
43442
|
+
if (!isErrValType(rawValType)) {
|
|
43119
43443
|
return void 0;
|
|
43120
43444
|
}
|
|
43445
|
+
const valType = rawValType;
|
|
43121
43446
|
const result = { direction, barType, valType };
|
|
43122
43447
|
const noEndCap = booleanValue2(xmlLookup.getChildByLocalName(node, "noEndCap"));
|
|
43123
43448
|
if (noEndCap !== void 0) {
|
|
@@ -44512,9 +44837,9 @@ function collectAllText(node, getLocalName, out) {
|
|
|
44512
44837
|
continue;
|
|
44513
44838
|
}
|
|
44514
44839
|
const value = node[key];
|
|
44515
|
-
const
|
|
44840
|
+
const children6 = Array.isArray(value) ? value : [value];
|
|
44516
44841
|
if (getLocalName(key) === "t") {
|
|
44517
|
-
for (const child13 of
|
|
44842
|
+
for (const child13 of children6) {
|
|
44518
44843
|
if (child13 === void 0 || child13 === null) {
|
|
44519
44844
|
continue;
|
|
44520
44845
|
}
|
|
@@ -44524,7 +44849,7 @@ function collectAllText(node, getLocalName, out) {
|
|
|
44524
44849
|
}
|
|
44525
44850
|
continue;
|
|
44526
44851
|
}
|
|
44527
|
-
for (const child13 of
|
|
44852
|
+
for (const child13 of children6) {
|
|
44528
44853
|
if (child13 && typeof child13 === "object") {
|
|
44529
44854
|
collectAllText(child13, getLocalName, out);
|
|
44530
44855
|
}
|
|
@@ -44542,8 +44867,8 @@ function replaceFirstText(node, text, getLocalName) {
|
|
|
44542
44867
|
return true;
|
|
44543
44868
|
}
|
|
44544
44869
|
const value = node[key];
|
|
44545
|
-
const
|
|
44546
|
-
for (const child13 of
|
|
44870
|
+
const children6 = Array.isArray(value) ? value : [value];
|
|
44871
|
+
for (const child13 of children6) {
|
|
44547
44872
|
if (child13 && typeof child13 === "object" && replaceFirstText(child13, text, getLocalName)) {
|
|
44548
44873
|
return true;
|
|
44549
44874
|
}
|
|
@@ -46340,8 +46665,8 @@ function buildUserShape(shape, kind, base, xml, colors) {
|
|
|
46340
46665
|
};
|
|
46341
46666
|
}
|
|
46342
46667
|
function parseOffExt(offNode, extNode) {
|
|
46343
|
-
const num3 = (node,
|
|
46344
|
-
const raw = Number.parseFloat(String(node?.[
|
|
46668
|
+
const num3 = (node, attr2) => {
|
|
46669
|
+
const raw = Number.parseFloat(String(node?.[attr2] ?? ""));
|
|
46345
46670
|
return Number.isFinite(raw) ? raw : 0;
|
|
46346
46671
|
};
|
|
46347
46672
|
return {
|
|
@@ -46400,18 +46725,18 @@ function buildNestedGroupChild(group, xml, colors) {
|
|
|
46400
46725
|
};
|
|
46401
46726
|
}
|
|
46402
46727
|
function parseGroupChildren(group, xml, colors) {
|
|
46403
|
-
const
|
|
46728
|
+
const children6 = [];
|
|
46404
46729
|
for (const kind of DIRECT_KINDS) {
|
|
46405
46730
|
for (const child13 of xml.getChildrenArrayByLocalName(group, kind)) {
|
|
46406
|
-
|
|
46731
|
+
children6.push(buildGroupChild(child13, kind, xml, colors));
|
|
46407
46732
|
}
|
|
46408
46733
|
}
|
|
46409
46734
|
for (const nested of xml.getChildrenArrayByLocalName(group, "grpSp")) {
|
|
46410
|
-
|
|
46735
|
+
children6.push(buildNestedGroupChild(nested, xml, colors));
|
|
46411
46736
|
}
|
|
46412
46737
|
for (const graphicFrame of xml.getChildrenArrayByLocalName(group, "graphicFrame")) {
|
|
46413
46738
|
const { off, ext, rotation, flipH, flipV } = parseChildOffExt(graphicFrame, xml);
|
|
46414
|
-
|
|
46739
|
+
children6.push({
|
|
46415
46740
|
kind: "graphicFrame",
|
|
46416
46741
|
off,
|
|
46417
46742
|
ext,
|
|
@@ -46421,7 +46746,7 @@ function parseGroupChildren(group, xml, colors) {
|
|
|
46421
46746
|
rawXml: cloneXmlObject(graphicFrame)
|
|
46422
46747
|
});
|
|
46423
46748
|
}
|
|
46424
|
-
return
|
|
46749
|
+
return children6;
|
|
46425
46750
|
}
|
|
46426
46751
|
function parseAnchorShape(anchor, base, xml, colors) {
|
|
46427
46752
|
for (const kind of DIRECT_KINDS) {
|
|
@@ -46538,8 +46863,8 @@ function flattenChartUserShapes(shapes, chartBox) {
|
|
|
46538
46863
|
if (!shapes) {
|
|
46539
46864
|
return [];
|
|
46540
46865
|
}
|
|
46541
|
-
function resolveGroupLeaves(
|
|
46542
|
-
return
|
|
46866
|
+
function resolveGroupLeaves(children6, chOff, chExt) {
|
|
46867
|
+
return children6.flatMap((child13) => {
|
|
46543
46868
|
const frac = childFraction(child13.off, child13.ext, chOff, chExt);
|
|
46544
46869
|
if (child13.kind === "grpSp") {
|
|
46545
46870
|
const childTransform = child13.transform;
|
|
@@ -46821,7 +47146,7 @@ function resolveCellValue(cell, sharedStrings) {
|
|
|
46821
47146
|
}
|
|
46822
47147
|
async function parseEmbeddedXlsx(xlsxData) {
|
|
46823
47148
|
try {
|
|
46824
|
-
const xlsxZip = await
|
|
47149
|
+
const xlsxZip = await openNestedZip(xlsxData);
|
|
46825
47150
|
const xmlParser = new XMLParser({
|
|
46826
47151
|
ignoreAttributes: false,
|
|
46827
47152
|
attributeNamePrefix: "@_",
|
|
@@ -47487,34 +47812,34 @@ function isAlternateContentChoiceXmlSupported(requires, branchXml) {
|
|
|
47487
47812
|
if (!areNamespacesSupported(requires)) {
|
|
47488
47813
|
return false;
|
|
47489
47814
|
}
|
|
47490
|
-
const
|
|
47815
|
+
const required2 = new Set(requires.trim().split(/\s+/).filter(Boolean));
|
|
47491
47816
|
const tagPattern = /<(?!\/|\?|!)([A-Za-z_][\w.-]*):([A-Za-z_][\w.-]*)\b/g;
|
|
47492
47817
|
let match;
|
|
47493
47818
|
while ((match = tagPattern.exec(branchXml)) !== null) {
|
|
47494
|
-
if (
|
|
47819
|
+
if (required2.has(match[1]) && !isExtensionElementSupported(match[1], match[2])) {
|
|
47495
47820
|
return false;
|
|
47496
47821
|
}
|
|
47497
47822
|
}
|
|
47498
47823
|
return true;
|
|
47499
47824
|
}
|
|
47500
|
-
function hasOnlySupportedExtensionElements(node,
|
|
47825
|
+
function hasOnlySupportedExtensionElements(node, required2) {
|
|
47501
47826
|
if (!node || typeof node !== "object") {
|
|
47502
47827
|
return true;
|
|
47503
47828
|
}
|
|
47504
47829
|
if (Array.isArray(node)) {
|
|
47505
|
-
return node.every((item) => hasOnlySupportedExtensionElements(item,
|
|
47830
|
+
return node.every((item) => hasOnlySupportedExtensionElements(item, required2));
|
|
47506
47831
|
}
|
|
47507
47832
|
for (const [key, value] of Object.entries(node)) {
|
|
47508
47833
|
if (!key.startsWith("@_")) {
|
|
47509
47834
|
const separator = key.indexOf(":");
|
|
47510
47835
|
if (separator > 0) {
|
|
47511
47836
|
const prefix = key.slice(0, separator);
|
|
47512
|
-
if (
|
|
47837
|
+
if (required2.has(prefix) && !isExtensionElementSupported(prefix, key.slice(separator + 1))) {
|
|
47513
47838
|
return false;
|
|
47514
47839
|
}
|
|
47515
47840
|
}
|
|
47516
47841
|
}
|
|
47517
|
-
if (!hasOnlySupportedExtensionElements(value,
|
|
47842
|
+
if (!hasOnlySupportedExtensionElements(value, required2)) {
|
|
47518
47843
|
return false;
|
|
47519
47844
|
}
|
|
47520
47845
|
}
|
|
@@ -48021,9 +48346,9 @@ function extractTextFromXmlNode(node) {
|
|
|
48021
48346
|
}
|
|
48022
48347
|
const containerTags = ["div", "p", "span", "b", "i", "u", "font", "body", "html"];
|
|
48023
48348
|
for (const tag of containerTags) {
|
|
48024
|
-
const
|
|
48025
|
-
if (
|
|
48026
|
-
const arr = Array.isArray(
|
|
48349
|
+
const children6 = node[tag];
|
|
48350
|
+
if (children6) {
|
|
48351
|
+
const arr = Array.isArray(children6) ? children6 : [children6];
|
|
48027
48352
|
for (const child13 of arr) {
|
|
48028
48353
|
const childText = extractTextFromXmlNode(child13);
|
|
48029
48354
|
if (childText.length > 0) {
|
|
@@ -48202,7 +48527,7 @@ function parseVmlGroup(node, idPrefix, index) {
|
|
|
48202
48527
|
childScaleY = bounds.height / csH;
|
|
48203
48528
|
}
|
|
48204
48529
|
}
|
|
48205
|
-
const
|
|
48530
|
+
const children6 = [];
|
|
48206
48531
|
for (const childTag of VML_SHAPE_TAGS) {
|
|
48207
48532
|
const childNodes = node[childTag];
|
|
48208
48533
|
if (!childNodes) {
|
|
@@ -48216,11 +48541,11 @@ function parseVmlGroup(node, idPrefix, index) {
|
|
|
48216
48541
|
child13.y = (child13.y - originY) * childScaleY;
|
|
48217
48542
|
child13.width *= childScaleX;
|
|
48218
48543
|
child13.height *= childScaleY;
|
|
48219
|
-
|
|
48544
|
+
children6.push(child13);
|
|
48220
48545
|
}
|
|
48221
48546
|
}
|
|
48222
48547
|
}
|
|
48223
|
-
if (
|
|
48548
|
+
if (children6.length === 0) {
|
|
48224
48549
|
return null;
|
|
48225
48550
|
}
|
|
48226
48551
|
const rotation = extractVmlRotation(styleMap);
|
|
@@ -48229,9 +48554,9 @@ function parseVmlGroup(node, idPrefix, index) {
|
|
|
48229
48554
|
id,
|
|
48230
48555
|
x: bounds.x,
|
|
48231
48556
|
y: bounds.y,
|
|
48232
|
-
width: bounds.width || Math.max(...
|
|
48233
|
-
height: bounds.height || Math.max(...
|
|
48234
|
-
children:
|
|
48557
|
+
width: bounds.width || Math.max(...children6.map((c) => c.x + c.width)),
|
|
48558
|
+
height: bounds.height || Math.max(...children6.map((c) => c.y + c.height)),
|
|
48559
|
+
children: children6,
|
|
48235
48560
|
rotation,
|
|
48236
48561
|
rawXml: node
|
|
48237
48562
|
};
|
|
@@ -48241,7 +48566,7 @@ function parseVmlGroup(node, idPrefix, index) {
|
|
|
48241
48566
|
}
|
|
48242
48567
|
}
|
|
48243
48568
|
function parseVmlElements(container2, idPrefix = "") {
|
|
48244
|
-
const
|
|
48569
|
+
const elements3 = [];
|
|
48245
48570
|
for (const tag of VML_SHAPE_TAGS) {
|
|
48246
48571
|
const nodes = container2[tag];
|
|
48247
48572
|
if (!nodes) {
|
|
@@ -48251,11 +48576,11 @@ function parseVmlElements(container2, idPrefix = "") {
|
|
|
48251
48576
|
for (let i2 = 0; i2 < arr.length; i2++) {
|
|
48252
48577
|
const element = parseVmlElement(tag, arr[i2], idPrefix, i2);
|
|
48253
48578
|
if (element) {
|
|
48254
|
-
|
|
48579
|
+
elements3.push(element);
|
|
48255
48580
|
}
|
|
48256
48581
|
}
|
|
48257
48582
|
}
|
|
48258
|
-
return
|
|
48583
|
+
return elements3;
|
|
48259
48584
|
}
|
|
48260
48585
|
|
|
48261
48586
|
// pptx/core/utils/alternate-content.ts
|
|
@@ -48354,10 +48679,10 @@ function unwrapAlternateContent(container2) {
|
|
|
48354
48679
|
};
|
|
48355
48680
|
const branch = diagnosis.resolved;
|
|
48356
48681
|
for (const tag of SHAPE_TREE_ELEMENT_TAGS) {
|
|
48357
|
-
const
|
|
48358
|
-
if (
|
|
48359
|
-
container2[tag] = [...ensureArray3(container2[tag]), ...
|
|
48360
|
-
for (const child13 of
|
|
48682
|
+
const children6 = ensureArray3(branch[tag]);
|
|
48683
|
+
if (children6.length > 0) {
|
|
48684
|
+
container2[tag] = [...ensureArray3(container2[tag]), ...children6];
|
|
48685
|
+
for (const child13 of children6) {
|
|
48361
48686
|
block.childRefs.push({ tag, node: child13 });
|
|
48362
48687
|
}
|
|
48363
48688
|
}
|
|
@@ -48496,7 +48821,7 @@ function child10(node, ...names) {
|
|
|
48496
48821
|
}
|
|
48497
48822
|
return void 0;
|
|
48498
48823
|
}
|
|
48499
|
-
function
|
|
48824
|
+
function children3(node, name) {
|
|
48500
48825
|
const raw = node?.[name];
|
|
48501
48826
|
if (raw === void 0 || raw === null) {
|
|
48502
48827
|
return [];
|
|
@@ -48505,8 +48830,8 @@ function children2(node, name) {
|
|
|
48505
48830
|
(v) => typeof v === "object" && v !== null ? v : {}
|
|
48506
48831
|
);
|
|
48507
48832
|
}
|
|
48508
|
-
function num2(node,
|
|
48509
|
-
const raw = node?.[`@_${
|
|
48833
|
+
function num2(node, attr2) {
|
|
48834
|
+
const raw = node?.[`@_${attr2}`];
|
|
48510
48835
|
if (raw === void 0 || raw === "") {
|
|
48511
48836
|
return void 0;
|
|
48512
48837
|
}
|
|
@@ -48596,7 +48921,7 @@ var LIGHT_TAGS = [
|
|
|
48596
48921
|
function parseLights(model3d) {
|
|
48597
48922
|
const lights = [];
|
|
48598
48923
|
for (const [tag, kind] of LIGHT_TAGS) {
|
|
48599
|
-
for (const node of [...
|
|
48924
|
+
for (const node of [...children3(model3d, `am3d:${tag}`), ...children3(model3d, tag)]) {
|
|
48600
48925
|
const spot = num2(am(node, "spotAngle"), "angle") ?? num2(node, "angle") ?? num2(node, "spotAngle");
|
|
48601
48926
|
lights.push({
|
|
48602
48927
|
kind,
|
|
@@ -49322,20 +49647,20 @@ function findCnvPrNode(rawXml) {
|
|
|
49322
49647
|
}
|
|
49323
49648
|
return void 0;
|
|
49324
49649
|
}
|
|
49325
|
-
function flattenElements(
|
|
49326
|
-
for (const element of
|
|
49650
|
+
function flattenElements(elements3, out) {
|
|
49651
|
+
for (const element of elements3) {
|
|
49327
49652
|
out.push(element);
|
|
49328
49653
|
if (element.type === "group" && Array.isArray(element.children)) {
|
|
49329
49654
|
flattenElements(element.children, out);
|
|
49330
49655
|
}
|
|
49331
49656
|
}
|
|
49332
49657
|
}
|
|
49333
|
-
function remapElementShapeIds(
|
|
49658
|
+
function remapElementShapeIds(elements3, ids) {
|
|
49334
49659
|
if (ids.size === 0) {
|
|
49335
49660
|
return 0;
|
|
49336
49661
|
}
|
|
49337
49662
|
const flat = [];
|
|
49338
|
-
flattenElements(
|
|
49663
|
+
flattenElements(elements3, flat);
|
|
49339
49664
|
const declaredId = (element) => {
|
|
49340
49665
|
const cNvPr = findCnvPrNode(element.rawXml);
|
|
49341
49666
|
if (cNvPr?.["@_id"] !== void 0) {
|
|
@@ -49557,7 +49882,7 @@ function ensureArray5(val) {
|
|
|
49557
49882
|
}
|
|
49558
49883
|
return Array.isArray(val) ? val : [val];
|
|
49559
49884
|
}
|
|
49560
|
-
async function parsePresentationSmartTags(zip,
|
|
49885
|
+
async function parsePresentationSmartTags(zip, parseXml2, presentationData) {
|
|
49561
49886
|
try {
|
|
49562
49887
|
const presentation = presentationData?.["p:presentation"];
|
|
49563
49888
|
const smartTagsNode = presentation?.["p:smartTags"];
|
|
@@ -49574,7 +49899,7 @@ async function parsePresentationSmartTags(zip, parseXml, presentationData) {
|
|
|
49574
49899
|
return result;
|
|
49575
49900
|
}
|
|
49576
49901
|
const relsXml = await relsFile.async("string");
|
|
49577
|
-
const relsData =
|
|
49902
|
+
const relsData = parseXml2(relsXml);
|
|
49578
49903
|
const relRoot = relsData["Relationships"] || {};
|
|
49579
49904
|
const relationships = ensureArray5(relRoot["Relationship"]);
|
|
49580
49905
|
for (const rel of relationships) {
|
|
@@ -49620,8 +49945,8 @@ function inheritedPlaceholderFieldType(type) {
|
|
|
49620
49945
|
|
|
49621
49946
|
// pptx/core/utils/body-properties-parser.ts
|
|
49622
49947
|
function parseBodyPrBooleanAttrs(bodyPr, textStyle) {
|
|
49623
|
-
const parseBoolAttr3 = (
|
|
49624
|
-
const raw = bodyPr[
|
|
49948
|
+
const parseBoolAttr3 = (attr2) => {
|
|
49949
|
+
const raw = bodyPr[attr2];
|
|
49625
49950
|
if (raw === void 0) {
|
|
49626
49951
|
return void 0;
|
|
49627
49952
|
}
|
|
@@ -49699,9 +50024,9 @@ var DEFAULT_FONT_SIZE_PT = 12;
|
|
|
49699
50024
|
var DEFAULT_LINE_HEIGHT_MULTIPLIER = 1.3;
|
|
49700
50025
|
var AVG_CHAR_WIDTH_RATIO = 0.6;
|
|
49701
50026
|
var DEFAULT_BODY_INSET_PX = 7;
|
|
49702
|
-
function buildLinkedTextBoxChains(
|
|
50027
|
+
function buildLinkedTextBoxChains(elements3) {
|
|
49703
50028
|
const chains = /* @__PURE__ */ new Map();
|
|
49704
|
-
for (const el of
|
|
50029
|
+
for (const el of elements3) {
|
|
49705
50030
|
if (!hasTextProperties(el)) {
|
|
49706
50031
|
continue;
|
|
49707
50032
|
}
|
|
@@ -50308,7 +50633,7 @@ function allNamespaceDeclarations(xml) {
|
|
|
50308
50633
|
return result;
|
|
50309
50634
|
}
|
|
50310
50635
|
function directChildren(xml) {
|
|
50311
|
-
const
|
|
50636
|
+
const children6 = [];
|
|
50312
50637
|
const tags = [...xml.matchAll(/<\/?([\w.-]+:[\w.-]+|[\w.-]+)\b[^>]*>/g)];
|
|
50313
50638
|
let depth = 0;
|
|
50314
50639
|
for (const match of tags) {
|
|
@@ -50317,14 +50642,14 @@ function directChildren(xml) {
|
|
|
50317
50642
|
depth--;
|
|
50318
50643
|
} else {
|
|
50319
50644
|
if (depth === 1) {
|
|
50320
|
-
|
|
50645
|
+
children6.push(match[1].split(":").pop());
|
|
50321
50646
|
}
|
|
50322
50647
|
if (!/\/\s*>$/.test(token)) {
|
|
50323
50648
|
depth++;
|
|
50324
50649
|
}
|
|
50325
50650
|
}
|
|
50326
50651
|
}
|
|
50327
|
-
return
|
|
50652
|
+
return children6;
|
|
50328
50653
|
}
|
|
50329
50654
|
function elementXml(xml, localName15) {
|
|
50330
50655
|
return xml.match(new RegExp(`<([\\w.-]+:)?${localName15}\\b[\\s\\S]*?</\\1?${localName15}>`))?.[0];
|
|
@@ -50525,7 +50850,7 @@ var BLACK_WHITE = [
|
|
|
50525
50850
|
];
|
|
50526
50851
|
|
|
50527
50852
|
// pptx/core/utils/pptx-validator-facets.ts
|
|
50528
|
-
function
|
|
50853
|
+
function elements2(xml) {
|
|
50529
50854
|
return [...xml.matchAll(/<(?!\/|\?|!)(?:([\w.-]+):)?([\w.-]+)\b([^>]*)>/g)].map((match) => ({
|
|
50530
50855
|
prefix: match[1] ?? "",
|
|
50531
50856
|
local: match[2],
|
|
@@ -50676,7 +51001,7 @@ function validateRelationshipIds(xml, ns, path, issues) {
|
|
|
50676
51001
|
if (relPrefixes.length === 0) {
|
|
50677
51002
|
return;
|
|
50678
51003
|
}
|
|
50679
|
-
for (const element of
|
|
51004
|
+
for (const element of elements2(xml)) {
|
|
50680
51005
|
for (const prefix of relPrefixes) {
|
|
50681
51006
|
const value = attribute2(element.attributes, `${prefix}:id`);
|
|
50682
51007
|
if (value === void 0 || /^[A-Za-z_][\w.-]*$/.test(value)) {
|
|
@@ -50704,7 +51029,7 @@ function validateSimpleTypeFacets(xml, path, issues) {
|
|
|
50704
51029
|
ECMA_NAMESPACES.strictP,
|
|
50705
51030
|
ECMA_NAMESPACES.transitionalP
|
|
50706
51031
|
]);
|
|
50707
|
-
for (const element of
|
|
51032
|
+
for (const element of elements2(xml)) {
|
|
50708
51033
|
if (!drawingOrPresentation.has(ns.get(element.prefix) ?? "")) {
|
|
50709
51034
|
continue;
|
|
50710
51035
|
}
|
|
@@ -50742,7 +51067,7 @@ function normalisePath(p) {
|
|
|
50742
51067
|
}
|
|
50743
51068
|
async function tryOpenZip(buffer) {
|
|
50744
51069
|
try {
|
|
50745
|
-
const zip = await
|
|
51070
|
+
const zip = await openPptxZip(buffer);
|
|
50746
51071
|
return { zip };
|
|
50747
51072
|
} catch {
|
|
50748
51073
|
return { error: "Buffer is not a valid ZIP file" };
|
|
@@ -50855,9 +51180,9 @@ function checkAlternate(xml, qualifier, ns, path, issues) {
|
|
|
50855
51180
|
"g"
|
|
50856
51181
|
);
|
|
50857
51182
|
for (const match of xml.matchAll(pattern)) {
|
|
50858
|
-
const
|
|
50859
|
-
const fallback =
|
|
50860
|
-
if (!
|
|
51183
|
+
const children6 = directChildren(`<root>${match[1]}</root>`);
|
|
51184
|
+
const fallback = children6.indexOf("Fallback");
|
|
51185
|
+
if (!children6.includes("Choice")) {
|
|
50861
51186
|
add2(
|
|
50862
51187
|
issues,
|
|
50863
51188
|
path,
|
|
@@ -50865,7 +51190,7 @@ function checkAlternate(xml, qualifier, ns, path, issues) {
|
|
|
50865
51190
|
"MCE AlternateContent must contain at least one Choice"
|
|
50866
51191
|
);
|
|
50867
51192
|
}
|
|
50868
|
-
if (
|
|
51193
|
+
if (children6.some((name) => name !== "Choice" && name !== "Fallback") || children6.filter((name) => name === "Fallback").length > 1 || fallback >= 0 && fallback !== children6.length - 1) {
|
|
50869
51194
|
add2(
|
|
50870
51195
|
issues,
|
|
50871
51196
|
path,
|
|
@@ -50921,9 +51246,9 @@ function validateShapeTree(xml, path, issues) {
|
|
|
50921
51246
|
issue(issues, path, "MISSING_REQUIRED_ELEMENT", "<p:cSld> must contain <p:spTree>");
|
|
50922
51247
|
return;
|
|
50923
51248
|
}
|
|
50924
|
-
const
|
|
51249
|
+
const children6 = directChildren(tree);
|
|
50925
51250
|
for (let i2 = 0; i2 < SHAPE_TREE_START.length; i2++) {
|
|
50926
|
-
if (
|
|
51251
|
+
if (children6[i2] !== SHAPE_TREE_START[i2]) {
|
|
50927
51252
|
issue(
|
|
50928
51253
|
issues,
|
|
50929
51254
|
path,
|
|
@@ -51016,8 +51341,8 @@ function validateSlideTransitions(xml, path, issues) {
|
|
|
51016
51341
|
continue;
|
|
51017
51342
|
}
|
|
51018
51343
|
validateAttributes(transition.attributes, path, issues);
|
|
51019
|
-
const
|
|
51020
|
-
const effects =
|
|
51344
|
+
const children6 = directChildren(`<root>${transition.body}</root>`);
|
|
51345
|
+
const effects = children6.filter((child13) => EFFECTS.has(child13));
|
|
51021
51346
|
if (effects.length > 1) {
|
|
51022
51347
|
add3(issues, path, "TRANSITION_INVALID_CHOICE", "A slide transition may contain one effect");
|
|
51023
51348
|
}
|
|
@@ -51210,14 +51535,14 @@ function validateDrawingDatatypes(xml, path, issues) {
|
|
|
51210
51535
|
}
|
|
51211
51536
|
}
|
|
51212
51537
|
for (const match of xml.matchAll(/<a:ext\b([^>]*)>/g)) {
|
|
51213
|
-
for (const
|
|
51214
|
-
const value = match[1].match(new RegExp(`\\b${
|
|
51538
|
+
for (const attr2 of ["cx", "cy"]) {
|
|
51539
|
+
const value = match[1].match(new RegExp(`\\b${attr2}\\s*=\\s*["']([^"']+)["']`))?.[1];
|
|
51215
51540
|
if (value !== void 0 && (!/^\d+$/.test(value) || Number(value) > 27273042329600)) {
|
|
51216
51541
|
issue(
|
|
51217
51542
|
issues,
|
|
51218
51543
|
path,
|
|
51219
51544
|
"INVALID_DATATYPE",
|
|
51220
|
-
`DrawingML extent ${
|
|
51545
|
+
`DrawingML extent ${attr2}="${value}" must be a non-negative coordinate`
|
|
51221
51546
|
);
|
|
51222
51547
|
}
|
|
51223
51548
|
}
|
|
@@ -51729,31 +52054,31 @@ function add6(issues, path, code, message) {
|
|
|
51729
52054
|
issues.push({ severity: "error", code, message, path });
|
|
51730
52055
|
}
|
|
51731
52056
|
function validateRequiredChildren(xml, contract, path, issues) {
|
|
51732
|
-
const
|
|
51733
|
-
for (const
|
|
51734
|
-
if (!
|
|
52057
|
+
const children6 = directChildren(xml);
|
|
52058
|
+
for (const required2 of contract.required ?? []) {
|
|
52059
|
+
if (!children6.includes(required2)) {
|
|
51735
52060
|
add6(
|
|
51736
52061
|
issues,
|
|
51737
52062
|
path,
|
|
51738
52063
|
"MISSING_REQUIRED_PART_ELEMENT",
|
|
51739
|
-
`<${contract.root}> must contain <${
|
|
52064
|
+
`<${contract.root}> must contain <${required2}> as a direct child`
|
|
51740
52065
|
);
|
|
51741
52066
|
}
|
|
51742
52067
|
}
|
|
51743
52068
|
}
|
|
51744
52069
|
function validateThemeElements(xml, path, issues) {
|
|
51745
|
-
const
|
|
51746
|
-
if (!
|
|
52070
|
+
const elements3 = elementXml(xml, "themeElements");
|
|
52071
|
+
if (!elements3) {
|
|
51747
52072
|
return;
|
|
51748
52073
|
}
|
|
51749
|
-
const
|
|
51750
|
-
for (const
|
|
51751
|
-
if (!
|
|
52074
|
+
const children6 = directChildren(elements3);
|
|
52075
|
+
for (const required2 of ["clrScheme", "fontScheme", "fmtScheme"]) {
|
|
52076
|
+
if (!children6.includes(required2)) {
|
|
51752
52077
|
add6(
|
|
51753
52078
|
issues,
|
|
51754
52079
|
path,
|
|
51755
52080
|
"MISSING_REQUIRED_PART_ELEMENT",
|
|
51756
|
-
`<themeElements> must contain <${
|
|
52081
|
+
`<themeElements> must contain <${required2}>`
|
|
51757
52082
|
);
|
|
51758
52083
|
}
|
|
51759
52084
|
}
|
|
@@ -51766,8 +52091,8 @@ function elementStartAttributes(xml, localName15) {
|
|
|
51766
52091
|
(match) => match[1]
|
|
51767
52092
|
);
|
|
51768
52093
|
}
|
|
51769
|
-
function validateRequiredAttributes(attributes,
|
|
51770
|
-
for (const name of
|
|
52094
|
+
function validateRequiredAttributes(attributes, required2, element, path, issues) {
|
|
52095
|
+
for (const name of required2) {
|
|
51771
52096
|
if (attributeValue(attributes, name) === void 0) {
|
|
51772
52097
|
add6(
|
|
51773
52098
|
issues,
|
|
@@ -51798,8 +52123,8 @@ function validateComments(xml, path, issues) {
|
|
|
51798
52123
|
}
|
|
51799
52124
|
}
|
|
51800
52125
|
for (const comment of xml.matchAll(/<(?:[\w.-]+:)?cm\b[^>]*>([\s\S]*?)<\/(?:[\w.-]+:)?cm>/g)) {
|
|
51801
|
-
const
|
|
51802
|
-
if (!
|
|
52126
|
+
const children6 = directChildren(`<cm>${comment[1]}</cm>`);
|
|
52127
|
+
if (!children6.includes("pos") || !children6.includes("text")) {
|
|
51803
52128
|
add6(issues, path, "MISSING_REQUIRED_PART_ELEMENT", "<cm> must contain <pos> and <text>");
|
|
51804
52129
|
}
|
|
51805
52130
|
}
|
|
@@ -51914,13 +52239,13 @@ var THEME_CONTENT_TYPE = "application/vnd.openxmlformats-officedocument.theme+xm
|
|
|
51914
52239
|
|
|
51915
52240
|
// pptx/core/utils/pptx-validator-checks.ts
|
|
51916
52241
|
async function validateZipStructure(zip, issues) {
|
|
51917
|
-
for (const
|
|
51918
|
-
if (!zip.file(
|
|
52242
|
+
for (const required2 of REQUIRED_PATHS) {
|
|
52243
|
+
if (!zip.file(required2)) {
|
|
51919
52244
|
issues.push({
|
|
51920
52245
|
severity: "error",
|
|
51921
52246
|
code: "MISSING_REQUIRED_FILE",
|
|
51922
|
-
message: `Required file "${
|
|
51923
|
-
path:
|
|
52247
|
+
message: `Required file "${required2}" is missing from the package`,
|
|
52248
|
+
path: required2
|
|
51924
52249
|
});
|
|
51925
52250
|
}
|
|
51926
52251
|
}
|
|
@@ -52033,48 +52358,6 @@ async function validatePptx(buffer) {
|
|
|
52033
52358
|
return { valid: !issues.some((issue2) => issue2.severity === "error"), issues, conformance };
|
|
52034
52359
|
}
|
|
52035
52360
|
|
|
52036
|
-
// pptx/core/ppt/pptx/xml-utils.ts
|
|
52037
|
-
function isInvalidXmlChar(code) {
|
|
52038
|
-
return code >= 0 && code <= 8 || code === 11 || code === 12 || code >= 14 && code <= 31;
|
|
52039
|
-
}
|
|
52040
|
-
function stripInvalidXmlChars(value) {
|
|
52041
|
-
let cleaned = "";
|
|
52042
|
-
for (const ch of value) {
|
|
52043
|
-
if (!isInvalidXmlChar(ch.charCodeAt(0))) {
|
|
52044
|
-
cleaned += ch;
|
|
52045
|
-
}
|
|
52046
|
-
}
|
|
52047
|
-
return cleaned;
|
|
52048
|
-
}
|
|
52049
|
-
function esc(value) {
|
|
52050
|
-
return stripInvalidXmlChars(value).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
52051
|
-
}
|
|
52052
|
-
function escAttr(value) {
|
|
52053
|
-
return encodeXmlAttributeValue(stripInvalidXmlChars(value)).replace(/"/g, """).replace(/'/g, "'");
|
|
52054
|
-
}
|
|
52055
|
-
function escText(value) {
|
|
52056
|
-
return encodeXmlTextValue(stripInvalidXmlChars(value));
|
|
52057
|
-
}
|
|
52058
|
-
function hexColor(rgb2) {
|
|
52059
|
-
return rgb2.replace(/^#/, "").toUpperCase();
|
|
52060
|
-
}
|
|
52061
|
-
function solidFill(rgb2) {
|
|
52062
|
-
return `<a:solidFill><a:srgbClr val="${hexColor(rgb2)}"/></a:solidFill>`;
|
|
52063
|
-
}
|
|
52064
|
-
function gradFill(stops, angleDeg) {
|
|
52065
|
-
const gsLst = stops.map(
|
|
52066
|
-
(s) => `<a:gs pos="${Math.round(s.position * 1e5)}"><a:srgbClr val="${hexColor(
|
|
52067
|
-
s.rgb
|
|
52068
|
-
)}"/></a:gs>`
|
|
52069
|
-
).join("");
|
|
52070
|
-
const angle = Math.round((angleDeg % 360 + 360) % 360 * 6e4);
|
|
52071
|
-
return `<a:gradFill><a:gsLst>${gsLst}</a:gsLst><a:lin ang="${angle}" scaled="1"/></a:gradFill>`;
|
|
52072
|
-
}
|
|
52073
|
-
function emu(value) {
|
|
52074
|
-
return Math.round(value);
|
|
52075
|
-
}
|
|
52076
|
-
var PML_XMLNS = 'xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"';
|
|
52077
|
-
|
|
52078
52361
|
// pptx/core/utils/pptx-validator-repair.ts
|
|
52079
52362
|
function rebuildContentTypes(zip) {
|
|
52080
52363
|
const defaults = /* @__PURE__ */ new Map();
|
|
@@ -52429,9 +52712,9 @@ function remapElementFonts(element, oldScheme, newScheme) {
|
|
|
52429
52712
|
}
|
|
52430
52713
|
}
|
|
52431
52714
|
if (element.type === "group" && element.children) {
|
|
52432
|
-
const
|
|
52433
|
-
if (
|
|
52434
|
-
patched.children =
|
|
52715
|
+
const children6 = reResolveElementFonts(element.children, oldScheme, newScheme);
|
|
52716
|
+
if (children6 !== element.children) {
|
|
52717
|
+
patched.children = children6;
|
|
52435
52718
|
changed = true;
|
|
52436
52719
|
}
|
|
52437
52720
|
}
|
|
@@ -52444,28 +52727,28 @@ function remapElementFonts(element, oldScheme, newScheme) {
|
|
|
52444
52727
|
}
|
|
52445
52728
|
return changed ? patched : element;
|
|
52446
52729
|
}
|
|
52447
|
-
function reResolveElementFonts(
|
|
52730
|
+
function reResolveElementFonts(elements3, oldFontScheme, newFontScheme) {
|
|
52448
52731
|
let changed = false;
|
|
52449
|
-
const next =
|
|
52732
|
+
const next = elements3.map((element) => {
|
|
52450
52733
|
const remapped = remapElementFonts(element, oldFontScheme, newFontScheme);
|
|
52451
52734
|
if (remapped !== element) {
|
|
52452
52735
|
changed = true;
|
|
52453
52736
|
}
|
|
52454
52737
|
return remapped;
|
|
52455
52738
|
});
|
|
52456
|
-
return changed ? next :
|
|
52739
|
+
return changed ? next : elements3;
|
|
52457
52740
|
}
|
|
52458
52741
|
function reResolveSlideFonts(slides, oldFontScheme, newFontScheme) {
|
|
52459
52742
|
let changed = false;
|
|
52460
52743
|
const next = slides.map((slide) => {
|
|
52461
|
-
const
|
|
52744
|
+
const elements3 = reResolveElementFonts(slide.elements, oldFontScheme, newFontScheme);
|
|
52462
52745
|
const notesSegments = slide.notesSegments ? remapSegmentFonts(slide.notesSegments, oldFontScheme, newFontScheme, "minor") : slide.notesSegments;
|
|
52463
52746
|
const notesShapes = slide.notesShapes ? reResolveElementFonts(slide.notesShapes, oldFontScheme, newFontScheme) : slide.notesShapes;
|
|
52464
|
-
if (
|
|
52747
|
+
if (elements3 === slide.elements && notesSegments === slide.notesSegments && notesShapes === slide.notesShapes) {
|
|
52465
52748
|
return slide;
|
|
52466
52749
|
}
|
|
52467
52750
|
changed = true;
|
|
52468
|
-
return { ...slide, elements:
|
|
52751
|
+
return { ...slide, elements: elements3, notesSegments, notesShapes };
|
|
52469
52752
|
});
|
|
52470
52753
|
return changed ? next : slides;
|
|
52471
52754
|
}
|
|
@@ -52690,13 +52973,13 @@ function reResolveSlideColors(slides, oldColorMap, newColorScheme) {
|
|
|
52690
52973
|
}
|
|
52691
52974
|
return slides.map((slide) => remapSlideColors(slide, remap, newMap));
|
|
52692
52975
|
}
|
|
52693
|
-
function reResolveElementColors(
|
|
52976
|
+
function reResolveElementColors(elements3, oldColorMap, newColorScheme) {
|
|
52694
52977
|
const newMap = buildThemeColorMap(newColorScheme);
|
|
52695
52978
|
const remap = buildColorRemapTable(oldColorMap, newMap);
|
|
52696
52979
|
if (remap.size === 0) {
|
|
52697
|
-
return
|
|
52980
|
+
return elements3;
|
|
52698
52981
|
}
|
|
52699
|
-
return
|
|
52982
|
+
return elements3.map((el) => remapElementColors(el, remap, newMap));
|
|
52700
52983
|
}
|
|
52701
52984
|
function applyThemeToData(data, newColorScheme, newFontScheme, themeName) {
|
|
52702
52985
|
const oldColorMap = data.themeColorMap ?? {};
|
|
@@ -52733,7 +53016,7 @@ function applyThemeOverrideToSlide(slide, baseColorScheme, nextOverride) {
|
|
|
52733
53016
|
}
|
|
52734
53017
|
|
|
52735
53018
|
// pptx/core/utils/smartart-definition-metadata.ts
|
|
52736
|
-
function
|
|
53019
|
+
function children4(node, name, localName15) {
|
|
52737
53020
|
if (!node) {
|
|
52738
53021
|
return [];
|
|
52739
53022
|
}
|
|
@@ -52748,10 +53031,10 @@ function children3(node, name, localName15) {
|
|
|
52748
53031
|
return value && typeof value === "object" ? [value] : [];
|
|
52749
53032
|
}
|
|
52750
53033
|
function child11(node, name, localName15) {
|
|
52751
|
-
return
|
|
53034
|
+
return children4(node, name, localName15)[0];
|
|
52752
53035
|
}
|
|
52753
53036
|
function parseText(node, name, localName15) {
|
|
52754
|
-
const values =
|
|
53037
|
+
const values = children4(node, name, localName15).map((item) => ({
|
|
52755
53038
|
value: String(item["@_val"] ?? ""),
|
|
52756
53039
|
language: String(item["@_lang"] ?? "") || void 0
|
|
52757
53040
|
}));
|
|
@@ -52759,7 +53042,7 @@ function parseText(node, name, localName15) {
|
|
|
52759
53042
|
}
|
|
52760
53043
|
function parseSmartArtDefinitionMetadata(node, localName15) {
|
|
52761
53044
|
const categoryList = child11(node, "catLst", localName15);
|
|
52762
|
-
const categories =
|
|
53045
|
+
const categories = children4(categoryList, "cat", localName15).map((item) => ({
|
|
52763
53046
|
type: String(item["@_type"] ?? ""),
|
|
52764
53047
|
priority: Number(item["@_pri"] ?? 0)
|
|
52765
53048
|
}));
|
|
@@ -52772,7 +53055,7 @@ function parseSmartArtDefinitionMetadata(node, localName15) {
|
|
|
52772
53055
|
};
|
|
52773
53056
|
}
|
|
52774
53057
|
function parseSmartArtQuickStyleLabels(node, localName15) {
|
|
52775
|
-
const labels =
|
|
53058
|
+
const labels = children4(node, "styleLbl", localName15).map((item) => ({
|
|
52776
53059
|
name: String(item["@_name"] ?? "")
|
|
52777
53060
|
}));
|
|
52778
53061
|
return labels.length > 0 ? labels : void 0;
|
|
@@ -52809,7 +53092,7 @@ function parseColorList(node, name, localName15) {
|
|
|
52809
53092
|
};
|
|
52810
53093
|
}
|
|
52811
53094
|
function parseSmartArtColorStyleLabels(node, localName15) {
|
|
52812
|
-
const labels =
|
|
53095
|
+
const labels = children4(node, "styleLbl", localName15).map((item) => ({
|
|
52813
53096
|
name: String(item["@_name"] ?? ""),
|
|
52814
53097
|
fill: parseColorList(item, "fillClrLst", localName15),
|
|
52815
53098
|
line: parseColorList(item, "linClrLst", localName15),
|
|
@@ -54795,11 +55078,11 @@ function parseEffectDagContainer(node) {
|
|
|
54795
55078
|
const typeAttr = String(xml["@_type"] ?? "").trim();
|
|
54796
55079
|
const type = VALID_CONTAINER_TYPES.has(typeAttr) ? typeAttr : "sib";
|
|
54797
55080
|
const nameAttr = String(xml["@_name"] ?? "").trim();
|
|
54798
|
-
const
|
|
55081
|
+
const children6 = parseChildren(xml);
|
|
54799
55082
|
const container2 = {
|
|
54800
55083
|
kind: "cont",
|
|
54801
55084
|
type,
|
|
54802
|
-
children:
|
|
55085
|
+
children: children6
|
|
54803
55086
|
};
|
|
54804
55087
|
if (nameAttr) {
|
|
54805
55088
|
container2.name = nameAttr;
|
|
@@ -54816,7 +55099,7 @@ function serializeEffectDagContainer(container2) {
|
|
|
54816
55099
|
return serializeEffectDagContainerNode(container2);
|
|
54817
55100
|
}
|
|
54818
55101
|
function parseChildren(xml) {
|
|
54819
|
-
const
|
|
55102
|
+
const children6 = [];
|
|
54820
55103
|
for (const [key, rawValue] of Object.entries(xml)) {
|
|
54821
55104
|
if (key.startsWith("@_")) {
|
|
54822
55105
|
continue;
|
|
@@ -54828,11 +55111,11 @@ function parseChildren(xml) {
|
|
|
54828
55111
|
for (const value of values) {
|
|
54829
55112
|
const child13 = parseChild(key, value);
|
|
54830
55113
|
if (child13) {
|
|
54831
|
-
|
|
55114
|
+
children6.push(child13);
|
|
54832
55115
|
}
|
|
54833
55116
|
}
|
|
54834
55117
|
}
|
|
54835
|
-
return
|
|
55118
|
+
return children6;
|
|
54836
55119
|
}
|
|
54837
55120
|
function parseChild(tag, value) {
|
|
54838
55121
|
if (value === null || value === void 0) {
|
|
@@ -56230,12 +56513,12 @@ function withStyleLabel(element) {
|
|
|
56230
56513
|
const styleLabel = smartArtElementStyleLabel(element);
|
|
56231
56514
|
return styleLabel ? { styleLabel } : {};
|
|
56232
56515
|
}
|
|
56233
|
-
function smartArtElementsToDrawingShapes(
|
|
56234
|
-
if (!
|
|
56516
|
+
function smartArtElementsToDrawingShapes(elements3) {
|
|
56517
|
+
if (!elements3 || elements3.length === 0) {
|
|
56235
56518
|
return [];
|
|
56236
56519
|
}
|
|
56237
56520
|
const shapes = [];
|
|
56238
|
-
for (const el of
|
|
56521
|
+
for (const el of elements3) {
|
|
56239
56522
|
if (el.type !== "shape") {
|
|
56240
56523
|
continue;
|
|
56241
56524
|
}
|
|
@@ -56284,25 +56567,25 @@ function relayoutSmartArt(smartArtData, containerWidth, containerHeight) {
|
|
|
56284
56567
|
if (!smartArtData.nodes || smartArtData.nodes.length === 0) {
|
|
56285
56568
|
return [];
|
|
56286
56569
|
}
|
|
56287
|
-
const
|
|
56570
|
+
const elements3 = computeSmartArtElementsWithoutCache(smartArtData, {
|
|
56288
56571
|
x: 0,
|
|
56289
56572
|
y: 0,
|
|
56290
56573
|
width: containerWidth,
|
|
56291
56574
|
height: containerHeight
|
|
56292
56575
|
});
|
|
56293
|
-
if (!
|
|
56576
|
+
if (!elements3 || elements3.length === 0) {
|
|
56294
56577
|
return smartArtData.drawingShapes ?? [];
|
|
56295
56578
|
}
|
|
56296
|
-
return applySmartArtQuickStyle3d(smartArtElementsToDrawingShapes(
|
|
56579
|
+
return applySmartArtQuickStyle3d(smartArtElementsToDrawingShapes(elements3), smartArtData);
|
|
56297
56580
|
}
|
|
56298
56581
|
function regenerateSmartArtDrawingShapes(smartArtData, containerWidth, containerHeight) {
|
|
56299
|
-
const
|
|
56582
|
+
const elements3 = decomposeSmartArt(smartArtData, {
|
|
56300
56583
|
x: 0,
|
|
56301
56584
|
y: 0,
|
|
56302
56585
|
width: Math.max(containerWidth, 1),
|
|
56303
56586
|
height: Math.max(containerHeight, 1)
|
|
56304
56587
|
});
|
|
56305
|
-
return applySmartArtQuickStyle3d(smartArtElementsToDrawingShapes(
|
|
56588
|
+
return applySmartArtQuickStyle3d(smartArtElementsToDrawingShapes(elements3), smartArtData);
|
|
56306
56589
|
}
|
|
56307
56590
|
|
|
56308
56591
|
// pptx/core/utils/layout-display-name.ts
|
|
@@ -56503,7 +56786,7 @@ var ROOTS = {
|
|
|
56503
56786
|
var localName13 = (key) => key.slice(key.indexOf(":") + 1);
|
|
56504
56787
|
var keyFor2 = (node, name) => Object.keys(node).find((key) => !key.startsWith("@_") && localName13(key) === name);
|
|
56505
56788
|
var objects = (value) => Array.isArray(value) ? value.filter((item) => Boolean(item) && typeof item === "object") : value && typeof value === "object" ? [value] : [];
|
|
56506
|
-
var
|
|
56789
|
+
var children5 = (node, name) => objects(node[keyFor2(node, name) ?? ""]);
|
|
56507
56790
|
var copy = (value) => structuredClone(value);
|
|
56508
56791
|
function detectRoot(xml) {
|
|
56509
56792
|
for (const kind of Object.keys(ROOTS)) {
|
|
@@ -56518,15 +56801,15 @@ function detectRoot(xml) {
|
|
|
56518
56801
|
throw new Error("Expected a DiagramML definition header list root");
|
|
56519
56802
|
}
|
|
56520
56803
|
function parseText2(node, name) {
|
|
56521
|
-
return
|
|
56804
|
+
return children5(node, name).map((item) => ({
|
|
56522
56805
|
value: String(item["@_val"] ?? ""),
|
|
56523
56806
|
language: String(item["@_lang"] ?? "") || void 0,
|
|
56524
56807
|
rawXml: copy(item)
|
|
56525
56808
|
}));
|
|
56526
56809
|
}
|
|
56527
56810
|
function parseHeader(node) {
|
|
56528
|
-
const catList =
|
|
56529
|
-
const categories = catList ?
|
|
56811
|
+
const catList = children5(node, "catLst")[0];
|
|
56812
|
+
const categories = catList ? children5(catList, "cat").map((item) => ({
|
|
56530
56813
|
type: String(item["@_type"] ?? ""),
|
|
56531
56814
|
priority: Number(item["@_pri"] ?? Number.NaN),
|
|
56532
56815
|
rawXml: copy(item)
|
|
@@ -56547,7 +56830,7 @@ function parseSmartArtDefinitionHeaderList(xml) {
|
|
|
56547
56830
|
const headerName = ROOTS[detected.kind][1];
|
|
56548
56831
|
return {
|
|
56549
56832
|
kind: detected.kind,
|
|
56550
|
-
headers:
|
|
56833
|
+
headers: children5(detected.root, headerName).map(parseHeader),
|
|
56551
56834
|
rawXml: copy(detected.root)
|
|
56552
56835
|
};
|
|
56553
56836
|
}
|
|
@@ -56603,7 +56886,7 @@ function applyHeader(header) {
|
|
|
56603
56886
|
replaceChildren2(node, "desc", textXml(header.descriptions));
|
|
56604
56887
|
if (header.categories !== void 0) {
|
|
56605
56888
|
const listKey = keyFor2(node, "catLst") ?? `${prefixFor(node)}catLst`;
|
|
56606
|
-
const list2 =
|
|
56889
|
+
const list2 = children5(node, "catLst")[0] ?? {};
|
|
56607
56890
|
const categories = header.categories.map((category) => ({
|
|
56608
56891
|
...category.rawXml ? copy(category.rawXml) : {},
|
|
56609
56892
|
"@_type": category.type,
|
|
@@ -57006,8 +57289,8 @@ function getElementPlainText(element) {
|
|
|
57006
57289
|
return "";
|
|
57007
57290
|
}
|
|
57008
57291
|
function deriveSlideTitle(slide) {
|
|
57009
|
-
const
|
|
57010
|
-
for (const element of
|
|
57292
|
+
const elements3 = slide.elements ?? [];
|
|
57293
|
+
for (const element of elements3) {
|
|
57011
57294
|
const phType = getElementPlaceholderType(element);
|
|
57012
57295
|
if (phType && TITLE_PLACEHOLDER_TYPES.has(phType)) {
|
|
57013
57296
|
const text = getElementPlainText(element);
|
|
@@ -57315,17 +57598,17 @@ function buildJpegHuffmanTable(bits, huffval) {
|
|
|
57315
57598
|
}
|
|
57316
57599
|
function decodeJpegHuffmanSymbol(reader, table) {
|
|
57317
57600
|
let code = 0;
|
|
57318
|
-
let
|
|
57601
|
+
let first2 = 0;
|
|
57319
57602
|
let index = 0;
|
|
57320
57603
|
for (let len = 1; len <= 16; len++) {
|
|
57321
57604
|
code = code << 1 | reader.bits(1);
|
|
57322
57605
|
const count = table.counts[len];
|
|
57323
|
-
if (count > 0 && code -
|
|
57324
|
-
return table.symbols[index + (code -
|
|
57606
|
+
if (count > 0 && code - first2 < count) {
|
|
57607
|
+
return table.symbols[index + (code - first2)];
|
|
57325
57608
|
}
|
|
57326
57609
|
index += count;
|
|
57327
|
-
|
|
57328
|
-
|
|
57610
|
+
first2 += count;
|
|
57611
|
+
first2 <<= 1;
|
|
57329
57612
|
}
|
|
57330
57613
|
throw new Error("jpeg: invalid Huffman code");
|
|
57331
57614
|
}
|
|
@@ -57549,14 +57832,14 @@ function decodeJpegFirstPixel(bytes) {
|
|
|
57549
57832
|
return void 0;
|
|
57550
57833
|
}
|
|
57551
57834
|
const blockCount = sc.comp.hSampling * sc.comp.vSampling;
|
|
57552
|
-
let
|
|
57835
|
+
let first2;
|
|
57553
57836
|
for (let b = 0; b < blockCount; b++) {
|
|
57554
57837
|
const sample = decodeBlockCornerSample(reader, dcTable, acTable, quantTable);
|
|
57555
57838
|
if (b === 0) {
|
|
57556
|
-
|
|
57839
|
+
first2 = sample;
|
|
57557
57840
|
}
|
|
57558
57841
|
}
|
|
57559
|
-
cornerSamples.push(clamp8(
|
|
57842
|
+
cornerSamples.push(clamp8(first2 + 128));
|
|
57560
57843
|
}
|
|
57561
57844
|
return combineComponentsToRgb(cornerSamples);
|
|
57562
57845
|
}
|
|
@@ -57767,17 +58050,17 @@ function buildHuffmanTable(lengths) {
|
|
|
57767
58050
|
}
|
|
57768
58051
|
function decodeSymbol(reader, table) {
|
|
57769
58052
|
let code = 0;
|
|
57770
|
-
let
|
|
58053
|
+
let first2 = 0;
|
|
57771
58054
|
let index = 0;
|
|
57772
58055
|
for (let len = 1; len < table.counts.length; len++) {
|
|
57773
58056
|
code |= reader.bits(1);
|
|
57774
58057
|
const count = table.counts[len];
|
|
57775
|
-
if (code -
|
|
57776
|
-
return table.symbols[index + (code -
|
|
58058
|
+
if (code - first2 < count) {
|
|
58059
|
+
return table.symbols[index + (code - first2)];
|
|
57777
58060
|
}
|
|
57778
58061
|
index += count;
|
|
57779
|
-
|
|
57780
|
-
|
|
58062
|
+
first2 += count;
|
|
58063
|
+
first2 <<= 1;
|
|
57781
58064
|
code <<= 1;
|
|
57782
58065
|
}
|
|
57783
58066
|
throw new Error("inflate: invalid Huffman code");
|
|
@@ -58182,8 +58465,8 @@ function readFrameAt(bytes, offset) {
|
|
|
58182
58465
|
return { length, sampleRate };
|
|
58183
58466
|
}
|
|
58184
58467
|
function estimateAdtsDurationMs(bytes) {
|
|
58185
|
-
const
|
|
58186
|
-
if (!
|
|
58468
|
+
const first2 = readFrameAt(bytes, 0);
|
|
58469
|
+
if (!first2) {
|
|
58187
58470
|
return void 0;
|
|
58188
58471
|
}
|
|
58189
58472
|
let offset = 0;
|
|
@@ -58199,7 +58482,7 @@ function estimateAdtsDurationMs(bytes) {
|
|
|
58199
58482
|
if (frameCount === 0) {
|
|
58200
58483
|
return void 0;
|
|
58201
58484
|
}
|
|
58202
|
-
return frameCount * 1024 /
|
|
58485
|
+
return frameCount * 1024 / first2.sampleRate * 1e3;
|
|
58203
58486
|
}
|
|
58204
58487
|
|
|
58205
58488
|
// pptx/core/utils/media-duration-ebml.ts
|
|
@@ -58212,20 +58495,20 @@ function readVInt(bytes, offset, keepMarker) {
|
|
|
58212
58495
|
if (offset >= bytes.length) {
|
|
58213
58496
|
return void 0;
|
|
58214
58497
|
}
|
|
58215
|
-
const
|
|
58216
|
-
if (
|
|
58498
|
+
const first2 = bytes[offset];
|
|
58499
|
+
if (first2 === 0) {
|
|
58217
58500
|
return void 0;
|
|
58218
58501
|
}
|
|
58219
58502
|
let length = 1;
|
|
58220
58503
|
let mask = 128;
|
|
58221
|
-
while (length <= 8 && (
|
|
58504
|
+
while (length <= 8 && (first2 & mask) === 0) {
|
|
58222
58505
|
mask >>= 1;
|
|
58223
58506
|
length++;
|
|
58224
58507
|
}
|
|
58225
58508
|
if (length > 8 || offset + length > bytes.length) {
|
|
58226
58509
|
return void 0;
|
|
58227
58510
|
}
|
|
58228
|
-
let value = keepMarker ?
|
|
58511
|
+
let value = keepMarker ? first2 : first2 & mask - 1;
|
|
58229
58512
|
for (let i2 = 1; i2 < length; i2++) {
|
|
58230
58513
|
value = value * 256 + bytes[offset + i2];
|
|
58231
58514
|
}
|
|
@@ -60435,12 +60718,12 @@ function douglasPeucker(points, tolerance) {
|
|
|
60435
60718
|
if (hi - lo < 2) {
|
|
60436
60719
|
continue;
|
|
60437
60720
|
}
|
|
60438
|
-
const
|
|
60721
|
+
const first2 = points[lo];
|
|
60439
60722
|
const last = points[hi];
|
|
60440
60723
|
let maxDist = 0;
|
|
60441
60724
|
let maxIdx = -1;
|
|
60442
60725
|
for (let i2 = lo + 1; i2 < hi; i2++) {
|
|
60443
|
-
const dist = perpendicularDistance(points[i2],
|
|
60726
|
+
const dist = perpendicularDistance(points[i2], first2, last);
|
|
60444
60727
|
if (dist > maxDist) {
|
|
60445
60728
|
maxDist = dist;
|
|
60446
60729
|
maxIdx = i2;
|
|
@@ -60579,8 +60862,8 @@ var FreeformPathBuilder = class {
|
|
|
60579
60862
|
return "";
|
|
60580
60863
|
}
|
|
60581
60864
|
const parts = [];
|
|
60582
|
-
const
|
|
60583
|
-
parts.push(`M ${
|
|
60865
|
+
const first2 = this.points[0];
|
|
60866
|
+
parts.push(`M ${first2.x} ${first2.y}`);
|
|
60584
60867
|
if (this.smoothed && this.bezierCurves.length > 0) {
|
|
60585
60868
|
for (const [cp1, cp2, end] of this.bezierCurves) {
|
|
60586
60869
|
parts.push(`C ${cp1.x} ${cp1.y} ${cp2.x} ${cp2.y} ${end.x} ${end.y}`);
|
|
@@ -60632,8 +60915,8 @@ var FreeformPathBuilder = class {
|
|
|
60632
60915
|
const width = Math.max(maxX, 1);
|
|
60633
60916
|
const height = Math.max(maxY, 1);
|
|
60634
60917
|
const segments = [];
|
|
60635
|
-
const
|
|
60636
|
-
segments.push({ type: "moveTo", pt: { x:
|
|
60918
|
+
const first2 = this.points[0];
|
|
60919
|
+
segments.push({ type: "moveTo", pt: { x: first2.x, y: first2.y } });
|
|
60637
60920
|
if (this.smoothed && this.bezierCurves.length > 0) {
|
|
60638
60921
|
for (const [cp1, cp2, end] of this.bezierCurves) {
|
|
60639
60922
|
segments.push({
|
|
@@ -60773,9 +61056,9 @@ function buildCalloutLeaderLineSvgPath(geometry) {
|
|
|
60773
61056
|
if (geometry.points.length < 2) {
|
|
60774
61057
|
return "";
|
|
60775
61058
|
}
|
|
60776
|
-
const
|
|
61059
|
+
const first2 = at(geometry.points, 0);
|
|
60777
61060
|
const rest = geometry.points.slice(1);
|
|
60778
|
-
const parts = [`M ${
|
|
61061
|
+
const parts = [`M ${first2.x} ${first2.y}`];
|
|
60779
61062
|
for (const pt of rest) {
|
|
60780
61063
|
parts.push(`L ${pt.x} ${pt.y}`);
|
|
60781
61064
|
}
|
|
@@ -61778,4 +62061,4 @@ async function blobUrlToDataUrl(blobUrl, fallbackMimeType) {
|
|
|
61778
62061
|
}
|
|
61779
62062
|
}
|
|
61780
62063
|
|
|
61781
|
-
export { ALL_ANIMATION_PRESETS, ARABIC_ABJADI_LETTERS, ARABIC_HIJAI_LETTERS, BLIP_FILL_ORDER, CLOUD_CALLOUT_TAIL_COUNT, CLOUD_LOBE_COUNT, COLOR_MAP_ALIAS_KEYS, CONNECTOR_ARROW_OPTIONS, CONNECTOR_GEOMETRY_OPTIONS, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_CHART_GRADIENT_ANGLE, DEFAULT_COLOR_MAP, DEFAULT_FILL_COLOR, DEFAULT_FONT_FAMILY, DEFAULT_SCHEME_COLOR_MAP, DEFAULT_STROKE_COLOR, DEFAULT_TEXT_COLOR, DEFAULT_TEXT_FONT_SIZE, DGM_XMLNS, DIAGRAM_DRAWING_CONTENT_TYPE, DIAGRAM_DRAWING_REL_TYPE, DataIntegrityError, EFFECT_LST_ORDER, ELEMENT_FIELD_KIND, EMPHASIS_PRESETS, EMPTY_CONSTRAINT_INDEX, EMU_PER_INCH, EMU_PER_PIXEL, EMU_PER_POINT, EMU_PER_PX, ENTRANCE_PRESETS, ENTRY_TYPE_ROOT, EXIT_PRESETS, EncryptedFileError, FONT_SUBSTITUTION_MAP, FreeformPathBuilder, HEBREW_LETTERS, HINDI_CONSONANTS, HINDI_VOWELS, IncorrectPasswordError, MAX_SHAPE_ID, MAX_TABLE_DIMENSION, MIN_ELEMENT_SIZE, MIN_TABLE_DIMENSION, MOTION_PATH_PRESETS, OOXML_ANGLE_UNITS_PER_DEGREE, OOXML_PERCENT_UNITS, Ole2ParseError, P14_DIR_IS_ORIENTATION_TYPE, P14_GUIDE_URI, P14_TRANSITION_TYPES, P15_GUIDE_URI, PANOSE_FAMILY_MAP, PANOSE_MONOSPACE_PROPORTION, PANOSE_SANS_SERIF_STYLES, PANOSE_WEIGHT_MAP, PML_XMLNS, POWERPOINT_PRESENCE_KEY, PPTX_JSON_FILE_EXTENSION, PPTX_JSON_FORMAT, PPTX_JSON_MIME_TYPE, PPTX_JSON_VERSION, PRESENTATION_CHILD_ORDER, PRESENTATION_FIELD_KEYS, PRESENTATION_FIELD_NAMES, PRESET_COLOR_MAP, PRESET_GEOMETRY_ALIASES, PRESET_SHAPE_CATEGORY_LABELS, PRESET_SHAPE_CLIP_PATHS, PRESET_SHAPE_DEFINITIONS, PRESET_SHAPE_GEOMETRY_TABLE, PptxJsonConverter, PptxJsonFormatError, RC4_ALG_ID, RasterCanvas, SHAPE_STYLE_ORDER, SHAPE_TREE_ELEMENT_TAGS, SLIDE_FIELD_KIND, SMART_ART_DEFINITION_PARTS, SP_PR_ORDER2 as SP_PR_ORDER, STROKE_DASH_OPTIONS, STYLE_MATRIX_EFFECT_KEYS, STYLE_MATRIX_FILL_KEYS, STYLE_MATRIX_LINE_KEYS, ST_SHAPE_TYPE_VALUES, SWITCHABLE_LAYOUT_TYPES, SYSTEM_COLOR_MAP, SvgExporter, TC_PR_BORDERS_ORDER, TEXT_AUTONUMBER_SCHEMES, TEXT_ORIENTATION_IDENTITY, THAI_CONSONANTS, THEME_COLOR_SCHEME_KEYS, VML_SHAPE_TAGS, WHITESPACE_PRESERVING_TAGS, XML_PROLOG, addSmartArtNode, addSmartArtNodeAsChild, algorithmParam, alphaLabel, annotateCustomGeometryCommandOrder, annotateSmartArtTextOrder, applyActiveXControlsToSlide, applyBubbleChartOptions, applyCellWritesToWorksheet, applyChartAxisDisplayUnitsToXml, applyChartAxisLabelFormatting, applyChartAxisScaling, applyChartDateAxisUnits, applyChartGradientToSpPr, applyChartLayouts, applyChartManualLayout, applyChartUpDownBars, applyCustomGeometryGuideOverrides, applyCustomLayoutOverrides, applyCustomShows, applyDataLabelsRangeToDLbls, applyDiagramRelationshipIds, applyDrawingLineDash, applyDrawingMediaReference, applyImportedPptxData, applyKinsokuToXml, applyOleDocumentParagraphEdit, applyOleNestedDeckBytes, applyOleNestedDeckElementTextEdit, applyOleSheetCellEdit, applySections, applySeriesDataPointsToXml, applySeriesMarkerToXml, applySeriesPictureOptionsToXml, applySmartArtQuickStyle3d, applySmartArtRoleColors, applyTextBodySp3d, applyThemeOverrideToSlide, applyThemeToData, areNamespacesSupported, arrangeComposite3 as arrangeComposite, arrangeConn2 as arrangeConn, arrangeCycle, arrangeHierarchy2 as arrangeHierarchy, arrangeLinear3 as arrangeLinear, arrangePyramid, arrangeSnake, arrangeSpacer, arrangeText, avLstForPreset, base64Decode, base64ToBytes, bijectiveLabel, blobUrlToDataUrl, buildActiveXControlNode, buildCalloutLeaderLineSvgPath, buildChartGradFillXml, buildChartMarkerXml, buildChartUniqueIdExtLst, buildClrMapOverrideXml, buildConstraintIndex, buildCustomGeometryPathsFromNodes, buildDefRPrTextProperties, buildEffectDagTreeFromXml, buildFabricatedDiagramDataXml, buildFabricatedDrawingXml, buildFontFamilyString, buildForest, buildGuideListExtension, buildInkMlContent, buildLinkedTextBoxChains, buildNodeGuidMap, buildOle2, buildPointFromParagraphs, buildPointFromRuns, buildPointText, buildPptxJsonDocument, buildPresentationGuidMap, buildSaveTimeCustomGeometryXml, buildSmartArtColorLists, buildSmartArtColorRoleMap, buildSrgbColorChoice, buildThemeColorMap, buildTree, buildTrendlineLabel, bytesToBase64, captureStyleBaseline, catmullRomToBezier, chartColorChoiceValue, chartColorHex, chartDataAddCategory, chartDataAddSeries, chartDataChangeType, chartDataRemoveCategory, chartDataRemoveSeries, chartDataUpdatePoint, chartGradientsEqual, chartGridAddCategory, chartGridAddSeries, chartGridRemoveCategory, chartGridRemoveSeries, chartGridSetCategoryLabel, chartGridSetCellValue, checkBlankSlide, checkComplexTables, checkDuplicateTitles, checkLowContrast, checkMissingAltText, checkMissingSlideTitle, checkPresentation, chevronPoints, chooseAlgType2 as chooseAlgType, circleNode, clampByRules, classifyPanose, collectAllText, colorsEqual, colour, combineShapes, computeContrastRatio, computeSmartArtElementsWithoutCache, concatArrays, containsConvertibleStrictNamespaceAttribute, convertMetafileToDataUrl, convertXmlToStrict, createArrayBufferCopy, createBuiltinVariables, createDrawingObjectId, createEditorId, createLineStyleGate, createModifyVerifier, createOfficeGuid, createSaltlessModifyVerifierForTesting, createTemplateConnectorRawXml, createTemplateShapeRawXml, createUniformTextSegments, cropShapeForPresetGeometry, cssDegreesToOoxmlGradientAngle, customGeometryPathsToSvgSubpaths, decodeJsonValue, decodeOle10Native, decodePngDimensions, decodePptxJsonText, decodeXmlEntities, decomposeSmartArt, decryptPptx, demoteSmartArtNode, deobfuscateFont, deriveSlideTitle, deriveSlideTitles, deserializePptxFromJson, detectDigitalSignatures, detectFileFormat, detectFontFormat, detectOleObjectType, detectOlePayloadEditorKind, detectStrictConformance, discoverArrangement2 as discoverArrangement, distributeSegmentsAcrossChain, douglasPeucker, effectChild, elementActionToPptxAction, elementHasAction, emu, encodeCompressedPng, encodeJsonValue, encodeOle10Native, encodePasswordUtf16LE, encodePng, encodeXmlAttributeValue, encodeXmlTextValue, encryptPptx, ensureArrayValue, ensureXmlChild, ensureXmlChildOrCreate, ensureXmlChildren, esc, escAttr, escText, estimateMediaDurationMs, estimateTextBoxCapacity, evaluateCustomGeometryPathData, evaluateCustomGeometryPaths, evaluateGeometryPaths, evaluateGuides, evaluatePresetShape, expandRangeAddresses, extractColorChoiceXml, extractGuidFromPartName, extractModel3DTransform, extractStyleReferenceColorXml, fetchUrlToBytes, fillIsPurelyStyleMatrix, filterValidShapeAdjustmentEntries, findChartExtByUri, findChildByLocalName, findCnvPrNode, findConstraint, findCustomShow, findKey6 as findKey, firstParagraphRuns, fitFontSize, flattenChartUserShapes, flattenNodes, formatAutoNumberMarker, formatCommentTimestamp, formatScriptAutoNumber, fragmentShapes, gearPoints, generateFontGuid, getAdjustmentAwareClipPath, getAdjustmentAwareShapeClipPath, getAnimationPresetInfo, getCalloutLeaderLineGeometry, getCalloutTier, getCalloutViewBoxBounds, getCloudCalloutClipPath, getCloudClipPath, getCloudPathForRendering, getCommentMarkerPosition, getConnectorAdjustment, getConnectorPathGeometry, getCssBorderDashStyle, getCustomShowNames, getCustomShowPositionLabel, getElementLabel, getElementOrientationMatrix, getElementTextContent, getElementTransform, getImageMaskStyle, getLinkedTextBoxSegments, getNativeAnimationPresetMetadata, getOleDocumentParagraphs, getOleNestedDeckBytes, getOleNestedDeckDetail, getOleObjectTypeLabel, getOleSheetGrid, getPanoseWeight, getPresetConnectionSites, getPresetShapeClipPath, getPresetTextRect, getPresetsByCategory, getRoundRectRadiusPx, getSectionSlideRange, getShapeClipPath, getShapeClipPathFromPreset, getShapeType, getSignaturePathsToStrip, getSubstituteFontFamily, getSubstituteFonts, getSupportedNamespaces, getSvgStrokeDasharray, getTextCompensationTransform, getZoomElements, getZoomTargetSlideIndexes, gradFill, groupElements, guidToKey, guideEmuToPx, guidePxToEmu, hasDirectSubstitution, hasNonTrivialOverride, hasReference, hasShapeProperties, hasTextProperties, hash, hebrewAlphaLabel, inferOleExtensionFromTarget, inheritCustomGeometryCommandOrder, inheritedPlaceholderFieldType, inkBounds, inkElementToStrokes, inkLengthToPx, inkPointMapper, insertAt2 as insertAt, interpretSmartArtLayout2 as interpretSmartArtLayout, interpretedLayoutToElements, intersectPolygons, intersectShapes, intersectSvgPaths, isAlternateContentChoiceSupported, isAlternateContentChoiceXmlSupported, isCalloutShape, isConnectorElement, isContentPoint, isDefaultSmartArtLabelScene, isEditableTextElement, isHeaderFooterPlaceholder, isImageLikeElement, isInkElement, isNamespaceSupported, isOle2CompoundFile, isParetoChartData, isPptxJsonText, isShapeElement, isStShapeType, isStrictNamespaceUri, isSummaryZoomSlide, isSwitchableLayoutType, isTemplateElement, isTemplateElementId, isTextElement, isTextOrientationMatrix, isTransitionalNamespaceUri, isXmlNode, isZoomElement, isZoomElement2, itemNode, lookupPresetConnectionSites, lookupPresetShape, lookupPresetTextRectOverride, makeStoreAwareId, mergeAttributeEffectNode, mergeEffectNode, mergeShapes, mergeSmartArtConnectionXml, mergeSmartArtPointXml, mergeStyleParts, mergeThemeColorOverride, mimeTypeForOleFile, multiplyTextOrientationMatrices, navigateCustomShow, newSmartArtGuid, nodeFill, nodeOpacity, nodeStroke, nodeTextStyle, normalizeNamespaceUri, normalizePositiveFixedAngleDegrees, normalizeStShapeType, normalizeStrictXml, normalizeStrokeDashType, numericParam, obfuscateFont, oleBytesToDataUrl, oleObjectTypeToGlyph, ooxmlArcToSvg, ooxmlGradientAngleToCssDegrees, orderedXmlKey, parseActiveXControlsFromSlide, parseAdjustmentValues, parseAlignmentAttr, parseBodyPrBooleanAttrs, parseBubbleChartOptions, parseBulletSizePercent, parseChart3DSurfaces, parseChartAxes, parseChartDataLabelOptions, parseChartDataPointPicture, parseChartDataPointPictureBlipRel, parseChartFormulaRange, parseChartLayouts, parseChartManualLayout, parseChartUniqueId, parseChartUpDownBars, parseChartUserShapesDrawing, parseChartWideTextStyle, parseCustomShows, parseCxChartSeries, parseDataTable, parseDataUrlToBytes, parseDefRPrTextStyle, parseDiagramRelationshipIds, parseDrawingColor, parseDrawingColorChoice, parseDrawingColorOpacity, parseDrawingLineDash, parseDrawingMediaReference, parseEmbeddedXlsx, parseEncryptionInfo, parseGuideDefinitions, parseHexColor, parseImplicitBlipPictureFill, parseInkMlContent, parseKinsoku, parseLineSpacingExactPt, parseLineSpacingMultiplier, parseLineStyle, parseMarker, parseModel3DScene, parseOle2, parseP14DirectChild, parseP14FromExtLst, parsePanoseBytes, parsePanoseString, parseParagraphExtraAttributes, parseParagraphLevel, parseParagraphMargins, parseParagraphRtl, parseParagraphSpacingPx, parsePptxJson, parsePptxJsonDocument, parsePresentationDrawingGuides, parsePresentationSmartTags, parseSeriesDataLabels, parseSeriesDataPoints, parseSeriesErrBars, parseSeriesExplosion, parseSeriesTrendlines, parseShapeId, parseShapeProps, parseSignatureXml, parseSlideDrawingGuides, parseSmartArtColorListHexes, parseSmartArtColorStyleLabels, parseSmartArtConnection, parseSmartArtDefinitionHeaderList, parseSmartArtDefinitionMetadata, parseSmartArtPointCustomLayout, parseSmartArtPresLayoutVars, parseSmartArtQuickStyleLabels, parseSmartArtStyleLabelRefs, parseSmartArtTextParagraphs, parseStructuredCustomGeometry, parseTabStops, parseVmlElement, parseVmlElements, polygonNode, polygonsToSvgPath, positiveFixedAngleAttribute, pptxActionToElementAction, pptxDataFromJsonDocument, preservesSpreadsheetXmlWhitespace, preservesXmlWhitespace, presetGeometryForCropShape, prismFamilyFlags, prismFamilyTypeForFlags, prismFamilyTypeOfNode, projectSmartArtNodeText, promoteSmartArtNode, ratioConstraint, reResolveElementColors, reResolveElementFonts, reResolveSlideColors, reResolveSlideFonts, readChartManualLayoutValues, readFileAsDataUrl, readOleDocParagraphs, readOleDocumentParagraphs, readOleNestedDeckDetail, readOleNestedDeckFirstSlideTextLines, readOleSheetGrid, readOleXlsGrid, readPathListCommandOrder, reapplyAlternateContentToTree, reassignDescendantIds, rectNode, reflowSmartArtLayout, regenerateClonedUniqueId, regenerateSmartArtDrawingShapes, relativeLuminance, relayoutSmartArt, remapElementShapeIds, remapShapeIdReferences, removeSmartArtNode, renderOleDeckPreviewPng, renderOleDocumentPreviewPng, renderOleIconPng, renderOleSheetPreviewPng, reorderObjectKeys, reorderObjectKeysByLocalName, reorderSmartArtNode, reorderSmartArtNodeToIndex, repairPptx, repeatedLabel, replaceFirstText, replaceOleEmbedding, replaceOleFile, resetDecomposeCounter, resetSmartArtEditCounter, resetSpPrFormattingForStyleMatrix, resolveConstraint, resolveConstraintDeclaredBy, resolveCoordinate, resolveCustomGeometryGuideContext, resolveCustomGeometryToken, resolveCustomShowSlideIndices, resolveDisplayedChartTypeName, resolveFlowDirection, resolveLayoutDisplayName, resolveModel3DMimeType, resolveModifyVerifierAlgorithmName, resolveOleEditorKindFromPayload, resolveParagraphAlignment, resolveRatioConstraint, resolveSmartArtEffectIntensity, resolveSmartArtNodeCoherent3DOff, resolveSmartArtNodeStyleRoles, resolveTableCellStyle, resolveTxPrDefRPr, rgb, roleOf, romanNumeral, roundCoordinate, safeResolveZipPath, sampleFirstPixelColorFromBytes, scaleVectorToIntegers, selectAlternateContentBranch, selectArrangedNodes, serializeColorChoice, serializeColorChoiceWithRef, serializePptxToJson, serializeSmartArtDefinitionHeaderList, serializeTabStop, setAutoTitleDeleted, setOleObjectName, setSmartArtNodeStyle, shadowOffsetToDistanceAndDirection, shouldRebuildFromParagraphs, shouldRebuildFromRuns, shouldRenderFallbackLabel, shouldReturnToZoomSlide, smartArtParagraphsText, smartArtQuickStyleHas3d, solidFill, stripParentDirSegments, stripXmlOrderMarkers, stripXmlOrderSuffix, strokeFor, styleContext, styleShadow, styleStroke, subtractPolygons, subtractShapes, subtractSvgPaths, supportsChartGradientFill, svgPathToPolygons, svgToCustomGeometryPaths, switchSmartArtLayout, syncPictureShapeTypeWithCropShape, themeColorSchemesEqual, toArabicAbjadNumeral, toChineseNumeral, toCjkDigitString, toDevanagariDigits, toEa1ChsNumeral, toEa1ChtNumeral, toFullWidthDigits, toHebrewNumeral, toStrictNamespaceUri, toThaiDigits, treeDepth, treeWidth, truncate, uint32LE, ungroupElements, unionPolygons, unionShapes, unionSvgPaths, unwrapAlternateContent, unwrapOleEmbedding, updateSmartArtNodeText, upsertChartAxisChild, validatePptx, validateSmartArtColorStyleLabels, validateSmartArtDefinitionHeaderList, validateSmartArtDefinitionMetadata, verifyModifyPassword, verifyPassword, verifySignatureDigests, visitXmlObjects, withThemePlaceholderColor, writeBodyPrBooleanAttrs, writeChartColorChoice, writeChartShapeProps, writeOleDocParagraphEdit, writeOleDocumentParagraphEdit, writeOleNestedDeckElementText, writeOleSheetCellEdit, writeOleXlsNumericCellEdit, writeOleXlsStringCellEdit, writeShapeEffects, xmlAttr, xmlAttrBool, xmlAttrNumber, xmlChild, xmlChildren, xmlEscape, xmlHasChild, xmlPath, xmlText, zlibDeflate, zlibStore };
|
|
62064
|
+
export { ALL_ANIMATION_PRESETS, ARABIC_ABJADI_LETTERS, ARABIC_HIJAI_LETTERS, BLIP_FILL_ORDER, CHART_ERROR_BAR_DIRECTIONS, CHART_ERROR_BAR_TYPES, CHART_ERROR_VALUE_TYPES, CLOUD_CALLOUT_TAIL_COUNT, CLOUD_LOBE_COUNT, COLOR_MAP_ALIAS_KEYS, CONNECTOR_ARROW_OPTIONS, CONNECTOR_GEOMETRY_OPTIONS, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_CHART_GRADIENT_ANGLE, DEFAULT_COLOR_MAP, DEFAULT_FILL_COLOR, DEFAULT_FONT_FAMILY, DEFAULT_SCHEME_COLOR_MAP, DEFAULT_STROKE_COLOR, DEFAULT_TEXT_COLOR, DEFAULT_TEXT_FONT_SIZE, DGM_XMLNS, DIAGRAM_DRAWING_CONTENT_TYPE, DIAGRAM_DRAWING_REL_TYPE, DataIntegrityError, EFFECT_LST_ORDER, ELEMENT_FIELD_KIND, EMPHASIS_PRESETS, EMPTY_CONSTRAINT_INDEX, EMU_PER_INCH, EMU_PER_PIXEL, EMU_PER_POINT, EMU_PER_PX, ENTRANCE_PRESETS, ENTRY_TYPE_ROOT, EXIT_PRESETS, EncryptedFileError, FONT_SUBSTITUTION_MAP, FreeformPathBuilder, HEBREW_LETTERS, HINDI_CONSONANTS, HINDI_VOWELS, IncorrectPasswordError, MAX_SHAPE_ID, MAX_TABLE_DIMENSION, MIN_ELEMENT_SIZE, MIN_TABLE_DIMENSION, MOTION_PATH_PRESETS, NS, OOXML_ANGLE_UNITS_PER_DEGREE, OOXML_PERCENT_UNITS, Ole2ParseError, P14_DIR_IS_ORIENTATION_TYPE, P14_GUIDE_URI, P14_TRANSITION_TYPES, P15_GUIDE_URI, PANOSE_FAMILY_MAP, PANOSE_MONOSPACE_PROPORTION, PANOSE_SANS_SERIF_STYLES, PANOSE_WEIGHT_MAP, PML_XMLNS, POWERPOINT_PRESENCE_KEY, PPTX_JSON_FILE_EXTENSION, PPTX_JSON_FORMAT, PPTX_JSON_MIME_TYPE, PPTX_JSON_VERSION, PRESENTATION_CHILD_ORDER, PRESENTATION_FIELD_KEYS, PRESENTATION_FIELD_NAMES, PRESET_COLOR_MAP, PRESET_GEOMETRY_ALIASES, PRESET_SHAPE_CATEGORY_LABELS, PRESET_SHAPE_CLIP_PATHS, PRESET_SHAPE_DEFINITIONS, PRESET_SHAPE_GEOMETRY_TABLE, PptxJsonConverter, PptxJsonFormatError, RC4_ALG_ID, RasterCanvas, SHAPE_STYLE_ORDER, SHAPE_TREE_ELEMENT_TAGS, SLIDE_FIELD_KIND, SMART_ART_DEFINITION_PARTS, SP_PR_ORDER2 as SP_PR_ORDER, STROKE_DASH_OPTIONS, STYLE_MATRIX_EFFECT_KEYS, STYLE_MATRIX_FILL_KEYS, STYLE_MATRIX_LINE_KEYS, ST_SHAPE_TYPE_VALUES, SWITCHABLE_LAYOUT_TYPES, SYSTEM_COLOR_MAP, SvgExporter, TC_PR_BORDERS_ORDER, TEXT_AUTONUMBER_SCHEMES, TEXT_ORIENTATION_IDENTITY, THAI_CONSONANTS, THEME_COLOR_SCHEME_KEYS, VML_SHAPE_TAGS, WHITESPACE_PRESERVING_TAGS, XML_PROLOG, addSmartArtNode, addSmartArtNodeAsChild, algorithmParam, alphaLabel, annotateCustomGeometryCommandOrder, annotateSmartArtTextOrder, applyActiveXControlsToSlide, applyBubbleChartOptions, applyCellWritesToWorksheet, applyChartAxisDisplayUnitsToXml, applyChartAxisLabelFormatting, applyChartAxisScaling, applyChartDateAxisUnits, applyChartGradientToSpPr, applyChartLayouts, applyChartManualLayout, applyChartUpDownBars, applyCustomGeometryGuideOverrides, applyCustomLayoutOverrides, applyCustomShows, applyDataLabelsRangeToDLbls, applyDiagramRelationshipIds, applyDrawingLineDash, applyDrawingMediaReference, applyImportedPptxData, applyKinsokuToXml, applyOleDocumentParagraphEdit, applyOleNestedDeckBytes, applyOleNestedDeckElementTextEdit, applyOleSheetCellEdit, applySections, applySeriesDataPointsToXml, applySeriesMarkerToXml, applySeriesPictureOptionsToXml, applySmartArtQuickStyle3d, applySmartArtRoleColors, applyTextBodySp3d, applyThemeOverrideToSlide, applyThemeToData, areNamespacesSupported, arrangeComposite3 as arrangeComposite, arrangeConn2 as arrangeConn, arrangeCycle, arrangeHierarchy2 as arrangeHierarchy, arrangeLinear3 as arrangeLinear, arrangePyramid, arrangeSnake, arrangeSpacer, arrangeText, avLstForPreset, base64Decode, base64ToBytes, bijectiveLabel, blobUrlToDataUrl, buildActiveXControlNode, buildCalloutLeaderLineSvgPath, buildChartGradFillXml, buildChartMarkerXml, buildChartUniqueIdExtLst, buildClrMapOverrideXml, buildConstraintIndex, buildCustomGeometryPathsFromNodes, buildDefRPrTextProperties, buildEffectDagTreeFromXml, buildFabricatedDiagramDataXml, buildFabricatedDrawingXml, buildFontFamilyString, buildForest, buildGuideListExtension, buildInkMlContent, buildLinkedTextBoxChains, buildNodeGuidMap, buildOle2, buildPointFromParagraphs, buildPointFromRuns, buildPointText, buildPptxJsonDocument, buildPresentationGuidMap, buildSaveTimeCustomGeometryXml, buildSmartArtColorLists, buildSmartArtColorRoleMap, buildSrgbColorChoice, buildThemeColorMap, buildTree, buildTrendlineLabel, buildXml, bytesToBase64, captureStyleBaseline, catmullRomToBezier, chartColorChoiceValue, chartColorHex, chartDataAddCategory, chartDataAddSeries, chartDataChangeType, chartDataRemoveCategory, chartDataRemoveSeries, chartDataUpdatePoint, chartGradientsEqual, chartGridAddCategory, chartGridAddSeries, chartGridRemoveCategory, chartGridRemoveSeries, chartGridSetCategoryLabel, chartGridSetCellValue, chartTrendlineKind, chartTrendlineType, checkBlankSlide, checkComplexTables, checkDuplicateTitles, checkLowContrast, checkMissingAltText, checkMissingSlideTitle, checkPresentation, chevronPoints, children2 as children, chooseAlgType2 as chooseAlgType, circleNode, clampByRules, classifyPanose, collectAllText, colorsEqual, colour, combineShapes, computeContrastRatio, computeSmartArtElementsWithoutCache, concatArrays, containsConvertibleStrictNamespaceAttribute, convertMetafileToDataUrl, convertXmlToStrict, createArrayBufferCopy, createBuiltinVariables, createDrawingObjectId, createEditorId, createLineStyleGate, createModifyVerifier, createOfficeGuid, createSaltlessModifyVerifierForTesting, createTemplateConnectorRawXml, createTemplateShapeRawXml, createUniformTextSegments, cropShapeForPresetGeometry, cssDegreesToOoxmlGradientAngle, customGeometryPathsToSvgSubpaths, decodeJsonValue, decodeOle10Native, decodePngDimensions, decodePptxJsonText, decodeXmlEntities, decomposeSmartArt, decryptPptx, demoteSmartArtNode, deobfuscateFont, deriveSlideTitle, deriveSlideTitles, deserializePptxFromJson, detectDigitalSignatures, detectFileFormat, detectFontFormat, detectOleObjectType, detectOlePayloadEditorKind, detectStrictConformance, discoverArrangement2 as discoverArrangement, distributeSegmentsAcrossChain, douglasPeucker, effectChild, elementActionToPptxAction, elementHasAction, elements, emu, encodeCompressedPng, encodeJsonValue, encodeOle10Native, encodePasswordUtf16LE, encodePng, encodeXmlAttributeValue, encodeXmlTextValue, encryptPptx, ensureArrayValue, ensureXmlChild, ensureXmlChildOrCreate, ensureXmlChildren, esc, escAttr, escText, estimateMediaDurationMs, estimateTextBoxCapacity, evaluateCustomGeometryPathData, evaluateCustomGeometryPaths, evaluateGeometryPaths, evaluateGuides, evaluatePresetShape, expandRangeAddresses, extractColorChoiceXml, extractGuidFromPartName, extractModel3DTransform, extractStyleReferenceColorXml, fetchUrlToBytes, fillIsPurelyStyleMatrix, filterValidShapeAdjustmentEntries, findChartExtByUri, findChildByLocalName, findCnvPrNode, findConstraint, findCustomShow, findKey6 as findKey, first, firstParagraphRuns, fitFontSize, flattenChartUserShapes, flattenNodes, formatAutoNumberMarker, formatCommentTimestamp, formatScriptAutoNumber, fragmentShapes, gearPoints, generateFontGuid, getAdjustmentAwareClipPath, getAdjustmentAwareShapeClipPath, getAnimationPresetInfo, getCalloutLeaderLineGeometry, getCalloutTier, getCalloutViewBoxBounds, getCloudCalloutClipPath, getCloudClipPath, getCloudPathForRendering, getCommentMarkerPosition, getConnectorAdjustment, getConnectorPathGeometry, getCssBorderDashStyle, getCustomShowNames, getCustomShowPositionLabel, getElementLabel, getElementOrientationMatrix, getElementTextContent, getElementTransform, getImageMaskStyle, getLinkedTextBoxSegments, getNativeAnimationPresetMetadata, getOleDocumentParagraphs, getOleNestedDeckBytes, getOleNestedDeckDetail, getOleObjectTypeLabel, getOleSheetGrid, getPanoseWeight, getPresetConnectionSites, getPresetShapeClipPath, getPresetTextRect, getPresetsByCategory, getRoundRectRadiusPx, getSectionSlideRange, getShapeClipPath, getShapeClipPathFromPreset, getShapeType, getSignaturePathsToStrip, getSubstituteFontFamily, getSubstituteFonts, getSupportedNamespaces, getSvgStrokeDasharray, getTextCompensationTransform, getZoomElements, getZoomTargetSlideIndexes, gradFill, groupElements, guidToKey, guideEmuToPx, guidePxToEmu, hasDirectSubstitution, hasNonTrivialOverride, hasReference, hasShapeProperties, hasTextProperties, hash, hebrewAlphaLabel, inferOleExtensionFromTarget, inheritCustomGeometryCommandOrder, inheritedPlaceholderFieldType, inkBounds, inkElementToStrokes, inkLengthToPx, inkPointMapper, insertAt2 as insertAt, interpretSmartArtLayout2 as interpretSmartArtLayout, interpretedLayoutToElements, intersectPolygons, intersectShapes, intersectSvgPaths, isAlternateContentChoiceSupported, isAlternateContentChoiceXmlSupported, isCalloutShape, isConnectorElement, isContentPoint, isDefaultSmartArtLabelScene, isEditableTextElement, isHeaderFooterPlaceholder, isImageLikeElement, isInkElement, isNamespaceSupported, isOle2CompoundFile, isParetoChartData, isPptxJsonText, isShapeElement, isStShapeType, isStrictNamespaceUri, isSummaryZoomSlide, isSwitchableLayoutType, isTemplateElement, isTemplateElementId, isTextElement, isTextOrientationMatrix, isTransitionalNamespaceUri, isXmlNode, isZoomElement, isZoomElement2, itemNode, lookupPresetConnectionSites, lookupPresetShape, lookupPresetTextRectOverride, makeStoreAwareId, mergeAttributeEffectNode, mergeEffectNode, mergeShapes, mergeSmartArtConnectionXml, mergeSmartArtPointXml, mergeStyleParts, mergeThemeColorOverride, mimeTypeForOleFile, multiplyTextOrientationMatrices, navigateCustomShow, newSmartArtGuid, nodeFill, nodeOpacity, nodeStroke, nodeTextStyle, normalizeNamespaceUri, normalizePositiveFixedAngleDegrees, normalizeStShapeType, normalizeStrictXml, normalizeStrokeDashType, numericParam, obfuscateFont, oleBytesToDataUrl, oleObjectTypeToGlyph, ooxmlArcToSvg, ooxmlGradientAngleToCssDegrees, orderedXmlKey, parseActiveXControlsFromSlide, parseAdjustmentValues, parseAlignmentAttr, parseBodyPrBooleanAttrs, parseBubbleChartOptions, parseBulletSizePercent, parseChart3DSurfaces, parseChartAxes, parseChartDataLabelOptions, parseChartDataPointPicture, parseChartDataPointPictureBlipRel, parseChartFormulaRange, parseChartLayouts, parseChartManualLayout, parseChartUniqueId, parseChartUpDownBars, parseChartUserShapesDrawing, parseChartWideTextStyle, parseCustomShows, parseCxChartSeries, parseDataTable, parseDataUrlToBytes, parseDefRPrTextStyle, parseDiagramRelationshipIds, parseDrawingColor, parseDrawingColorChoice, parseDrawingColorOpacity, parseDrawingLineDash, parseDrawingMediaReference, parseEmbeddedXlsx, parseEncryptionInfo, parseGuideDefinitions, parseHexColor, parseImplicitBlipPictureFill, parseInkMlContent, parseKinsoku, parseLineSpacingExactPt, parseLineSpacingMultiplier, parseLineStyle, parseMarker, parseModel3DScene, parseOle2, parseP14DirectChild, parseP14FromExtLst, parsePanoseBytes, parsePanoseString, parseParagraphExtraAttributes, parseParagraphLevel, parseParagraphMargins, parseParagraphRtl, parseParagraphSpacingPx, parsePptxJson, parsePptxJsonDocument, parsePresentationDrawingGuides, parsePresentationSmartTags, parseSeriesDataLabels, parseSeriesDataPoints, parseSeriesErrBars, parseSeriesExplosion, parseSeriesTrendlines, parseShapeId, parseShapeProps, parseSignatureXml, parseSlideDrawingGuides, parseSmartArtColorListHexes, parseSmartArtColorStyleLabels, parseSmartArtConnection, parseSmartArtDefinitionHeaderList, parseSmartArtDefinitionMetadata, parseSmartArtPointCustomLayout, parseSmartArtPresLayoutVars, parseSmartArtQuickStyleLabels, parseSmartArtStyleLabelRefs, parseSmartArtTextParagraphs, parseStructuredCustomGeometry, parseTabStops, parseVmlElement, parseVmlElements, parseXml, polygonNode, polygonsToSvgPath, positiveFixedAngleAttribute, pptxActionToElementAction, pptxDataFromJsonDocument, preservesSpreadsheetXmlWhitespace, preservesXmlWhitespace, presetGeometryForCropShape, prismFamilyFlags, prismFamilyTypeForFlags, prismFamilyTypeOfNode, projectSmartArtNodeText, promoteSmartArtNode, ratioConstraint, reResolveElementColors, reResolveElementFonts, reResolveSlideColors, reResolveSlideFonts, readChartManualLayoutValues, readFileAsDataUrl, readOleDocParagraphs, readOleDocumentParagraphs, readOleNestedDeckDetail, readOleNestedDeckFirstSlideTextLines, readOleSheetGrid, readOleXlsGrid, readPathListCommandOrder, reapplyAlternateContentToTree, reassignDescendantIds, rectNode, reflowSmartArtLayout, regenerateClonedUniqueId, regenerateSmartArtDrawingShapes, relAttr, relativeLuminance, relayoutSmartArt, remapElementShapeIds, remapShapeIdReferences, removeSmartArtNode, renderOleDeckPreviewPng, renderOleDocumentPreviewPng, renderOleIconPng, renderOleSheetPreviewPng, reorderObjectKeys, reorderObjectKeysByLocalName, reorderSmartArtNode, reorderSmartArtNodeToIndex, repairPptx, repeatedLabel, replaceFirstText, replaceOleEmbedding, replaceOleFile, resetDecomposeCounter, resetSmartArtEditCounter, resetSpPrFormattingForStyleMatrix, resolveConstraint, resolveConstraintDeclaredBy, resolveCoordinate, resolveCustomGeometryGuideContext, resolveCustomGeometryToken, resolveCustomShowSlideIndices, resolveDisplayedChartTypeName, resolveFlowDirection, resolveLayoutDisplayName, resolveModel3DMimeType, resolveModifyVerifierAlgorithmName, resolveOleEditorKindFromPayload, resolveParagraphAlignment, resolveRatioConstraint, resolveSmartArtEffectIntensity, resolveSmartArtNodeCoherent3DOff, resolveSmartArtNodeStyleRoles, resolveTableCellStyle, resolveTxPrDefRPr, rgb, roleOf, romanNumeral, roundCoordinate, safeResolveZipPath, sampleFirstPixelColorFromBytes, scaleVectorToIntegers, selectAlternateContentBranch, selectArrangedNodes, serializeColorChoice, serializeColorChoiceWithRef, serializePptxToJson, serializeSmartArtDefinitionHeaderList, serializeTabStop, setAutoTitleDeleted, setOleObjectName, setSmartArtNodeStyle, shadowOffsetToDistanceAndDirection, shouldRebuildFromParagraphs, shouldRebuildFromRuns, shouldRenderFallbackLabel, shouldReturnToZoomSlide, smartArtParagraphsText, smartArtQuickStyleHas3d, solidFill, stripParentDirSegments, stripXmlOrderMarkers, stripXmlOrderSuffix, strokeFor, styleContext, styleShadow, styleStroke, subtractPolygons, subtractShapes, subtractSvgPaths, supportsChartGradientFill, svgPathToPolygons, svgToCustomGeometryPaths, switchSmartArtLayout, syncPictureShapeTypeWithCropShape, themeColorSchemesEqual, toArabicAbjadNumeral, toChineseNumeral, toCjkDigitString, toDevanagariDigits, toEa1ChsNumeral, toEa1ChtNumeral, toFullWidthDigits, toHebrewNumeral, toStrictNamespaceUri, toThaiDigits, treeDepth, treeWidth, truncate, uint32LE, ungroupElements, unionPolygons, unionShapes, unionSvgPaths, unwrapAlternateContent, unwrapOleEmbedding, updateSmartArtNodeText, upsertChartAxisChild, validatePptx, validateSmartArtColorStyleLabels, validateSmartArtDefinitionHeaderList, validateSmartArtDefinitionMetadata, verifyModifyPassword, verifyPassword, verifySignatureDigests, visitXmlObjects, withThemePlaceholderColor, writeBodyPrBooleanAttrs, writeChartColorChoice, writeChartShapeProps, writeOleDocParagraphEdit, writeOleDocumentParagraphEdit, writeOleNestedDeckElementText, writeOleSheetCellEdit, writeOleXlsNumericCellEdit, writeOleXlsStringCellEdit, writeShapeEffects, xmlAttr, xmlAttrBool, xmlAttrNumber, xmlChild, xmlChildren, xmlEscape, xmlHasChild, xmlPath, xmlText, zlibDeflate, zlibStore };
|