ooxml-core 1.24.2 → 1.25.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-AN42B3JR.mjs +4 -0
- package/dist/{PptxHandler-KFEE7O7W.cjs → PptxHandler-O25PF53M.cjs} +3 -3
- package/dist/{PptxHandler-5TWAQWPK.mjs → PptxHandler-UTNNU6PO.mjs} +3 -3
- package/dist/{PresentationBuilder-SXLRXYDI.cjs → PresentationBuilder-A4XU72IV.cjs} +5 -5
- package/dist/{PresentationBuilder-SCT5AQBP.mjs → PresentationBuilder-GTXNYSRI.mjs} +2 -2
- package/dist/{PresentationBuilder-SVHIKT4C.mjs → PresentationBuilder-TNMO5MPC.mjs} +3 -3
- package/dist/automation/index.cjs +10181 -6066
- package/dist/automation/index.mjs +10181 -6066
- package/dist/chart/data-sheet.d.ts +86 -0
- package/dist/chart/data-sheet.d.ts.map +1 -0
- package/dist/chart/edit/axes.d.ts +49 -0
- package/dist/chart/edit/axes.d.ts.map +1 -0
- package/dist/chart/edit/chartex-data.d.ts +15 -0
- package/dist/chart/edit/chartex-data.d.ts.map +1 -0
- package/dist/chart/edit/chartex.d.ts +61 -0
- package/dist/chart/edit/chartex.d.ts.map +1 -0
- package/dist/chart/edit/data-sheet.d.ts +10 -0
- package/dist/chart/edit/data-sheet.d.ts.map +1 -0
- package/dist/chart/edit/draft.d.ts +27 -0
- package/dist/chart/edit/draft.d.ts.map +1 -0
- package/dist/chart/edit/fill.d.ts +47 -0
- package/dist/chart/edit/fill.d.ts.map +1 -0
- package/dist/chart/edit/gradient.d.ts +44 -0
- package/dist/chart/edit/gradient.d.ts.map +1 -0
- package/dist/chart/edit/group-options.d.ts +14 -0
- package/dist/chart/edit/group-options.d.ts.map +1 -0
- package/dist/chart/edit/index.d.ts +23 -0
- package/dist/chart/edit/index.d.ts.map +1 -0
- package/dist/chart/edit/intent.d.ts +72 -0
- package/dist/chart/edit/intent.d.ts.map +1 -0
- package/dist/chart/edit/legend-labels.d.ts +34 -0
- package/dist/chart/edit/legend-labels.d.ts.map +1 -0
- package/dist/chart/edit/new-chart.d.ts +14 -0
- package/dist/chart/edit/new-chart.d.ts.map +1 -0
- package/dist/chart/edit/paint.d.ts +20 -0
- package/dist/chart/edit/paint.d.ts.map +1 -0
- package/dist/chart/edit/quick-layout.d.ts +16 -0
- package/dist/chart/edit/quick-layout.d.ts.map +1 -0
- package/dist/chart/edit/series-data.d.ts +8 -0
- package/dist/chart/edit/series-data.d.ts.map +1 -0
- package/dist/chart/edit/series.d.ts +57 -0
- package/dist/chart/edit/series.d.ts.map +1 -0
- package/dist/chart/edit/style.d.ts +18 -0
- package/dist/chart/edit/style.d.ts.map +1 -0
- package/dist/chart/edit/target-paint.d.ts +19 -0
- package/dist/chart/edit/target-paint.d.ts.map +1 -0
- package/dist/chart/edit/target.d.ts +31 -0
- package/dist/chart/edit/target.d.ts.map +1 -0
- package/dist/chart/edit/title.d.ts +24 -0
- package/dist/chart/edit/title.d.ts.map +1 -0
- package/dist/chart/edit/type-axes.d.ts +14 -0
- package/dist/chart/edit/type-axes.d.ts.map +1 -0
- package/dist/chart/edit/type-schema.d.ts +15 -0
- package/dist/chart/edit/type-schema.d.ts.map +1 -0
- package/dist/chart/edit/type.d.ts +16 -0
- package/dist/chart/edit/type.d.ts.map +1 -0
- package/dist/chart/ex/index.d.ts +4 -0
- package/dist/chart/ex/index.d.ts.map +1 -0
- package/dist/chart/ex/model.d.ts +291 -0
- package/dist/chart/ex/model.d.ts.map +1 -0
- package/dist/chart/ex/parse-axis.d.ts +6 -0
- package/dist/chart/ex/parse-axis.d.ts.map +1 -0
- package/dist/chart/ex/parse-series.d.ts +6 -0
- package/dist/chart/ex/parse-series.d.ts.map +1 -0
- package/dist/chart/ex/parse-text.d.ts +14 -0
- package/dist/chart/ex/parse-text.d.ts.map +1 -0
- package/dist/chart/ex/parse-util.d.ts +36 -0
- package/dist/chart/ex/parse-util.d.ts.map +1 -0
- package/dist/chart/ex/parse.d.ts +10 -0
- package/dist/chart/ex/parse.d.ts.map +1 -0
- package/dist/chart/ex/write-series.d.ts +13 -0
- package/dist/chart/ex/write-series.d.ts.map +1 -0
- package/dist/chart/ex/write-util.d.ts +23 -0
- package/dist/chart/ex/write-util.d.ts.map +1 -0
- package/dist/chart/ex/write.d.ts +24 -0
- package/dist/chart/ex/write.d.ts.map +1 -0
- package/dist/chart/index.cjs +7258 -3107
- package/dist/chart/index.d.ts +8 -0
- package/dist/chart/index.d.ts.map +1 -1
- package/dist/chart/index.mjs +7117 -3110
- package/dist/chart/keep-source.d.ts +11 -0
- package/dist/chart/keep-source.d.ts.map +1 -0
- package/dist/chart/keep-unmodelled.d.ts +6 -0
- package/dist/chart/keep-unmodelled.d.ts.map +1 -0
- package/dist/chart/model-series.d.ts +6 -0
- package/dist/chart/model-series.d.ts.map +1 -1
- package/dist/chart/model.d.ts +14 -0
- package/dist/chart/model.d.ts.map +1 -1
- package/dist/chart/parse-plot.d.ts.map +1 -1
- 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/quick-layouts.d.ts +41 -0
- package/dist/chart/quick-layouts.d.ts.map +1 -0
- package/dist/chart/render/summary-from-chartex.d.ts +3 -0
- package/dist/chart/render/summary-from-chartex.d.ts.map +1 -1
- package/dist/chart/style-presets.d.ts +20 -0
- package/dist/chart/style-presets.d.ts.map +1 -0
- package/dist/chart/workbook/cellref.d.ts +53 -0
- package/dist/chart/workbook/cellref.d.ts.map +1 -0
- package/dist/chart/workbook/create.d.ts +6 -0
- package/dist/chart/workbook/create.d.ts.map +1 -0
- package/dist/chart/workbook/index.d.ts +10 -0
- package/dist/chart/workbook/index.d.ts.map +1 -0
- package/dist/chart/workbook/layout.d.ts +35 -0
- package/dist/chart/workbook/layout.d.ts.map +1 -0
- package/dist/chart/workbook/package-save.d.ts +48 -0
- package/dist/chart/workbook/package-save.d.ts.map +1 -0
- package/dist/chart/workbook/sheet-cells.d.ts +31 -0
- package/dist/chart/workbook/sheet-cells.d.ts.map +1 -0
- package/dist/chart/workbook/space-writes.d.ts +5 -0
- package/dist/chart/workbook/space-writes.d.ts.map +1 -0
- package/dist/chart/workbook/tables.d.ts +20 -0
- package/dist/chart/workbook/tables.d.ts.map +1 -0
- package/dist/chart/workbook/validation.d.ts +12 -0
- package/dist/chart/workbook/validation.d.ts.map +1 -0
- package/dist/chart/workbook/writer.d.ts +55 -0
- package/dist/chart/workbook/writer.d.ts.map +1 -0
- package/dist/chart/write-axes.d.ts.map +1 -1
- package/dist/chart/write-plot.d.ts.map +1 -1
- package/dist/chart/write-series.d.ts.map +1 -1
- package/dist/chart/write-shape.d.ts +2 -0
- package/dist/chart/write-shape.d.ts.map +1 -1
- package/dist/{chunk-NE7626A4.mjs → chunk-4IYYW3CX.mjs} +5 -5
- package/dist/{chunk-6IIMI5RS.mjs → chunk-6DHZZD5R.mjs} +1103 -1025
- package/dist/{chunk-GBKBR4CX.mjs → chunk-E2PYQQQV.mjs} +1 -1
- package/dist/{chunk-XK55DEUD.cjs → chunk-JE3DVWAJ.cjs} +4991 -2865
- package/dist/{chunk-7N7C5BNM.mjs → chunk-NBSJDA3B.mjs} +2236 -2096
- package/dist/{chunk-GVP262WE.mjs → chunk-QXWRJDVE.mjs} +4077 -1951
- package/dist/{chunk-4LZIUJI3.cjs → chunk-S5TGOEQX.cjs} +1108 -1029
- package/dist/{chunk-CWCDFPKN.mjs → chunk-VHGMYNWM.mjs} +1 -1
- package/dist/{chunk-ON7XVRHQ.mjs → chunk-X7IIABZ6.mjs} +3978 -1835
- package/dist/{chunk-KVKTHGIY.mjs → chunk-YWTKOZMT.mjs} +1 -1
- package/dist/crypto/detect.d.ts +5 -1
- package/dist/crypto/detect.d.ts.map +1 -1
- package/dist/crypto/index.cjs +1 -1
- package/dist/crypto/index.mjs +1 -1
- package/dist/diagram/approximate.d.ts +19 -0
- package/dist/diagram/approximate.d.ts.map +1 -0
- package/dist/diagram/builtin/catalog.d.ts +3 -0
- package/dist/diagram/builtin/catalog.d.ts.map +1 -0
- package/dist/diagram/builtin/data.d.ts +3 -0
- package/dist/diagram/builtin/data.d.ts.map +1 -0
- package/dist/diagram/builtin/definitions.d.ts +7 -0
- package/dist/diagram/builtin/definitions.d.ts.map +1 -0
- package/dist/diagram/builtin/index.cjs +1348 -0
- package/dist/diagram/builtin/index.d.ts +3 -0
- package/dist/diagram/builtin/index.d.ts.map +1 -0
- package/dist/diagram/builtin/index.mjs +1337 -0
- package/dist/diagram/builtin/layouts.d.ts +15 -0
- package/dist/diagram/builtin/layouts.d.ts.map +1 -0
- package/dist/diagram/builtin/types.d.ts +13 -0
- package/dist/diagram/builtin/types.d.ts.map +1 -0
- package/dist/diagram/catalogue.d.ts +51 -0
- package/dist/diagram/catalogue.d.ts.map +1 -0
- package/dist/diagram/data-model.d.ts.map +1 -1
- package/dist/diagram/drawing-from-views.d.ts +11 -0
- package/dist/diagram/drawing-from-views.d.ts.map +1 -0
- package/dist/diagram/drawing-resolve.d.ts +34 -0
- package/dist/diagram/drawing-resolve.d.ts.map +1 -0
- package/dist/diagram/drawing-view.d.ts +104 -0
- package/dist/diagram/drawing-view.d.ts.map +1 -0
- package/dist/diagram/drawing.d.ts.map +1 -1
- package/dist/diagram/edit/design-commands.d.ts +27 -0
- package/dist/diagram/edit/design-commands.d.ts.map +1 -0
- package/dist/diagram/edit/index.d.ts +15 -0
- package/dist/diagram/edit/index.d.ts.map +1 -0
- package/dist/diagram/edit/node-edit.d.ts +66 -0
- package/dist/diagram/edit/node-edit.d.ts.map +1 -0
- package/dist/diagram/edit/node-ops.d.ts +71 -0
- package/dist/diagram/edit/node-ops.d.ts.map +1 -0
- package/dist/diagram/edit/node-order.d.ts +28 -0
- package/dist/diagram/edit/node-order.d.ts.map +1 -0
- package/dist/diagram/edit/node-style.d.ts +42 -0
- package/dist/diagram/edit/node-style.d.ts.map +1 -0
- package/dist/diagram/edit/node-tree.d.ts +10 -0
- package/dist/diagram/edit/node-tree.d.ts.map +1 -0
- package/dist/diagram/edit/outline.d.ts +11 -0
- package/dist/diagram/edit/outline.d.ts.map +1 -0
- package/dist/diagram/edit/reflow-category.d.ts +18 -0
- package/dist/diagram/edit/reflow-category.d.ts.map +1 -0
- package/dist/diagram/edit/reflow-directional.d.ts +53 -0
- package/dist/diagram/edit/reflow-directional.d.ts.map +1 -0
- package/dist/diagram/edit/reflow-geometric.d.ts +59 -0
- package/dist/diagram/edit/reflow-geometric.d.ts.map +1 -0
- package/dist/diagram/edit/reflow-stacked.d.ts +32 -0
- package/dist/diagram/edit/reflow-stacked.d.ts.map +1 -0
- package/dist/diagram/edit/reflow.d.ts +48 -0
- package/dist/diagram/edit/reflow.d.ts.map +1 -0
- package/dist/diagram/edit/shape-match.d.ts +34 -0
- package/dist/diagram/edit/shape-match.d.ts.map +1 -0
- package/dist/diagram/edit/types.d.ts +31 -0
- package/dist/diagram/edit/types.d.ts.map +1 -0
- package/dist/diagram/index.cjs +3934 -910
- package/dist/diagram/index.d.ts +9 -0
- package/dist/diagram/index.d.ts.map +1 -1
- package/dist/diagram/index.mjs +3860 -912
- package/dist/diagram/model/node.d.ts +10 -0
- package/dist/diagram/model/node.d.ts.map +1 -1
- package/dist/diagram/relationships.d.ts +8 -0
- package/dist/diagram/relationships.d.ts.map +1 -1
- package/dist/diagram/strings/de.d.ts +3 -0
- package/dist/diagram/strings/de.d.ts.map +1 -0
- package/dist/diagram/strings/en.d.ts +74 -0
- package/dist/diagram/strings/en.d.ts.map +1 -0
- package/dist/diagram/strings/es.d.ts +3 -0
- package/dist/diagram/strings/es.d.ts.map +1 -0
- package/dist/diagram/strings/fr.d.ts +3 -0
- package/dist/diagram/strings/fr.d.ts.map +1 -0
- package/dist/diagram/strings/index.d.ts +11 -0
- package/dist/diagram/strings/index.d.ts.map +1 -0
- package/dist/diagram/strings/zh-CN.d.ts +3 -0
- package/dist/diagram/strings/zh-CN.d.ts.map +1 -0
- package/dist/diagram/text/index.d.ts +5 -0
- package/dist/diagram/text/index.d.ts.map +1 -0
- package/dist/diagram/text/node-text-neutral.d.ts +29 -0
- package/dist/diagram/text/node-text-neutral.d.ts.map +1 -0
- package/dist/diagram/text/node-text-paragraphs.d.ts +6 -0
- package/dist/diagram/text/node-text-paragraphs.d.ts.map +1 -0
- package/dist/diagram/text/node-text-projection.d.ts +48 -0
- package/dist/diagram/text/node-text-projection.d.ts.map +1 -0
- package/dist/diagram/text/node-text-reconciliation.d.ts +4 -0
- package/dist/diagram/text/node-text-reconciliation.d.ts.map +1 -0
- package/dist/diagram/types.d.ts +12 -0
- package/dist/diagram/types.d.ts.map +1 -1
- package/dist/diagram/write/data-edit.d.ts +30 -0
- package/dist/diagram/write/data-edit.d.ts.map +1 -0
- package/dist/diagram/write/data.d.ts +62 -0
- package/dist/diagram/write/data.d.ts.map +1 -0
- package/dist/diagram/write/index.d.ts +4 -0
- package/dist/diagram/write/index.d.ts.map +1 -0
- package/dist/diagram/write/inserted.d.ts +14 -0
- package/dist/diagram/write/inserted.d.ts.map +1 -0
- package/dist/docx/chart-edit.d.ts +33 -0
- package/dist/docx/chart-edit.d.ts.map +1 -0
- package/dist/docx/chart-save.d.ts +14 -0
- package/dist/docx/chart-save.d.ts.map +1 -0
- package/dist/docx/chart.d.ts +5 -3
- package/dist/docx/chart.d.ts.map +1 -1
- package/dist/docx/diagram-edit.d.ts +50 -0
- package/dist/docx/diagram-edit.d.ts.map +1 -0
- package/dist/docx/diagram-nodes.d.ts +2 -0
- package/dist/docx/diagram-nodes.d.ts.map +1 -0
- package/dist/docx/diagram-save.d.ts +12 -0
- package/dist/docx/diagram-save.d.ts.map +1 -0
- package/dist/docx/diagram.d.ts +17 -9
- package/dist/docx/diagram.d.ts.map +1 -1
- package/dist/docx/embedded.cjs +5191 -2423
- package/dist/docx/embedded.mjs +5191 -2423
- package/dist/docx/index.cjs +10063 -6083
- package/dist/docx/index.d.ts +4 -1
- package/dist/docx/index.d.ts.map +1 -1
- package/dist/docx/index.mjs +10049 -6084
- package/dist/docx/load/index.cjs +5841 -3073
- package/dist/docx/load/index.mjs +5841 -3073
- package/dist/docx/parse.d.ts.map +1 -1
- package/dist/docx/part-relationships.d.ts.map +1 -1
- package/dist/docx/relationship-allocator.d.ts +19 -0
- package/dist/docx/relationship-allocator.d.ts.map +1 -1
- package/dist/docx/save.d.ts.map +1 -1
- package/dist/docx/ui/chart-commands.d.ts +19 -0
- package/dist/docx/ui/chart-commands.d.ts.map +1 -0
- package/dist/docx/ui/index.cjs +1482 -655
- package/dist/docx/ui/index.d.ts +2 -0
- package/dist/docx/ui/index.d.ts.map +1 -1
- package/dist/docx/ui/index.mjs +1479 -656
- 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/smartart-approximate.d.ts +5 -0
- package/dist/docx/ui/smartart-approximate.d.ts.map +1 -0
- package/dist/docx/write-chart-drawing.d.ts +12 -0
- package/dist/docx/write-chart-drawing.d.ts.map +1 -0
- package/dist/docx/write-diagram-drawing.d.ts +13 -0
- package/dist/docx/write-diagram-drawing.d.ts.map +1 -0
- package/dist/docx/write-drawing-patch.d.ts +8 -0
- package/dist/docx/write-drawing-patch.d.ts.map +1 -0
- package/dist/docx/write-drawing.d.ts.map +1 -1
- package/dist/drawingml/index.cjs +863 -0
- package/dist/drawingml/index.d.ts +7 -0
- package/dist/drawingml/index.d.ts.map +1 -1
- package/dist/drawingml/index.mjs +840 -1
- package/dist/drawingml/read-paragraph-properties.d.ts +8 -0
- package/dist/drawingml/read-paragraph-properties.d.ts.map +1 -0
- package/dist/drawingml/read-run-properties.d.ts +15 -0
- package/dist/drawingml/read-run-properties.d.ts.map +1 -0
- package/dist/drawingml/read-text-body.d.ts +13 -0
- package/dist/drawingml/read-text-body.d.ts.map +1 -0
- package/dist/drawingml/text-model.d.ts +210 -0
- package/dist/drawingml/text-model.d.ts.map +1 -0
- package/dist/drawingml/write-paragraph-properties.d.ts +12 -0
- package/dist/drawingml/write-paragraph-properties.d.ts.map +1 -0
- package/dist/drawingml/write-run-properties.d.ts +11 -0
- package/dist/drawingml/write-run-properties.d.ts.map +1 -0
- package/dist/drawingml/write-text-body.d.ts +18 -0
- package/dist/drawingml/write-text-body.d.ts.map +1 -0
- package/dist/drawingml/write-text-xml.d.ts +26 -0
- package/dist/drawingml/write-text-xml.d.ts.map +1 -0
- package/dist/index.cjs +10068 -2908
- package/dist/index.mjs +10068 -2908
- package/dist/pptx/automation/index.cjs +6849 -3889
- package/dist/pptx/automation/index.d.ts +9 -6
- package/dist/pptx/automation/index.d.ts.map +1 -1
- package/dist/pptx/automation/index.mjs +7 -7
- package/dist/pptx/chunks/{elements-iUzpAeqR.d.ts → elements-DhW764aK.d.ts} +23 -14
- package/dist/pptx/chunks/elements-DhW764aK.d.ts.map +1 -0
- package/dist/pptx/chunks/{index-C3xhAMSa.d.ts → index-CX0RM1fF.d.ts} +4 -4
- package/dist/pptx/chunks/{index-C3xhAMSa.d.ts.map → index-CX0RM1fF.d.ts.map} +1 -1
- package/dist/pptx/chunks/{index-nKQ4s7FA.d.ts → index-CgjEEpfK.d.ts} +18 -9
- package/dist/pptx/chunks/index-CgjEEpfK.d.ts.map +1 -0
- package/dist/pptx/chunks/{index-4FmgJajb.d.ts → index-DCbp5fOs.d.ts} +100 -95
- package/dist/pptx/chunks/index-DCbp5fOs.d.ts.map +1 -0
- package/dist/pptx/chunks/{smart-art-ENMMEbmW.d.ts → smart-art-BEEl0l8X.d.ts} +514 -306
- package/dist/pptx/chunks/smart-art-BEEl0l8X.d.ts.map +1 -0
- package/dist/pptx/chunks/{text-operations-CfLVZ7DK.d.ts → text-operations-CjalmJIi.d.ts} +2 -2
- package/dist/pptx/chunks/{text-operations-CfLVZ7DK.d.ts.map → text-operations-CjalmJIi.d.ts.map} +1 -1
- package/dist/pptx/cli/index.cjs +6333 -3375
- package/dist/pptx/cli/index.d.ts +1 -1
- package/dist/pptx/cli/index.mjs +5 -5
- package/dist/pptx/converter/index.cjs +107 -75
- package/dist/pptx/converter/index.d.ts +1 -1
- package/dist/pptx/converter/index.mjs +3 -3
- package/dist/pptx/editor/render/editor-history.cjs +3 -1
- package/dist/pptx/editor/render/editor-history.d.ts +9 -1
- package/dist/pptx/editor/render/editor-history.d.ts.map +1 -1
- package/dist/pptx/editor/render/editor-history.mjs +3 -2
- 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 +7753 -4728
- package/dist/pptx/index.d.ts +7 -7
- package/dist/pptx/index.mjs +6 -6
- package/dist/pptx/node/index.d.ts +1 -1
- package/dist/pptx/signature-node/index.mjs +2 -2
- package/dist/pptx/smartart-layouts/index.cjs +26 -23
- package/dist/pptx/smartart-layouts/index.d.ts +7 -5
- package/dist/pptx/smartart-layouts/index.d.ts.map +1 -1
- package/dist/pptx/smartart-layouts/index.mjs +26 -23
- package/dist/teams/index.cjs +20165 -18388
- package/dist/teams/index.mjs +20165 -18388
- package/dist/text/index.cjs +106 -0
- package/dist/text/index.d.ts +2 -0
- package/dist/text/index.d.ts.map +1 -1
- package/dist/text/index.mjs +103 -1
- package/dist/text/locale-number.d.ts +15 -0
- package/dist/text/locale-number.d.ts.map +1 -0
- package/dist/text/tsv.d.ts +8 -0
- package/dist/text/tsv.d.ts.map +1 -0
- package/dist/visio/index.cjs +3574 -1953
- package/dist/visio/index.mjs +3574 -1953
- package/dist/visio/ui/index.cjs +3562 -1941
- package/dist/visio/ui/index.mjs +3562 -1941
- package/dist/xlsx/edit/chart-colors.d.ts +2 -2
- package/dist/xlsx/edit/chart-colors.d.ts.map +1 -1
- package/dist/xlsx/edit/chart-design.d.ts +11 -0
- package/dist/xlsx/edit/chart-design.d.ts.map +1 -0
- package/dist/xlsx/edit/chart-element-fill.d.ts.map +1 -1
- package/dist/xlsx/edit/chart-series-fill.d.ts.map +1 -1
- package/dist/xlsx/edit/chart-series-gradient.d.ts +6 -34
- package/dist/xlsx/edit/chart-series-gradient.d.ts.map +1 -1
- package/dist/xlsx/edit/chart-series-transparency.d.ts.map +1 -1
- package/dist/xlsx/edit/chart-space-patch.d.ts +13 -0
- package/dist/xlsx/edit/chart-space-patch.d.ts.map +1 -0
- package/dist/xlsx/edit/chart-space-series.d.ts +14 -0
- package/dist/xlsx/edit/chart-space-series.d.ts.map +1 -0
- package/dist/xlsx/edit/charts.d.ts +22 -6
- package/dist/xlsx/edit/charts.d.ts.map +1 -1
- package/dist/xlsx/edit/clipboard-text.d.ts +2 -7
- package/dist/xlsx/edit/clipboard-text.d.ts.map +1 -1
- package/dist/xlsx/edit/index.d.ts +3 -1
- package/dist/xlsx/edit/index.d.ts.map +1 -1
- package/dist/xlsx/edit/session.d.ts.map +1 -1
- package/dist/xlsx/edit/shift-formulas.d.ts.map +1 -1
- package/dist/xlsx/edit/smart-art.d.ts +32 -0
- package/dist/xlsx/edit/smart-art.d.ts.map +1 -0
- package/dist/xlsx/edit/types.d.ts +12 -1
- package/dist/xlsx/edit/types.d.ts.map +1 -1
- package/dist/xlsx/embedded-chart-space.d.ts +19 -0
- package/dist/xlsx/embedded-chart-space.d.ts.map +1 -0
- package/dist/xlsx/index.cjs +6457 -3105
- package/dist/xlsx/index.d.ts +1 -0
- package/dist/xlsx/index.d.ts.map +1 -1
- package/dist/xlsx/index.mjs +6451 -3106
- package/dist/xlsx/load/index.cjs +5733 -3844
- package/dist/xlsx/load/index.mjs +5733 -3844
- package/dist/xlsx/model.d.ts +71 -15
- package/dist/xlsx/model.d.ts.map +1 -1
- package/dist/xlsx/read/chart.d.ts +10 -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/smart-art.d.ts.map +1 -1
- package/dist/xlsx/smart-art-notices.d.ts +6 -0
- package/dist/xlsx/smart-art-notices.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/contextual.d.ts +6 -1
- package/dist/xlsx/ui/commands/contextual.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/i18n/chart-series.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/i18n/core-features.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/i18n/index.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/i18n/ribbon-tabs.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/i18n/smartart.d.ts +3 -0
- package/dist/xlsx/ui/commands/i18n/smartart.d.ts.map +1 -0
- package/dist/xlsx/ui/commands/icons.d.ts.map +1 -1
- package/dist/xlsx/ui/index.cjs +6664 -2907
- package/dist/xlsx/ui/index.mjs +6663 -2907
- package/dist/xlsx/ui/locales/de/index.d.ts.map +1 -1
- package/dist/xlsx/ui/locales/de/smartart.d.ts +2 -0
- package/dist/xlsx/ui/locales/de/smartart.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/en/index.d.ts.map +1 -1
- package/dist/xlsx/ui/locales/en/smartart.d.ts +2 -0
- package/dist/xlsx/ui/locales/en/smartart.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/es/index.d.ts.map +1 -1
- package/dist/xlsx/ui/locales/es/smartart.d.ts +2 -0
- package/dist/xlsx/ui/locales/es/smartart.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/fr/index.d.ts.map +1 -1
- package/dist/xlsx/ui/locales/fr/smartart.d.ts +2 -0
- package/dist/xlsx/ui/locales/fr/smartart.d.ts.map +1 -0
- package/dist/xlsx/ui/locales/zh-CN/index.d.ts.map +1 -1
- package/dist/xlsx/ui/locales/zh-CN/smartart.d.ts +2 -0
- package/dist/xlsx/ui/locales/zh-CN/smartart.d.ts.map +1 -0
- package/dist/xlsx/write/chart-cache.d.ts.map +1 -1
- package/dist/xlsx/write/chart-colors.d.ts +1 -8
- package/dist/xlsx/write/chart-colors.d.ts.map +1 -1
- package/dist/xlsx/write/chart-space.d.ts +8 -0
- package/dist/xlsx/write/chart-space.d.ts.map +1 -1
- package/dist/xlsx/write/chart-title.d.ts +2 -2
- package/dist/xlsx/write/chart-title.d.ts.map +1 -1
- package/dist/xlsx/write/chart.d.ts +4 -3
- package/dist/xlsx/write/chart.d.ts.map +1 -1
- package/dist/xlsx/write/drawing.d.ts +10 -3
- package/dist/xlsx/write/drawing.d.ts.map +1 -1
- package/dist/xlsx/write/smart-art.d.ts +17 -0
- package/dist/xlsx/write/smart-art.d.ts.map +1 -0
- package/package.json +6 -1
- package/dist/PptxHandler-KBJ4TN3T.mjs +0 -4
- package/dist/pptx/chunks/elements-iUzpAeqR.d.ts.map +0 -1
- package/dist/pptx/chunks/index-4FmgJajb.d.ts.map +0 -1
- package/dist/pptx/chunks/index-nKQ4s7FA.d.ts.map +0 -1
- package/dist/pptx/chunks/smart-art-ENMMEbmW.d.ts.map +0 -1
- package/dist/xlsx/write/chart-patch.d.ts +0 -9
- package/dist/xlsx/write/chart-patch.d.ts.map +0 -1
|
@@ -3043,6 +3043,182 @@ function openNestedZip(bytes) {
|
|
|
3043
3043
|
return openZip(bytes, { label: "Embedded", createError });
|
|
3044
3044
|
}
|
|
3045
3045
|
|
|
3046
|
+
// xml/namespaces.ts
|
|
3047
|
+
var NS = {
|
|
3048
|
+
/** WordprocessingML main. */
|
|
3049
|
+
w: "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
|
|
3050
|
+
/** PresentationML main. */
|
|
3051
|
+
p: "http://schemas.openxmlformats.org/presentationml/2006/main",
|
|
3052
|
+
/** SpreadsheetML main. */
|
|
3053
|
+
x: "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
|
|
3054
|
+
/** DrawingML main. */
|
|
3055
|
+
a: "http://schemas.openxmlformats.org/drawingml/2006/main",
|
|
3056
|
+
/** DrawingML chart. */
|
|
3057
|
+
c: "http://schemas.openxmlformats.org/drawingml/2006/chart",
|
|
3058
|
+
/** Office 2016 extended charts (waterfall, histogram, funnel...; `cx:chartSpace`). */
|
|
3059
|
+
cx: "http://schemas.microsoft.com/office/drawing/2014/chartex",
|
|
3060
|
+
/** Office 2010 chart extensions, including built-in modern chart styles. */
|
|
3061
|
+
c14: "http://schemas.microsoft.com/office/drawing/2007/8/2/chart",
|
|
3062
|
+
/** DrawingML diagram (SmartArt) main. */
|
|
3063
|
+
dgm: "http://schemas.openxmlformats.org/drawingml/2006/diagram",
|
|
3064
|
+
/** Office 2007+ diagram drawing (`dsp`). */
|
|
3065
|
+
dsp: "http://schemas.microsoft.com/office/drawing/2008/diagram",
|
|
3066
|
+
/** DrawingML Word drawing (`wp:inline`, `wp:anchor`). */
|
|
3067
|
+
wp: "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",
|
|
3068
|
+
/** DrawingML picture. */
|
|
3069
|
+
pic: "http://schemas.openxmlformats.org/drawingml/2006/picture",
|
|
3070
|
+
/** Word 2010 shapes (`wps`). */
|
|
3071
|
+
wps: "http://schemas.microsoft.com/office/word/2010/wordprocessingShape",
|
|
3072
|
+
/** Relationships (`r:id`, `r:embed`). */
|
|
3073
|
+
r: "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
|
|
3074
|
+
/** Markup compatibility (`mc:AlternateContent`). */
|
|
3075
|
+
mc: "http://schemas.openxmlformats.org/markup-compatibility/2006",
|
|
3076
|
+
/** OPC relationships part. */
|
|
3077
|
+
rels: "http://schemas.openxmlformats.org/package/2006/relationships",
|
|
3078
|
+
/** OPC content types part. */
|
|
3079
|
+
contentTypes: "http://schemas.openxmlformats.org/package/2006/content-types",
|
|
3080
|
+
/** Office Math. */
|
|
3081
|
+
m: "http://schemas.openxmlformats.org/officeDocument/2006/math",
|
|
3082
|
+
/** Core properties. */
|
|
3083
|
+
cp: "http://schemas.openxmlformats.org/package/2006/metadata/core-properties",
|
|
3084
|
+
/** Dublin Core elements. */
|
|
3085
|
+
dc: "http://purl.org/dc/elements/1.1/",
|
|
3086
|
+
/** Legacy VML. */
|
|
3087
|
+
v: "urn:schemas-microsoft-com:vml",
|
|
3088
|
+
/** Office VML extensions. */
|
|
3089
|
+
o: "urn:schemas-microsoft-com:office:office",
|
|
3090
|
+
/** Word VML extensions. */
|
|
3091
|
+
w10: "urn:schemas-microsoft-com:office:word",
|
|
3092
|
+
/** SpreadsheetML drawing (`xdr:wsDr`, cell anchors). */
|
|
3093
|
+
xdr: "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing",
|
|
3094
|
+
/** SpreadsheetML 2009 extensions (`x14:conditionalFormatting`, `x14:dataBar`). */
|
|
3095
|
+
x14: "http://schemas.microsoft.com/office/spreadsheetml/2009/9/main",
|
|
3096
|
+
/** SpreadsheetML 2009 attribute extensions (`x14ac:dyDescent`). */
|
|
3097
|
+
x14ac: "http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac",
|
|
3098
|
+
/** SpreadsheetML revision ids (`xr:uid`). */
|
|
3099
|
+
xr: "http://schemas.microsoft.com/office/spreadsheetml/2014/revision",
|
|
3100
|
+
/** Excel threaded comments and persons. */
|
|
3101
|
+
tc: "http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments",
|
|
3102
|
+
/** Legacy VML Excel client data (`x:ClientData`). */
|
|
3103
|
+
xv: "urn:schemas-microsoft-com:office:excel",
|
|
3104
|
+
/** Extended (app) properties. */
|
|
3105
|
+
extendedProperties: "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",
|
|
3106
|
+
/** Dublin Core terms (`dcterms:created`). */
|
|
3107
|
+
dcterms: "http://purl.org/dc/terms/",
|
|
3108
|
+
/** Custom document properties (`docProps/custom.xml`). */
|
|
3109
|
+
customProperties: "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",
|
|
3110
|
+
/** Document property variant types (`vt:lpwstr`, `vt:vector`). */
|
|
3111
|
+
vt: "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",
|
|
3112
|
+
/** XML itself (`xml:space`). */
|
|
3113
|
+
xml: "http://www.w3.org/XML/1998/namespace"
|
|
3114
|
+
};
|
|
3115
|
+
var DEFAULT_XML_LIMITS = {
|
|
3116
|
+
maxDepth: 512,
|
|
3117
|
+
maxNodes: 5e6
|
|
3118
|
+
};
|
|
3119
|
+
var XmlLimitError = class extends Error {
|
|
3120
|
+
code = "xml-limit";
|
|
3121
|
+
/** The limit that was exceeded. */
|
|
3122
|
+
limit;
|
|
3123
|
+
/** Its value: the largest depth or element count allowed. */
|
|
3124
|
+
maximum;
|
|
3125
|
+
constructor(message, limit, maximum) {
|
|
3126
|
+
super(message);
|
|
3127
|
+
this.name = "XmlLimitError";
|
|
3128
|
+
this.limit = limit;
|
|
3129
|
+
this.maximum = maximum;
|
|
3130
|
+
}
|
|
3131
|
+
};
|
|
3132
|
+
var TAG_RE = /<(\/?)([^\s\/><]+)(?:\s+[^\s=\/><]+\s*=\s*(?:"[^"<]*"|'[^'<]*'))*\s*(\/?)>/y;
|
|
3133
|
+
var MARKUP_SKIPS = [
|
|
3134
|
+
["<!--", "-->"],
|
|
3135
|
+
["<![CDATA[", "]]>"],
|
|
3136
|
+
["<?", "?>"]
|
|
3137
|
+
];
|
|
3138
|
+
function checkXmlLimits(xml, label, limits = {}) {
|
|
3139
|
+
const maxDepth2 = limits.maxDepth ?? DEFAULT_XML_LIMITS.maxDepth;
|
|
3140
|
+
const maxNodes = limits.maxNodes ?? DEFAULT_XML_LIMITS.maxNodes;
|
|
3141
|
+
let depth = 0;
|
|
3142
|
+
let nodes = 0;
|
|
3143
|
+
let at2 = xml.indexOf("<");
|
|
3144
|
+
while (at2 !== -1) {
|
|
3145
|
+
const skip = MARKUP_SKIPS.find(([open]) => xml.startsWith(open, at2));
|
|
3146
|
+
if (skip) {
|
|
3147
|
+
const end = xml.indexOf(skip[1], at2 + skip[0].length);
|
|
3148
|
+
if (end === -1) return;
|
|
3149
|
+
at2 = xml.indexOf("<", end + skip[1].length);
|
|
3150
|
+
continue;
|
|
3151
|
+
}
|
|
3152
|
+
TAG_RE.lastIndex = at2;
|
|
3153
|
+
const match = TAG_RE.exec(xml);
|
|
3154
|
+
if (!match) {
|
|
3155
|
+
at2 = xml.indexOf("<", at2 + 1);
|
|
3156
|
+
continue;
|
|
3157
|
+
}
|
|
3158
|
+
const [, closing, , selfClosing] = match;
|
|
3159
|
+
at2 = xml.indexOf("<", at2 + match[0].length);
|
|
3160
|
+
if (closing) {
|
|
3161
|
+
depth--;
|
|
3162
|
+
continue;
|
|
3163
|
+
}
|
|
3164
|
+
nodes++;
|
|
3165
|
+
if (nodes > maxNodes)
|
|
3166
|
+
throw new XmlLimitError(
|
|
3167
|
+
`${label} XML exceeds the limit of ${maxNodes} elements`,
|
|
3168
|
+
"maxNodes",
|
|
3169
|
+
maxNodes
|
|
3170
|
+
);
|
|
3171
|
+
if (!selfClosing && ++depth > maxDepth2)
|
|
3172
|
+
throw new XmlLimitError(
|
|
3173
|
+
`${label} XML exceeds the nesting depth limit of ${maxDepth2}`,
|
|
3174
|
+
"maxDepth",
|
|
3175
|
+
maxDepth2
|
|
3176
|
+
);
|
|
3177
|
+
}
|
|
3178
|
+
}
|
|
3179
|
+
var CRLF_DECLARATION = /^<\?xml[^>]*\?>\r\n/;
|
|
3180
|
+
var crlfDeclarations = /* @__PURE__ */ new WeakSet();
|
|
3181
|
+
function parseXml(xml, options = {}) {
|
|
3182
|
+
const label = options.label ?? "OOXML";
|
|
3183
|
+
if (/<!DOCTYPE|<!ENTITY/i.test(xml))
|
|
3184
|
+
throw new Error(`${label} XML with DTD or entity declarations is not supported`);
|
|
3185
|
+
checkXmlLimits(xml, label, options.limits);
|
|
3186
|
+
let parseError = "";
|
|
3187
|
+
let parsed;
|
|
3188
|
+
try {
|
|
3189
|
+
parsed = new xmldom.DOMParser({
|
|
3190
|
+
onError: (level2, message) => {
|
|
3191
|
+
if (level2 !== "warning") parseError = message;
|
|
3192
|
+
}
|
|
3193
|
+
}).parseFromString(xml, "application/xml");
|
|
3194
|
+
} catch (error) {
|
|
3195
|
+
throw new Error(
|
|
3196
|
+
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`,
|
|
3197
|
+
{ cause: error }
|
|
3198
|
+
);
|
|
3199
|
+
}
|
|
3200
|
+
if (parseError || !parsed.documentElement)
|
|
3201
|
+
throw new Error(`Invalid ${label} XML: ${parseError || "missing root element"}`);
|
|
3202
|
+
if (CRLF_DECLARATION.test(xml)) crlfDeclarations.add(parsed);
|
|
3203
|
+
return parsed;
|
|
3204
|
+
}
|
|
3205
|
+
var buildXml = (node) => {
|
|
3206
|
+
const xml = new xmldom.XMLSerializer().serializeToString(node);
|
|
3207
|
+
return crlfDeclarations.has(node) ? xml.replace(/^(<\?xml[^>]*\?>)\n/, "$1\r\n") : xml;
|
|
3208
|
+
};
|
|
3209
|
+
var isElement = (node) => node.nodeType === 1;
|
|
3210
|
+
var elements = (parent) => Array.from(parent.childNodes).filter(isElement);
|
|
3211
|
+
function named(element, local, ns, lenient = true) {
|
|
3212
|
+
if (!element || element.localName !== local) return false;
|
|
3213
|
+
return element.namespaceURI === ns || lenient && !element.namespaceURI;
|
|
3214
|
+
}
|
|
3215
|
+
var children2 = (parent, local, ns, lenient = true) => elements(parent).filter((element) => named(element, local, ns, lenient));
|
|
3216
|
+
var first = (parent, local, ns, lenient = true) => parent ? children2(parent, local, ns, lenient)[0] : void 0;
|
|
3217
|
+
function attr(element, local, ns, prefix) {
|
|
3218
|
+
return element?.getAttributeNS(ns, local) ?? element?.getAttribute(`${prefix}:${local}`) ?? void 0;
|
|
3219
|
+
}
|
|
3220
|
+
var relAttr = (element, local) => attr(element, local, NS.r, "r");
|
|
3221
|
+
|
|
3046
3222
|
// pptx/core/utils/xml-access.ts
|
|
3047
3223
|
var ATTR_PREFIX = "@_";
|
|
3048
3224
|
var TEXT_KEY = "#text";
|
|
@@ -18225,415 +18401,8 @@ function getContentNodes(nodes) {
|
|
|
18225
18401
|
return nodes.filter((n) => n.text.length > 0);
|
|
18226
18402
|
}
|
|
18227
18403
|
|
|
18228
|
-
//
|
|
18229
|
-
|
|
18230
|
-
var commandOrder = /* @__PURE__ */ new WeakMap();
|
|
18231
|
-
var PATH_COMMANDS = /* @__PURE__ */ new Set(["moveTo", "lnTo", "arcTo", "quadBezTo", "cubicBezTo", "close"]);
|
|
18232
|
-
function localName4(name) {
|
|
18233
|
-
const colon = name.indexOf(":");
|
|
18234
|
-
return colon >= 0 ? name.slice(colon + 1) : name;
|
|
18235
|
-
}
|
|
18236
|
-
function childByLocalName(node, name) {
|
|
18237
|
-
if (!node) {
|
|
18238
|
-
return void 0;
|
|
18239
|
-
}
|
|
18240
|
-
const key = Object.keys(node).find((candidate) => localName4(candidate) === name);
|
|
18241
|
-
return key ? node[key] : void 0;
|
|
18242
|
-
}
|
|
18243
|
-
function collectParsedPaths(root) {
|
|
18244
|
-
const paths = [];
|
|
18245
|
-
const stack = [root];
|
|
18246
|
-
while (stack.length > 0) {
|
|
18247
|
-
const current = stack.pop();
|
|
18248
|
-
if (!current || typeof current !== "object") {
|
|
18249
|
-
continue;
|
|
18250
|
-
}
|
|
18251
|
-
if (Array.isArray(current)) {
|
|
18252
|
-
for (let index = current.length - 1; index >= 0; index--) {
|
|
18253
|
-
stack.push(current[index]);
|
|
18254
|
-
}
|
|
18255
|
-
continue;
|
|
18256
|
-
}
|
|
18257
|
-
const node = current;
|
|
18258
|
-
for (const [key, value] of Object.entries(node).reverse()) {
|
|
18259
|
-
if (localName4(key) === "custGeom") {
|
|
18260
|
-
const pathList = childByLocalName(value, "pathLst");
|
|
18261
|
-
const rawPaths = childByLocalName(pathList, "path");
|
|
18262
|
-
paths.push(
|
|
18263
|
-
...Array.isArray(rawPaths) ? rawPaths : rawPaths ? [rawPaths] : []
|
|
18264
|
-
);
|
|
18265
|
-
} else {
|
|
18266
|
-
stack.push(value);
|
|
18267
|
-
}
|
|
18268
|
-
}
|
|
18269
|
-
}
|
|
18270
|
-
return paths;
|
|
18271
|
-
}
|
|
18272
|
-
function extractSourceOrders(xml) {
|
|
18273
|
-
const orders = [];
|
|
18274
|
-
const custGeomPattern = /<([A-Za-z_][\w.-]*:)?custGeom\b[^>]*>([\s\S]*?)<\/\1custGeom\s*>/gu;
|
|
18275
|
-
for (const geometryMatch of xml.matchAll(custGeomPattern)) {
|
|
18276
|
-
const geometryXml = geometryMatch[2];
|
|
18277
|
-
const pathPattern = /<([A-Za-z_][\w.-]*:)?path\b[^>]*>([\s\S]*?)<\/\1path\s*>/gu;
|
|
18278
|
-
for (const pathMatch of geometryXml.matchAll(pathPattern)) {
|
|
18279
|
-
const order = [
|
|
18280
|
-
...pathMatch[2].matchAll(/<\/?([A-Za-z_][\w.-]*:)?([A-Za-z][\w.-]*)\b[^>]*>/gu)
|
|
18281
|
-
].filter((match) => match[0][1] !== "/" && PATH_COMMANDS.has(match[2])).map((match) => match[2]);
|
|
18282
|
-
orders.push(order);
|
|
18283
|
-
}
|
|
18284
|
-
}
|
|
18285
|
-
return orders;
|
|
18286
|
-
}
|
|
18287
|
-
function ensureArrayLocal(value) {
|
|
18288
|
-
return Array.isArray(value) ? value : value === void 0 ? [] : [value];
|
|
18289
|
-
}
|
|
18290
|
-
function countsSignature(counts) {
|
|
18291
|
-
return [...counts.entries()].sort((a, b) => a[0] < b[0] ? -1 : 1).map(([name, count]) => `${name}:${count}`).join(",");
|
|
18292
|
-
}
|
|
18293
|
-
function pathSignature(path) {
|
|
18294
|
-
const counts = /* @__PURE__ */ new Map();
|
|
18295
|
-
for (const key of Object.keys(path)) {
|
|
18296
|
-
const name = localName4(key);
|
|
18297
|
-
if (!PATH_COMMANDS.has(name)) {
|
|
18298
|
-
continue;
|
|
18299
|
-
}
|
|
18300
|
-
counts.set(name, (counts.get(name) ?? 0) + ensureArrayLocal(path[key]).length);
|
|
18301
|
-
}
|
|
18302
|
-
return countsSignature(counts);
|
|
18303
|
-
}
|
|
18304
|
-
function orderSignature(order) {
|
|
18305
|
-
const counts = /* @__PURE__ */ new Map();
|
|
18306
|
-
for (const name of order) {
|
|
18307
|
-
counts.set(name, (counts.get(name) ?? 0) + 1);
|
|
18308
|
-
}
|
|
18309
|
-
return countsSignature(counts);
|
|
18310
|
-
}
|
|
18311
|
-
function annotateCustomGeometryCommandOrder(xml, parsed) {
|
|
18312
|
-
const orders = extractSourceOrders(xml);
|
|
18313
|
-
if (orders.length === 0) {
|
|
18314
|
-
return;
|
|
18315
|
-
}
|
|
18316
|
-
const paths = collectParsedPaths(parsed);
|
|
18317
|
-
const ordersBySignature = /* @__PURE__ */ new Map();
|
|
18318
|
-
for (const order of orders) {
|
|
18319
|
-
const signature = orderSignature(order);
|
|
18320
|
-
const bucket = ordersBySignature.get(signature);
|
|
18321
|
-
if (bucket) {
|
|
18322
|
-
bucket.push(order);
|
|
18323
|
-
} else {
|
|
18324
|
-
ordersBySignature.set(signature, [order]);
|
|
18325
|
-
}
|
|
18326
|
-
}
|
|
18327
|
-
for (const path of paths) {
|
|
18328
|
-
const bucket = ordersBySignature.get(pathSignature(path));
|
|
18329
|
-
const order = bucket?.shift();
|
|
18330
|
-
if (order) {
|
|
18331
|
-
commandOrder.set(path, order);
|
|
18332
|
-
}
|
|
18333
|
-
}
|
|
18334
|
-
}
|
|
18335
|
-
function orderedPathCommandEntries(path, ensureArray8) {
|
|
18336
|
-
const commandItems = (key) => {
|
|
18337
|
-
const value = path[key];
|
|
18338
|
-
const items = ensureArray8(value);
|
|
18339
|
-
return items.length === 0 && localName4(key) === "close" && value !== void 0 ? [value] : items;
|
|
18340
|
-
};
|
|
18341
|
-
const order = commandOrder.get(path);
|
|
18342
|
-
if (!order) {
|
|
18343
|
-
return Object.keys(path).flatMap(
|
|
18344
|
-
(key) => key.startsWith("@_") ? [] : commandItems(key).map((item) => [key, item])
|
|
18345
|
-
);
|
|
18346
|
-
}
|
|
18347
|
-
const consumed = /* @__PURE__ */ new Map();
|
|
18348
|
-
return order.flatMap((name) => {
|
|
18349
|
-
const key = Object.keys(path).find((candidate) => localName4(candidate) === name);
|
|
18350
|
-
if (!key) {
|
|
18351
|
-
return [];
|
|
18352
|
-
}
|
|
18353
|
-
const items = commandItems(key);
|
|
18354
|
-
const index = consumed.get(key) ?? 0;
|
|
18355
|
-
consumed.set(key, index + 1);
|
|
18356
|
-
return index < items.length ? [[key, items[index]]] : [];
|
|
18357
|
-
});
|
|
18358
|
-
}
|
|
18359
|
-
function inheritCustomGeometryCommandOrder(target, ...sources) {
|
|
18360
|
-
let targetSignature;
|
|
18361
|
-
for (const source of sources) {
|
|
18362
|
-
if (!source) {
|
|
18363
|
-
continue;
|
|
18364
|
-
}
|
|
18365
|
-
const order = commandOrder.get(source);
|
|
18366
|
-
if (!order) {
|
|
18367
|
-
continue;
|
|
18368
|
-
}
|
|
18369
|
-
targetSignature ??= pathSignature(target);
|
|
18370
|
-
if (orderSignature(order) === targetSignature) {
|
|
18371
|
-
commandOrder.set(target, [...order]);
|
|
18372
|
-
return;
|
|
18373
|
-
}
|
|
18374
|
-
}
|
|
18375
|
-
}
|
|
18376
|
-
function pathListPaths(pathLst) {
|
|
18377
|
-
if (!pathLst || typeof pathLst !== "object") {
|
|
18378
|
-
return [];
|
|
18379
|
-
}
|
|
18380
|
-
return ensureArrayLocal(childByLocalName(pathLst, "path")).filter(
|
|
18381
|
-
(path) => Boolean(path) && typeof path === "object"
|
|
18382
|
-
);
|
|
18383
|
-
}
|
|
18384
|
-
function readPathListCommandOrder(pathLst) {
|
|
18385
|
-
const orders = pathListPaths(pathLst).map((path) => [...commandOrder.get(path) ?? []]);
|
|
18386
|
-
return orders.some((order) => order.length > 0) ? orders : void 0;
|
|
18387
|
-
}
|
|
18388
|
-
function restorePathListCommandOrder(pathLst, orders) {
|
|
18389
|
-
if (!orders || orders.length === 0) {
|
|
18390
|
-
return;
|
|
18391
|
-
}
|
|
18392
|
-
pathListPaths(pathLst).forEach((path, index) => {
|
|
18393
|
-
const order = orders[index];
|
|
18394
|
-
if (!order || order.length === 0 || commandOrder.has(path)) {
|
|
18395
|
-
return;
|
|
18396
|
-
}
|
|
18397
|
-
if (orderSignature([...order]) === pathSignature(path)) {
|
|
18398
|
-
commandOrder.set(path, [...order]);
|
|
18399
|
-
}
|
|
18400
|
-
});
|
|
18401
|
-
}
|
|
18402
|
-
function orderedXmlKey(baseName, order) {
|
|
18403
|
-
return `${baseName}${ORDER_SUFFIX}${order}`;
|
|
18404
|
-
}
|
|
18405
|
-
function stripXmlOrderSuffix(tagName) {
|
|
18406
|
-
const index = tagName.indexOf(ORDER_SUFFIX);
|
|
18407
|
-
return index >= 0 ? tagName.slice(0, index) : tagName;
|
|
18408
|
-
}
|
|
18409
|
-
function stripXmlOrderMarkers(xml) {
|
|
18410
|
-
return xml.replace(/#pptx-order-\d+/gu, "");
|
|
18411
|
-
}
|
|
18412
|
-
|
|
18413
|
-
// pptx/core/core/runtime/smartart-text-order.ts
|
|
18414
|
-
var childOrder = /* @__PURE__ */ new WeakMap();
|
|
18415
|
-
function localName5(name) {
|
|
18416
|
-
const colon = name.indexOf(":");
|
|
18417
|
-
return colon >= 0 ? name.slice(colon + 1) : name;
|
|
18418
|
-
}
|
|
18419
|
-
function isXmlObject2(value) {
|
|
18420
|
-
return Boolean(value && typeof value === "object" && !Array.isArray(value));
|
|
18421
|
-
}
|
|
18422
|
-
function collectParsedParagraphs(root) {
|
|
18423
|
-
const paragraphs = [];
|
|
18424
|
-
const stack = [root];
|
|
18425
|
-
while (stack.length > 0) {
|
|
18426
|
-
const current = stack.pop();
|
|
18427
|
-
if (!current || typeof current !== "object") {
|
|
18428
|
-
continue;
|
|
18429
|
-
}
|
|
18430
|
-
if (Array.isArray(current)) {
|
|
18431
|
-
for (let index = current.length - 1; index >= 0; index--) {
|
|
18432
|
-
stack.push(current[index]);
|
|
18433
|
-
}
|
|
18434
|
-
continue;
|
|
18435
|
-
}
|
|
18436
|
-
const node = current;
|
|
18437
|
-
for (const [key, value] of Object.entries(node).reverse()) {
|
|
18438
|
-
if ((localName5(key) === "t" || localName5(key) === "txBody") && value && typeof value === "object") {
|
|
18439
|
-
for (const [childKey2, childValue] of Object.entries(value)) {
|
|
18440
|
-
if (localName5(childKey2) !== "p") {
|
|
18441
|
-
continue;
|
|
18442
|
-
}
|
|
18443
|
-
paragraphs.push(
|
|
18444
|
-
...(Array.isArray(childValue) ? childValue : [childValue]).filter(isXmlObject2)
|
|
18445
|
-
);
|
|
18446
|
-
}
|
|
18447
|
-
} else {
|
|
18448
|
-
stack.push(value);
|
|
18449
|
-
}
|
|
18450
|
-
}
|
|
18451
|
-
}
|
|
18452
|
-
return paragraphs;
|
|
18453
|
-
}
|
|
18454
|
-
function directChildOrder(xml) {
|
|
18455
|
-
const order = [];
|
|
18456
|
-
let depth = 0;
|
|
18457
|
-
for (const match of xml.matchAll(/<(\/)?([A-Za-z_][\w.-]*:)?([A-Za-z][\w.-]*)\b[^>]*>/gu)) {
|
|
18458
|
-
const closing = Boolean(match[1]);
|
|
18459
|
-
const selfClosing = /\/\s*>$/u.test(match[0]);
|
|
18460
|
-
if (closing) {
|
|
18461
|
-
depth = Math.max(0, depth - 1);
|
|
18462
|
-
continue;
|
|
18463
|
-
}
|
|
18464
|
-
if (depth === 0) {
|
|
18465
|
-
order.push(match[3]);
|
|
18466
|
-
}
|
|
18467
|
-
if (!selfClosing) {
|
|
18468
|
-
depth++;
|
|
18469
|
-
}
|
|
18470
|
-
}
|
|
18471
|
-
return order;
|
|
18472
|
-
}
|
|
18473
|
-
function extractElementOrders(xml, elementName) {
|
|
18474
|
-
const orders = [];
|
|
18475
|
-
const pattern = new RegExp(
|
|
18476
|
-
`<([A-Za-z_][\\w.-]*:)?${elementName}(?=[\\s/>])[^>]*>([\\s\\S]*?)<\\/\\1${elementName}\\s*>`,
|
|
18477
|
-
"gu"
|
|
18478
|
-
);
|
|
18479
|
-
for (const match of xml.matchAll(pattern)) {
|
|
18480
|
-
orders.push(directChildOrder(match[2]));
|
|
18481
|
-
}
|
|
18482
|
-
return orders;
|
|
18483
|
-
}
|
|
18484
|
-
function directChildrenByLocalName(paragraphs, name) {
|
|
18485
|
-
return paragraphs.flatMap(
|
|
18486
|
-
(paragraph) => Object.entries(paragraph).flatMap(([key, value]) => {
|
|
18487
|
-
if (localName5(key) !== name) {
|
|
18488
|
-
return [];
|
|
18489
|
-
}
|
|
18490
|
-
const values = Array.isArray(value) ? value : [value];
|
|
18491
|
-
return values.filter(isXmlObject2);
|
|
18492
|
-
})
|
|
18493
|
-
);
|
|
18494
|
-
}
|
|
18495
|
-
function annotateSmartArtTextOrder(xml, parsed) {
|
|
18496
|
-
const paragraphs = collectParsedParagraphs(parsed);
|
|
18497
|
-
const orders = extractElementOrders(xml, "p");
|
|
18498
|
-
for (let index = 0; index < Math.min(orders.length, paragraphs.length); index++) {
|
|
18499
|
-
childOrder.set(paragraphs[index], orders[index]);
|
|
18500
|
-
}
|
|
18501
|
-
for (const name of ["r", "fld", "br"]) {
|
|
18502
|
-
const nodes = directChildrenByLocalName(paragraphs, name);
|
|
18503
|
-
const nodeOrders = extractElementOrders(xml, name);
|
|
18504
|
-
for (let index = 0; index < Math.min(nodeOrders.length, nodes.length); index++) {
|
|
18505
|
-
childOrder.set(nodes[index], nodeOrders[index]);
|
|
18506
|
-
}
|
|
18507
|
-
}
|
|
18508
|
-
}
|
|
18509
|
-
function smartArtChildOrder(node) {
|
|
18510
|
-
return childOrder.get(node)?.slice();
|
|
18511
|
-
}
|
|
18512
|
-
function orderedSmartArtTextEntries(paragraph) {
|
|
18513
|
-
const keysByName = /* @__PURE__ */ new Map();
|
|
18514
|
-
for (const key of Object.keys(paragraph)) {
|
|
18515
|
-
if (!key.startsWith("@_")) {
|
|
18516
|
-
keysByName.set(localName5(key), key);
|
|
18517
|
-
}
|
|
18518
|
-
}
|
|
18519
|
-
const itemsFor = (key) => {
|
|
18520
|
-
const value = paragraph[key];
|
|
18521
|
-
return Array.isArray(value) ? value : value === void 0 ? [] : [value];
|
|
18522
|
-
};
|
|
18523
|
-
const order = childOrder.get(paragraph);
|
|
18524
|
-
if (!order) {
|
|
18525
|
-
return [...keysByName.values()].flatMap(
|
|
18526
|
-
(key) => itemsFor(key).map((item) => [key, item])
|
|
18527
|
-
);
|
|
18528
|
-
}
|
|
18529
|
-
const consumed = /* @__PURE__ */ new Map();
|
|
18530
|
-
return order.flatMap((name) => {
|
|
18531
|
-
const key = keysByName.get(name);
|
|
18532
|
-
if (!key) {
|
|
18533
|
-
return [];
|
|
18534
|
-
}
|
|
18535
|
-
const index = consumed.get(key) ?? 0;
|
|
18536
|
-
consumed.set(key, index + 1);
|
|
18537
|
-
const item = itemsFor(key)[index];
|
|
18538
|
-
return item === void 0 ? [] : [[key, item]];
|
|
18539
|
-
});
|
|
18540
|
-
}
|
|
18541
|
-
|
|
18542
|
-
// pptx/core/core/runtime/smartart-text-paragraphs.ts
|
|
18543
|
-
function localName6(name) {
|
|
18544
|
-
const colon = name.indexOf(":");
|
|
18545
|
-
return colon >= 0 ? name.slice(colon + 1) : name;
|
|
18546
|
-
}
|
|
18547
|
-
function keyFor(node, name) {
|
|
18548
|
-
return Object.keys(node).find((key) => localName6(key) === name);
|
|
18549
|
-
}
|
|
18550
|
-
function child3(node, name) {
|
|
18551
|
-
const key = keyFor(node, name);
|
|
18552
|
-
const value = key ? node[key] : void 0;
|
|
18553
|
-
if (key && (value === "" || value === void 0)) {
|
|
18554
|
-
return {};
|
|
18555
|
-
}
|
|
18556
|
-
return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
18557
|
-
}
|
|
18558
|
-
function clone(value) {
|
|
18559
|
-
return JSON.parse(JSON.stringify(value));
|
|
18560
|
-
}
|
|
18561
|
-
function directText(node) {
|
|
18562
|
-
const key = keyFor(node, "t");
|
|
18563
|
-
const value = key ? node[key] : void 0;
|
|
18564
|
-
return value === void 0 || value === null ? "" : String(value);
|
|
18565
|
-
}
|
|
18566
|
-
function parseItem(key, rawValue) {
|
|
18567
|
-
const name = localName6(key);
|
|
18568
|
-
if (!["r", "br", "fld", "tab"].includes(name)) {
|
|
18569
|
-
return { kind: "raw", name: key, value: clone(rawValue) };
|
|
18570
|
-
}
|
|
18571
|
-
const raw = rawValue && typeof rawValue === "object" && !Array.isArray(rawValue) ? rawValue : {};
|
|
18572
|
-
if (name === "r") {
|
|
18573
|
-
const run = {
|
|
18574
|
-
text: directText(raw),
|
|
18575
|
-
rawXml: clone(raw),
|
|
18576
|
-
childOrder: smartArtChildOrder(raw)
|
|
18577
|
-
};
|
|
18578
|
-
const rPr = child3(raw, "rPr");
|
|
18579
|
-
if (rPr) {
|
|
18580
|
-
run.rPr = clone(rPr);
|
|
18581
|
-
}
|
|
18582
|
-
return { kind: "run", run };
|
|
18583
|
-
}
|
|
18584
|
-
if (name === "br") {
|
|
18585
|
-
const rPr = child3(raw, "rPr");
|
|
18586
|
-
return {
|
|
18587
|
-
kind: "break",
|
|
18588
|
-
...rPr ? { rPr: clone(rPr) } : {},
|
|
18589
|
-
rawXml: clone(raw),
|
|
18590
|
-
childOrder: smartArtChildOrder(raw)
|
|
18591
|
-
};
|
|
18592
|
-
}
|
|
18593
|
-
if (name === "fld") {
|
|
18594
|
-
const rPr = child3(raw, "rPr");
|
|
18595
|
-
const pPr = child3(raw, "pPr");
|
|
18596
|
-
return {
|
|
18597
|
-
kind: "field",
|
|
18598
|
-
...raw["@_id"] ? { id: String(raw["@_id"]) } : {},
|
|
18599
|
-
...raw["@_type"] ? { fieldType: String(raw["@_type"]) } : {},
|
|
18600
|
-
text: directText(raw),
|
|
18601
|
-
...rPr ? { rPr: clone(rPr) } : {},
|
|
18602
|
-
...pPr ? { pPr: clone(pPr) } : {},
|
|
18603
|
-
rawXml: clone(raw),
|
|
18604
|
-
childOrder: smartArtChildOrder(raw)
|
|
18605
|
-
};
|
|
18606
|
-
}
|
|
18607
|
-
if (name === "tab") {
|
|
18608
|
-
return { kind: "tab", rawXml: clone(raw), childOrder: smartArtChildOrder(raw) };
|
|
18609
|
-
}
|
|
18610
|
-
return { kind: "raw", name: key, value: clone(rawValue) };
|
|
18611
|
-
}
|
|
18612
|
-
function parseSmartArtTextParagraphs(point2) {
|
|
18613
|
-
const body = child3(point2, "t");
|
|
18614
|
-
if (!body) {
|
|
18615
|
-
return void 0;
|
|
18616
|
-
}
|
|
18617
|
-
const pKey = keyFor(body, "p");
|
|
18618
|
-
const raw = pKey ? body[pKey] : void 0;
|
|
18619
|
-
const paragraphNodes = Array.isArray(raw) ? raw : raw ? [raw] : [];
|
|
18620
|
-
if (paragraphNodes.length === 0) {
|
|
18621
|
-
return void 0;
|
|
18622
|
-
}
|
|
18623
|
-
return paragraphNodes.map((paragraph) => {
|
|
18624
|
-
const pPr = child3(paragraph, "pPr");
|
|
18625
|
-
const endParaRPr = child3(paragraph, "endParaRPr");
|
|
18626
|
-
return {
|
|
18627
|
-
...pPr ? { pPr: clone(pPr) } : {},
|
|
18628
|
-
items: orderedSmartArtTextEntries(paragraph).flatMap(
|
|
18629
|
-
([key, item]) => ["pPr", "endParaRPr"].includes(localName6(key)) ? [] : [parseItem(key, item)]
|
|
18630
|
-
),
|
|
18631
|
-
...endParaRPr ? { endParaRPr: clone(endParaRPr) } : {},
|
|
18632
|
-
rawXml: clone(paragraph)
|
|
18633
|
-
};
|
|
18634
|
-
});
|
|
18635
|
-
}
|
|
18636
|
-
function smartArtParagraphsText(paragraphs) {
|
|
18404
|
+
// diagram/text/node-text-paragraphs.ts
|
|
18405
|
+
function diagramParagraphsText(paragraphs) {
|
|
18637
18406
|
return paragraphs.map(
|
|
18638
18407
|
(paragraph) => paragraph.items.map((item) => {
|
|
18639
18408
|
if (item.kind === "run") {
|
|
@@ -18649,129 +18418,13 @@ function smartArtParagraphsText(paragraphs) {
|
|
|
18649
18418
|
}).join("")
|
|
18650
18419
|
).join("\n");
|
|
18651
18420
|
}
|
|
18652
|
-
function
|
|
18421
|
+
function firstDiagramParagraphRuns(paragraphs) {
|
|
18653
18422
|
const runs = paragraphs?.[0]?.items.flatMap((item) => item.kind === "run" ? [item.run] : []);
|
|
18654
18423
|
return runs && runs.length > 0 ? runs : void 0;
|
|
18655
18424
|
}
|
|
18656
|
-
function objectWithAttributes(raw) {
|
|
18657
|
-
return Object.fromEntries(
|
|
18658
|
-
Object.entries(raw ?? {}).filter(([key]) => key.startsWith("@_"))
|
|
18659
|
-
);
|
|
18660
|
-
}
|
|
18661
|
-
function appendChild(target, name, value, order) {
|
|
18662
|
-
const seen = Object.keys(target).some((key) => key === name || key.startsWith(`${name}#`));
|
|
18663
|
-
target[seen ? orderedXmlKey(name, order) : name] = value;
|
|
18664
|
-
}
|
|
18665
|
-
function buildOrderedContainer(raw, order, replacements) {
|
|
18666
|
-
const xml = objectWithAttributes(raw);
|
|
18667
|
-
const keys = /* @__PURE__ */ new Map();
|
|
18668
|
-
for (const key of Object.keys(raw ?? {})) {
|
|
18669
|
-
if (!key.startsWith("@_")) {
|
|
18670
|
-
keys.set(localName6(key), key);
|
|
18671
|
-
}
|
|
18672
|
-
}
|
|
18673
|
-
const values = (name) => {
|
|
18674
|
-
const key = keys.get(name);
|
|
18675
|
-
const value = key ? raw?.[key] : void 0;
|
|
18676
|
-
return Array.isArray(value) ? value : value === void 0 ? [] : [value];
|
|
18677
|
-
};
|
|
18678
|
-
const derivedOrder = order ?? [...keys.keys()].flatMap((name) => values(name).map(() => name));
|
|
18679
|
-
const replacementMap = new Map(
|
|
18680
|
-
replacements.map(([name, value]) => [localName6(name), [name, value]])
|
|
18681
|
-
);
|
|
18682
|
-
const emittedReplacements = /* @__PURE__ */ new Set();
|
|
18683
|
-
const consumed = /* @__PURE__ */ new Map();
|
|
18684
|
-
let outputOrder = 0;
|
|
18685
|
-
for (const name of derivedOrder) {
|
|
18686
|
-
const replacement = replacementMap.get(name);
|
|
18687
|
-
if (replacement && !emittedReplacements.has(name)) {
|
|
18688
|
-
appendChild(xml, replacement[0], replacement[1], outputOrder++);
|
|
18689
|
-
emittedReplacements.add(name);
|
|
18690
|
-
continue;
|
|
18691
|
-
}
|
|
18692
|
-
const index = consumed.get(name) ?? 0;
|
|
18693
|
-
const value = values(name)[index];
|
|
18694
|
-
consumed.set(name, index + 1);
|
|
18695
|
-
const key = keys.get(name);
|
|
18696
|
-
if (key && value !== void 0) {
|
|
18697
|
-
appendChild(xml, key, clone(value), outputOrder++);
|
|
18698
|
-
}
|
|
18699
|
-
}
|
|
18700
|
-
for (const [name, value] of replacements) {
|
|
18701
|
-
if (!emittedReplacements.has(localName6(name))) {
|
|
18702
|
-
appendChild(xml, name, value, outputOrder++);
|
|
18703
|
-
}
|
|
18704
|
-
}
|
|
18705
|
-
return xml;
|
|
18706
|
-
}
|
|
18707
|
-
function buildItem(item) {
|
|
18708
|
-
if (item.kind === "run") {
|
|
18709
|
-
return [
|
|
18710
|
-
"a:r",
|
|
18711
|
-
buildOrderedContainer(item.run.rawXml, item.run.childOrder, [
|
|
18712
|
-
["a:rPr", item.run.rPr ?? { "@_lang": "en-US" }],
|
|
18713
|
-
["a:t", item.run.text]
|
|
18714
|
-
])
|
|
18715
|
-
];
|
|
18716
|
-
}
|
|
18717
|
-
if (item.kind === "break") {
|
|
18718
|
-
return [
|
|
18719
|
-
"a:br",
|
|
18720
|
-
buildOrderedContainer(
|
|
18721
|
-
item.rawXml,
|
|
18722
|
-
item.childOrder,
|
|
18723
|
-
item.rPr ? [["a:rPr", item.rPr]] : []
|
|
18724
|
-
)
|
|
18725
|
-
];
|
|
18726
|
-
}
|
|
18727
|
-
if (item.kind === "field") {
|
|
18728
|
-
const replacements = [];
|
|
18729
|
-
if (item.rPr) {
|
|
18730
|
-
replacements.push(["a:rPr", item.rPr]);
|
|
18731
|
-
}
|
|
18732
|
-
if (item.pPr) {
|
|
18733
|
-
replacements.push(["a:pPr", item.pPr]);
|
|
18734
|
-
}
|
|
18735
|
-
replacements.push(["a:t", item.text]);
|
|
18736
|
-
const xml = buildOrderedContainer(
|
|
18737
|
-
item.rawXml,
|
|
18738
|
-
item.childOrder,
|
|
18739
|
-
replacements
|
|
18740
|
-
);
|
|
18741
|
-
if (item.id) {
|
|
18742
|
-
xml["@_id"] = item.id;
|
|
18743
|
-
}
|
|
18744
|
-
if (item.fieldType) {
|
|
18745
|
-
xml["@_type"] = item.fieldType;
|
|
18746
|
-
}
|
|
18747
|
-
return ["a:fld", xml];
|
|
18748
|
-
}
|
|
18749
|
-
if (item.kind === "tab") {
|
|
18750
|
-
return [
|
|
18751
|
-
"a:tab",
|
|
18752
|
-
buildOrderedContainer(item.rawXml, item.childOrder, [])
|
|
18753
|
-
];
|
|
18754
|
-
}
|
|
18755
|
-
return [item.name, clone(item.value)];
|
|
18756
|
-
}
|
|
18757
|
-
function buildSmartArtTextParagraph(paragraph) {
|
|
18758
|
-
const xml = objectWithAttributes(paragraph.rawXml);
|
|
18759
|
-
if (paragraph.pPr) {
|
|
18760
|
-
xml["a:pPr"] = paragraph.pPr;
|
|
18761
|
-
}
|
|
18762
|
-
let order = 0;
|
|
18763
|
-
for (const item of paragraph.items) {
|
|
18764
|
-
const [name, value] = buildItem(item);
|
|
18765
|
-
appendChild(xml, name, value, order++);
|
|
18766
|
-
}
|
|
18767
|
-
if (paragraph.endParaRPr) {
|
|
18768
|
-
xml["a:endParaRPr"] = paragraph.endParaRPr;
|
|
18769
|
-
}
|
|
18770
|
-
return xml;
|
|
18771
|
-
}
|
|
18772
18425
|
|
|
18773
|
-
//
|
|
18774
|
-
function
|
|
18426
|
+
// diagram/text/node-text-reconciliation.ts
|
|
18427
|
+
function clone(value) {
|
|
18775
18428
|
return JSON.parse(JSON.stringify(value));
|
|
18776
18429
|
}
|
|
18777
18430
|
function itemText(item) {
|
|
@@ -18920,7 +18573,10 @@ function removeRange(paragraphs, start, end) {
|
|
|
18920
18573
|
const right = paragraphs[atom.paragraph + 1];
|
|
18921
18574
|
if (left && right) {
|
|
18922
18575
|
left.items.push(...right.items);
|
|
18923
|
-
|
|
18576
|
+
const end2 = right.endParaRPr ?? left.endParaRPr;
|
|
18577
|
+
if (end2) left.endParaRPr = end2;
|
|
18578
|
+
const endProperties = right.endProperties ?? left.endProperties;
|
|
18579
|
+
if (endProperties) left.endProperties = endProperties;
|
|
18924
18580
|
paragraphs.splice(atom.paragraph + 1, 1);
|
|
18925
18581
|
}
|
|
18926
18582
|
}
|
|
@@ -18928,7 +18584,7 @@ function removeRange(paragraphs, start, end) {
|
|
|
18928
18584
|
}
|
|
18929
18585
|
function textTemplate(paragraph) {
|
|
18930
18586
|
const existing = paragraph.items.find((item) => itemText(item) !== void 0);
|
|
18931
|
-
return existing ?
|
|
18587
|
+
return existing ? clone(existing) : { kind: "run", run: { text: "" } };
|
|
18932
18588
|
}
|
|
18933
18589
|
function insertAt(paragraphs, offset, value) {
|
|
18934
18590
|
const location = atoms(paragraphs)[offset - 1];
|
|
@@ -18942,7 +18598,7 @@ function insertAt(paragraphs, offset, value) {
|
|
|
18942
18598
|
const item = paragraph.items[itemIndex];
|
|
18943
18599
|
const text2 = item ? itemText(item) : void 0;
|
|
18944
18600
|
if (item && text2 !== void 0 && textOffset > 0 && textOffset < text2.length) {
|
|
18945
|
-
splitRight =
|
|
18601
|
+
splitRight = clone(item);
|
|
18946
18602
|
setItemText(item, text2.slice(0, textOffset));
|
|
18947
18603
|
setItemText(splitRight, text2.slice(textOffset));
|
|
18948
18604
|
paragraph.items.splice(itemIndex + 1, 0, splitRight);
|
|
@@ -18958,7 +18614,7 @@ function insertAt(paragraphs, offset, value) {
|
|
|
18958
18614
|
}
|
|
18959
18615
|
} else if (part === "\n") {
|
|
18960
18616
|
const rightItems = paragraph.items.splice(itemIndex + 1);
|
|
18961
|
-
const next =
|
|
18617
|
+
const next = clone(paragraph);
|
|
18962
18618
|
next.items = rightItems;
|
|
18963
18619
|
paragraphs.splice(paragraphIndex + 1, 0, next);
|
|
18964
18620
|
paragraphIndex++;
|
|
@@ -18978,9 +18634,12 @@ function insertAt(paragraphs, offset, value) {
|
|
|
18978
18634
|
}
|
|
18979
18635
|
}
|
|
18980
18636
|
}
|
|
18981
|
-
function
|
|
18982
|
-
|
|
18983
|
-
|
|
18637
|
+
function reconcileDiagramTextParagraphs(paragraphs, desired) {
|
|
18638
|
+
return reconcile(paragraphs, desired);
|
|
18639
|
+
}
|
|
18640
|
+
function reconcile(paragraphs, desired) {
|
|
18641
|
+
const result = clone(paragraphs);
|
|
18642
|
+
const before = diagramParagraphsText(result);
|
|
18984
18643
|
if (before === desired) {
|
|
18985
18644
|
return result;
|
|
18986
18645
|
}
|
|
@@ -18994,6 +18653,73 @@ function reconcileSmartArtTextParagraphs(paragraphs, desired) {
|
|
|
18994
18653
|
return result.length > 0 ? result : [{ items: [] }];
|
|
18995
18654
|
}
|
|
18996
18655
|
|
|
18656
|
+
// diagram/text/node-text-projection.ts
|
|
18657
|
+
function paragraphMetadata(styler, paragraph, paragraphIndex, bulletEnabled) {
|
|
18658
|
+
const level2 = styler.paragraphLevel(paragraph);
|
|
18659
|
+
const explicitBullet = styler.explicitBullet(paragraph, paragraphIndex);
|
|
18660
|
+
const bulletInfo = explicitBullet ?? (bulletEnabled && level2 >= 1 ? styler.autoBullet() : void 0);
|
|
18661
|
+
return {
|
|
18662
|
+
...bulletInfo ? { bulletInfo } : {},
|
|
18663
|
+
paragraphLevel: level2,
|
|
18664
|
+
...paragraph.endParaRPr ? { endParaRunProperties: paragraph.endParaRPr } : {}
|
|
18665
|
+
};
|
|
18666
|
+
}
|
|
18667
|
+
function projectDiagramNodeText(node, styler, fallbackStyle, options = {}) {
|
|
18668
|
+
if (!node.paragraphs?.length) {
|
|
18669
|
+
return [{ text: node.text, style: fallbackStyle }];
|
|
18670
|
+
}
|
|
18671
|
+
const paragraphs = reconcileDiagramTextParagraphs(node.paragraphs, node.text);
|
|
18672
|
+
const segments = [];
|
|
18673
|
+
for (let paragraphIndex = 0; paragraphIndex < paragraphs.length; paragraphIndex++) {
|
|
18674
|
+
const paragraph = paragraphs[paragraphIndex];
|
|
18675
|
+
const pStyle = styler.paragraphStyle(paragraph, fallbackStyle);
|
|
18676
|
+
const metadata = paragraphMetadata(
|
|
18677
|
+
styler,
|
|
18678
|
+
paragraph,
|
|
18679
|
+
paragraphIndex,
|
|
18680
|
+
options.bulletEnabled ?? false
|
|
18681
|
+
);
|
|
18682
|
+
let first2 = true;
|
|
18683
|
+
const push2 = (segment) => {
|
|
18684
|
+
segments.push(first2 ? { ...segment, ...metadata } : segment);
|
|
18685
|
+
first2 = false;
|
|
18686
|
+
};
|
|
18687
|
+
for (const item of paragraph.items) {
|
|
18688
|
+
if (item.kind === "run") {
|
|
18689
|
+
push2({ text: item.run.text, style: styler.runStyle(item.run, pStyle) });
|
|
18690
|
+
} else if (item.kind === "field") {
|
|
18691
|
+
push2({
|
|
18692
|
+
text: item.text,
|
|
18693
|
+
style: styler.runStyle(item, pStyle),
|
|
18694
|
+
fieldType: item.fieldType,
|
|
18695
|
+
fieldGuid: item.id,
|
|
18696
|
+
fieldParagraphPropertiesXml: item.pPr
|
|
18697
|
+
});
|
|
18698
|
+
} else if (item.kind === "break") {
|
|
18699
|
+
push2({
|
|
18700
|
+
text: "\n",
|
|
18701
|
+
style: styler.runStyle(item, pStyle),
|
|
18702
|
+
isLineBreak: true,
|
|
18703
|
+
breakRunProperties: item.rPr
|
|
18704
|
+
});
|
|
18705
|
+
} else if (item.kind === "tab") {
|
|
18706
|
+
push2({ text: " ", style: pStyle });
|
|
18707
|
+
}
|
|
18708
|
+
}
|
|
18709
|
+
if (first2) {
|
|
18710
|
+
push2({ text: "", style: styler.endParagraphStyle(paragraph, pStyle) });
|
|
18711
|
+
}
|
|
18712
|
+
if (paragraphIndex < paragraphs.length - 1) {
|
|
18713
|
+
segments.push({
|
|
18714
|
+
text: "",
|
|
18715
|
+
style: styler.endParagraphStyle(paragraph, pStyle),
|
|
18716
|
+
isParagraphBreak: true
|
|
18717
|
+
});
|
|
18718
|
+
}
|
|
18719
|
+
}
|
|
18720
|
+
return segments;
|
|
18721
|
+
}
|
|
18722
|
+
|
|
18997
18723
|
// pptx/core/utils/tab-stops.ts
|
|
18998
18724
|
var EMU_PER_PX2 = 9525;
|
|
18999
18725
|
function parseTabStops(pPr) {
|
|
@@ -19456,7 +19182,7 @@ function parseRunSolidFillColorXml(rPr) {
|
|
|
19456
19182
|
}
|
|
19457
19183
|
|
|
19458
19184
|
// pptx/core/utils/smartart-node-text-projection.ts
|
|
19459
|
-
function
|
|
19185
|
+
function child3(node, name) {
|
|
19460
19186
|
if (!node) {
|
|
19461
19187
|
return void 0;
|
|
19462
19188
|
}
|
|
@@ -19467,7 +19193,7 @@ function child4(node, name) {
|
|
|
19467
19193
|
function runStyle(rPr, fallback) {
|
|
19468
19194
|
const xml = rPr;
|
|
19469
19195
|
const color = parseRunSolidFillColor(xml);
|
|
19470
|
-
const extLst =
|
|
19196
|
+
const extLst = child3(rPr, "extLst");
|
|
19471
19197
|
return {
|
|
19472
19198
|
...fallback,
|
|
19473
19199
|
...parseRunPropertyAttributes(xml),
|
|
@@ -19490,7 +19216,7 @@ function paragraphStyle(paragraph, fallback) {
|
|
|
19490
19216
|
const align = parseAlignmentAttr(pPr?.["@_algn"]);
|
|
19491
19217
|
const rtl = parseParagraphRtl(pPr);
|
|
19492
19218
|
const tabStops = parseTabStops(pPr);
|
|
19493
|
-
const extLst =
|
|
19219
|
+
const extLst = child3(paragraph.pPr, "extLst");
|
|
19494
19220
|
return {
|
|
19495
19221
|
...fallback,
|
|
19496
19222
|
...align ? { align } : {},
|
|
@@ -19498,78 +19224,25 @@ function paragraphStyle(paragraph, fallback) {
|
|
|
19498
19224
|
...parseParagraphExtraAttributes(pPr),
|
|
19499
19225
|
...rtl !== void 0 ? { rtl } : {},
|
|
19500
19226
|
...tabStops ? { tabStops } : {},
|
|
19501
|
-
...parseParagraphSpacingPx(
|
|
19502
|
-
...parseParagraphSpacingPx(
|
|
19503
|
-
...parseLineSpacingMultiplier(
|
|
19504
|
-
...parseLineSpacingExactPt(
|
|
19227
|
+
...parseParagraphSpacingPx(child3(paragraph.pPr, "spcBef")) !== void 0 ? { paragraphSpacingBefore: parseParagraphSpacingPx(child3(paragraph.pPr, "spcBef")) } : {},
|
|
19228
|
+
...parseParagraphSpacingPx(child3(paragraph.pPr, "spcAft")) !== void 0 ? { paragraphSpacingAfter: parseParagraphSpacingPx(child3(paragraph.pPr, "spcAft")) } : {},
|
|
19229
|
+
...parseLineSpacingMultiplier(child3(paragraph.pPr, "lnSpc")) !== void 0 ? { lineSpacing: parseLineSpacingMultiplier(child3(paragraph.pPr, "lnSpc")) } : {},
|
|
19230
|
+
...parseLineSpacingExactPt(child3(paragraph.pPr, "lnSpc")) !== void 0 ? { lineSpacingExactPt: parseLineSpacingExactPt(child3(paragraph.pPr, "lnSpc")) } : {},
|
|
19505
19231
|
...extLst ? { paragraphPropertiesExtLstXml: extLst } : {},
|
|
19506
|
-
...
|
|
19232
|
+
...child3(paragraph.pPr, "defRPr") ? { paragraphDefaultRunPropertiesXml: child3(paragraph.pPr, "defRPr") } : {}
|
|
19507
19233
|
};
|
|
19508
19234
|
}
|
|
19509
19235
|
var AUTO_BULLET_CHAR = "\u2022";
|
|
19510
|
-
|
|
19511
|
-
|
|
19512
|
-
|
|
19513
|
-
|
|
19514
|
-
|
|
19515
|
-
|
|
19516
|
-
|
|
19517
|
-
|
|
19518
|
-
...paragraph.endParaRPr ? { endParaRunProperties: paragraph.endParaRPr } : {}
|
|
19519
|
-
};
|
|
19520
|
-
}
|
|
19236
|
+
var PPTX_TEXT_STYLER = {
|
|
19237
|
+
paragraphStyle,
|
|
19238
|
+
runStyle: (item, pStyle) => resolvedRunStyle(item.rPr, item.style, pStyle),
|
|
19239
|
+
endParagraphStyle: (paragraph, pStyle) => ({ ...pStyle, ...paragraph.endParaStyle }),
|
|
19240
|
+
paragraphLevel: (paragraph) => parseParagraphLevel(paragraph.pPr),
|
|
19241
|
+
explicitBullet: (paragraph, index) => parseBulletInfo(paragraph.pPr, index) ?? void 0,
|
|
19242
|
+
autoBullet: () => ({ char: AUTO_BULLET_CHAR })
|
|
19243
|
+
};
|
|
19521
19244
|
function projectSmartArtNodeText(node, fallbackStyle = {}, options = {}) {
|
|
19522
|
-
|
|
19523
|
-
return [{ text: node.text, style: fallbackStyle }];
|
|
19524
|
-
}
|
|
19525
|
-
const paragraphs = reconcileSmartArtTextParagraphs(node.paragraphs, node.text);
|
|
19526
|
-
const segments = [];
|
|
19527
|
-
for (let paragraphIndex = 0; paragraphIndex < paragraphs.length; paragraphIndex++) {
|
|
19528
|
-
const paragraph = paragraphs[paragraphIndex];
|
|
19529
|
-
const pStyle = paragraphStyle(paragraph, fallbackStyle);
|
|
19530
|
-
const metadata = paragraphMetadata(paragraph, paragraphIndex, options.bulletEnabled ?? false);
|
|
19531
|
-
let first2 = true;
|
|
19532
|
-
const push2 = (segment) => {
|
|
19533
|
-
segments.push(first2 ? { ...segment, ...metadata } : segment);
|
|
19534
|
-
first2 = false;
|
|
19535
|
-
};
|
|
19536
|
-
for (const item of paragraph.items) {
|
|
19537
|
-
if (item.kind === "run") {
|
|
19538
|
-
push2({
|
|
19539
|
-
text: item.run.text,
|
|
19540
|
-
style: resolvedRunStyle(item.run.rPr, item.run.style, pStyle)
|
|
19541
|
-
});
|
|
19542
|
-
} else if (item.kind === "field") {
|
|
19543
|
-
push2({
|
|
19544
|
-
text: item.text,
|
|
19545
|
-
style: resolvedRunStyle(item.rPr, item.style, pStyle),
|
|
19546
|
-
fieldType: item.fieldType,
|
|
19547
|
-
fieldGuid: item.id,
|
|
19548
|
-
fieldParagraphPropertiesXml: item.pPr
|
|
19549
|
-
});
|
|
19550
|
-
} else if (item.kind === "break") {
|
|
19551
|
-
push2({
|
|
19552
|
-
text: "\n",
|
|
19553
|
-
style: resolvedRunStyle(item.rPr, item.style, pStyle),
|
|
19554
|
-
isLineBreak: true,
|
|
19555
|
-
breakRunProperties: item.rPr
|
|
19556
|
-
});
|
|
19557
|
-
} else if (item.kind === "tab") {
|
|
19558
|
-
push2({ text: " ", style: pStyle });
|
|
19559
|
-
}
|
|
19560
|
-
}
|
|
19561
|
-
if (first2) {
|
|
19562
|
-
push2({ text: "", style: { ...pStyle, ...paragraph.endParaStyle } });
|
|
19563
|
-
}
|
|
19564
|
-
if (paragraphIndex < paragraphs.length - 1) {
|
|
19565
|
-
segments.push({
|
|
19566
|
-
text: "",
|
|
19567
|
-
style: { ...pStyle, ...paragraph.endParaStyle },
|
|
19568
|
-
isParagraphBreak: true
|
|
19569
|
-
});
|
|
19570
|
-
}
|
|
19571
|
-
}
|
|
19572
|
-
return segments;
|
|
19245
|
+
return projectDiagramNodeText(node, PPTX_TEXT_STYLER, fallbackStyle, options);
|
|
19573
19246
|
}
|
|
19574
19247
|
|
|
19575
19248
|
// diagram/layout/smartart-interpreter-fold-text.ts
|
|
@@ -27477,7 +27150,7 @@ function interpretSmartArtLayout(view, input) {
|
|
|
27477
27150
|
|
|
27478
27151
|
// pptx/core/utils/smartart-ordered-xml-adapter.ts
|
|
27479
27152
|
var converted = /* @__PURE__ */ new WeakMap();
|
|
27480
|
-
var
|
|
27153
|
+
var localName4 = (key) => key.slice(key.indexOf(":") + 1);
|
|
27481
27154
|
function convert(value, name) {
|
|
27482
27155
|
let byName = converted.get(value);
|
|
27483
27156
|
const cached = byName?.get(name);
|
|
@@ -27489,14 +27162,14 @@ function convert(value, name) {
|
|
|
27489
27162
|
if (key.startsWith("@_")) {
|
|
27490
27163
|
const attribute3 = key.slice(2);
|
|
27491
27164
|
if (attribute3 !== "xmlns" && !attribute3.startsWith("xmlns:") && entry != null) {
|
|
27492
|
-
element.attrs[
|
|
27165
|
+
element.attrs[localName4(attribute3)] = String(entry);
|
|
27493
27166
|
}
|
|
27494
27167
|
continue;
|
|
27495
27168
|
}
|
|
27496
27169
|
if (key.startsWith("#") || key.startsWith("?")) {
|
|
27497
27170
|
continue;
|
|
27498
27171
|
}
|
|
27499
|
-
const childName =
|
|
27172
|
+
const childName = localName4(key);
|
|
27500
27173
|
for (const child16 of Array.isArray(entry) ? entry : [entry]) {
|
|
27501
27174
|
element.children.push(
|
|
27502
27175
|
child16 && typeof child16 === "object" ? convert(child16, childName) : { name: childName, attrs: {}, children: [] }
|
|
@@ -29018,6 +28691,176 @@ function ruleAttributes(value) {
|
|
|
29018
28691
|
return [...targetAttributes(value), ["max", text(value.max)]];
|
|
29019
28692
|
}
|
|
29020
28693
|
|
|
28694
|
+
// diagram/edit/shape-match.ts
|
|
28695
|
+
function findDiagramShapeIndex(shapes, nodes, nodeId) {
|
|
28696
|
+
for (let i2 = 0; i2 < shapes.length; i2++) {
|
|
28697
|
+
const id = shapes[i2].id;
|
|
28698
|
+
if (id.startsWith("reflow-") && id.endsWith(`-${nodeId}`)) {
|
|
28699
|
+
return i2;
|
|
28700
|
+
}
|
|
28701
|
+
}
|
|
28702
|
+
if (shapes.length === nodes.length) {
|
|
28703
|
+
const nodeIdx = nodes.findIndex((n) => n.id === nodeId);
|
|
28704
|
+
if (nodeIdx >= 0) {
|
|
28705
|
+
return nodeIdx;
|
|
28706
|
+
}
|
|
28707
|
+
}
|
|
28708
|
+
const node = nodes.find((n) => n.id === nodeId);
|
|
28709
|
+
if (node?.text) {
|
|
28710
|
+
const text2 = node.text.trim();
|
|
28711
|
+
const matches = [];
|
|
28712
|
+
for (let i2 = 0; i2 < shapes.length; i2++) {
|
|
28713
|
+
if (shapes[i2].text?.trim() === text2) {
|
|
28714
|
+
matches.push(i2);
|
|
28715
|
+
}
|
|
28716
|
+
}
|
|
28717
|
+
if (matches.length === 1) {
|
|
28718
|
+
return matches[0];
|
|
28719
|
+
}
|
|
28720
|
+
}
|
|
28721
|
+
return -1;
|
|
28722
|
+
}
|
|
28723
|
+
function patchDiagramShape(shapes, nodes, nodeId, patch) {
|
|
28724
|
+
if (!shapes || shapes.length === 0) {
|
|
28725
|
+
return shapes;
|
|
28726
|
+
}
|
|
28727
|
+
const idx = findDiagramShapeIndex(shapes, nodes, nodeId);
|
|
28728
|
+
if (idx < 0) {
|
|
28729
|
+
return [];
|
|
28730
|
+
}
|
|
28731
|
+
const updated = [...shapes];
|
|
28732
|
+
updated[idx] = patch(updated[idx]);
|
|
28733
|
+
return updated;
|
|
28734
|
+
}
|
|
28735
|
+
|
|
28736
|
+
// crypto/uuid.ts
|
|
28737
|
+
function randomBytes(length) {
|
|
28738
|
+
const cryptoObj = globalThis.crypto;
|
|
28739
|
+
if (cryptoObj?.getRandomValues) return cryptoObj.getRandomValues(new Uint8Array(length));
|
|
28740
|
+
const bytes = new Uint8Array(length);
|
|
28741
|
+
for (let i2 = 0; i2 < length; i2++) bytes[i2] = Math.floor(Math.random() * 256);
|
|
28742
|
+
return bytes;
|
|
28743
|
+
}
|
|
28744
|
+
function randomHex(length) {
|
|
28745
|
+
return Array.from(randomBytes(Math.ceil(length / 2)), (b) => b.toString(16).padStart(2, "0")).join("").slice(0, length);
|
|
28746
|
+
}
|
|
28747
|
+
function createOfficeGuid() {
|
|
28748
|
+
const variantNibble = (8 + (randomBytes(1)[0] ?? 0) % 4).toString(16);
|
|
28749
|
+
const uuid = globalThis.crypto?.randomUUID?.() ?? `${randomHex(8)}-${randomHex(4)}-4${randomHex(3)}-${variantNibble}${randomHex(3)}-${randomHex(12)}`;
|
|
28750
|
+
return `{${uuid.toUpperCase()}}`;
|
|
28751
|
+
}
|
|
28752
|
+
|
|
28753
|
+
// diagram/edit/node-ops.ts
|
|
28754
|
+
function setDiagramNodeText(data, nodeId, newText) {
|
|
28755
|
+
const nodes = data.nodes.map((n) => n.id === nodeId ? { ...n, text: newText } : n);
|
|
28756
|
+
return {
|
|
28757
|
+
...data,
|
|
28758
|
+
nodes,
|
|
28759
|
+
drawingDirty: true,
|
|
28760
|
+
drawingShapes: patchDiagramShape(data.drawingShapes, data.nodes, nodeId, (shape) => ({
|
|
28761
|
+
...shape,
|
|
28762
|
+
text: newText
|
|
28763
|
+
}))
|
|
28764
|
+
};
|
|
28765
|
+
}
|
|
28766
|
+
|
|
28767
|
+
// diagram/write/data.ts
|
|
28768
|
+
var DIAGRAM_XML_PROLOG = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
|
28769
|
+
var DIAGRAM_DATA_XMLNS = 'xmlns:dgm="http://schemas.openxmlformats.org/drawingml/2006/diagram" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"';
|
|
28770
|
+
function escapeDiagramXml(value) {
|
|
28771
|
+
return value.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replaceAll('"', """).replaceAll("'", "'");
|
|
28772
|
+
}
|
|
28773
|
+
function diagramAvLstXml(adjustments) {
|
|
28774
|
+
const entries = Object.entries(adjustments ?? {}).filter(([, v]) => Number.isFinite(v));
|
|
28775
|
+
if (entries.length === 0) {
|
|
28776
|
+
return "<a:avLst/>";
|
|
28777
|
+
}
|
|
28778
|
+
const gds = entries.map(([name, v]) => `<a:gd name="${escapeDiagramXml(name)}" fmla="val ${Math.round(v)}"/>`).join("");
|
|
28779
|
+
return `<a:avLst>${gds}</a:avLst>`;
|
|
28780
|
+
}
|
|
28781
|
+
var GUID_MODEL_ID = /^\{[0-9A-Fa-f]{8}(?:-[0-9A-Fa-f]{4}){3}-[0-9A-Fa-f]{12}\}$/u;
|
|
28782
|
+
var EMPTY_TEXT_BODY = '<dgm:t><a:bodyPr/><a:lstStyle/><a:p><a:endParaRPr lang="en-US"/></a:p></dgm:t>';
|
|
28783
|
+
function contentTextBody(text2) {
|
|
28784
|
+
if (!text2) {
|
|
28785
|
+
return EMPTY_TEXT_BODY;
|
|
28786
|
+
}
|
|
28787
|
+
return `<dgm:t><a:bodyPr/><a:lstStyle/><a:p><a:r><a:rPr lang="en-US"/><a:t>${escapeDiagramXml(text2)}</a:t></a:r></a:p></dgm:t>`;
|
|
28788
|
+
}
|
|
28789
|
+
function contentPointXml(guid, node) {
|
|
28790
|
+
const prSet = node.text ? "<dgm:prSet/>" : '<dgm:prSet phldrT="[Text]" phldr="1"/>';
|
|
28791
|
+
const typeAttr = node.nodeType === "asst" ? ' type="asst"' : "";
|
|
28792
|
+
return `<dgm:pt modelId="${guid}"${typeAttr}>${prSet}<dgm:spPr/>${contentTextBody(node.text ?? "")}</dgm:pt>`;
|
|
28793
|
+
}
|
|
28794
|
+
function transPointXml(guid, type, cxnGuid) {
|
|
28795
|
+
return `<dgm:pt modelId="${guid}" type="${type}" cxnId="${cxnGuid}"><dgm:prSet/><dgm:spPr/>${EMPTY_TEXT_BODY}</dgm:pt>`;
|
|
28796
|
+
}
|
|
28797
|
+
function docPointXml(docGuid, ids) {
|
|
28798
|
+
return `<dgm:pt modelId="${docGuid}" type="doc"><dgm:prSet loTypeId="${escapeDiagramXml(ids.layoutUniqueId)}" loCatId="${escapeDiagramXml(ids.layoutCategory)}" qsTypeId="${escapeDiagramXml(ids.quickStyleUniqueId)}" qsCatId="simple" csTypeId="${escapeDiagramXml(ids.colorsUniqueId)}" csCatId="${escapeDiagramXml(ids.colorsCategory)}"/><dgm:spPr/>${EMPTY_TEXT_BODY}</dgm:pt>`;
|
|
28799
|
+
}
|
|
28800
|
+
function buildDiagramNodeGuidMap(nodes, createModelId = createOfficeGuid) {
|
|
28801
|
+
const guidByNodeId = /* @__PURE__ */ new Map();
|
|
28802
|
+
for (const node of nodes) {
|
|
28803
|
+
if (node.id && !guidByNodeId.has(node.id)) {
|
|
28804
|
+
guidByNodeId.set(node.id, GUID_MODEL_ID.test(node.id) ? node.id : createModelId());
|
|
28805
|
+
}
|
|
28806
|
+
}
|
|
28807
|
+
return guidByNodeId;
|
|
28808
|
+
}
|
|
28809
|
+
function buildDiagramPresentationGuidMap(nodes, createModelId = createOfficeGuid) {
|
|
28810
|
+
const guidByNodeId = /* @__PURE__ */ new Map();
|
|
28811
|
+
for (const node of nodes) {
|
|
28812
|
+
if (node.id && !guidByNodeId.has(node.id)) {
|
|
28813
|
+
guidByNodeId.set(node.id, createModelId());
|
|
28814
|
+
}
|
|
28815
|
+
}
|
|
28816
|
+
return guidByNodeId;
|
|
28817
|
+
}
|
|
28818
|
+
var DSP_DATA_MODEL_EXT_URI = "http://schemas.microsoft.com/office/drawing/2008/diagram";
|
|
28819
|
+
function writeFabricatedDiagramData(data, ids, options = {}) {
|
|
28820
|
+
const createModelId = options.createModelId ?? createOfficeGuid;
|
|
28821
|
+
const docGuid = createModelId();
|
|
28822
|
+
const guidByNodeId = options.guidByNodeId ?? buildDiagramNodeGuidMap(data.nodes, createModelId);
|
|
28823
|
+
const presentationGuidByNodeId = options.presentationGuidByNodeId ?? buildDiagramPresentationGuidMap(data.nodes, createModelId);
|
|
28824
|
+
const points = [docPointXml(docGuid, ids)];
|
|
28825
|
+
const connections = [];
|
|
28826
|
+
const nextSrcOrd = /* @__PURE__ */ new Map();
|
|
28827
|
+
for (const node of data.nodes) {
|
|
28828
|
+
const guid = node.id ? guidByNodeId.get(node.id) : void 0;
|
|
28829
|
+
if (!guid) {
|
|
28830
|
+
continue;
|
|
28831
|
+
}
|
|
28832
|
+
const parentGuid = node.parentId && guidByNodeId.get(node.parentId) || docGuid;
|
|
28833
|
+
const srcOrd = nextSrcOrd.get(parentGuid) ?? 0;
|
|
28834
|
+
nextSrcOrd.set(parentGuid, srcOrd + 1);
|
|
28835
|
+
const cxnGuid = createModelId();
|
|
28836
|
+
const parTransGuid = createModelId();
|
|
28837
|
+
const sibTransGuid = createModelId();
|
|
28838
|
+
points.push(contentPointXml(guid, node));
|
|
28839
|
+
points.push(transPointXml(parTransGuid, "parTrans", cxnGuid));
|
|
28840
|
+
points.push(transPointXml(sibTransGuid, "sibTrans", cxnGuid));
|
|
28841
|
+
connections.push(
|
|
28842
|
+
`<dgm:cxn modelId="${cxnGuid}" srcId="${parentGuid}" destId="${guid}" srcOrd="${srcOrd}" destOrd="0" parTransId="${parTransGuid}" sibTransId="${sibTransGuid}"/>`
|
|
28843
|
+
);
|
|
28844
|
+
const presentationGuid = node.id ? presentationGuidByNodeId.get(node.id) : void 0;
|
|
28845
|
+
if (presentationGuid) {
|
|
28846
|
+
points.push(
|
|
28847
|
+
`<dgm:pt modelId="${presentationGuid}" type="pres"><dgm:prSet presAssocID="${guid}" presName="node" presStyleLbl="node1" presStyleIdx="${srcOrd}" presStyleCnt="${data.nodes.length}"/><dgm:spPr/></dgm:pt>`
|
|
28848
|
+
);
|
|
28849
|
+
connections.push(
|
|
28850
|
+
`<dgm:cxn modelId="${createModelId()}" type="presOf" srcId="${guid}" destId="${presentationGuid}" srcOrd="0" destOrd="0" presId="${escapeDiagramXml(ids.layoutUniqueId)}"/>`
|
|
28851
|
+
);
|
|
28852
|
+
}
|
|
28853
|
+
}
|
|
28854
|
+
return `${DIAGRAM_XML_PROLOG}\r
|
|
28855
|
+
<dgm:dataModel ${DIAGRAM_DATA_XMLNS}><dgm:ptLst>${points.join("")}</dgm:ptLst><dgm:cxnLst>${connections.join("")}</dgm:cxnLst><dgm:bg/><dgm:whole/>${dataModelExtXml(options.drawingRelId)}</dgm:dataModel>`;
|
|
28856
|
+
}
|
|
28857
|
+
function dataModelExtXml(drawingRelId) {
|
|
28858
|
+
if (!drawingRelId) {
|
|
28859
|
+
return "";
|
|
28860
|
+
}
|
|
28861
|
+
return `<dgm:extLst><a:ext uri="${DSP_DATA_MODEL_EXT_URI}"><dsp:dataModelExt xmlns:dsp="${DSP_DATA_MODEL_EXT_URI}" relId="${escapeDiagramXml(drawingRelId)}" minVer="http://schemas.openxmlformats.org/drawingml/2006/diagram"/></a:ext></dgm:extLst>`;
|
|
28862
|
+
}
|
|
28863
|
+
|
|
29021
28864
|
// diagram/attributes.ts
|
|
29022
28865
|
var optionalString2 = (value) => {
|
|
29023
28866
|
const text2 = (value ?? "").trim();
|
|
@@ -29063,182 +28906,6 @@ function parseRelationshipIdAttributes(get) {
|
|
|
29063
28906
|
return result;
|
|
29064
28907
|
}
|
|
29065
28908
|
|
|
29066
|
-
// xml/namespaces.ts
|
|
29067
|
-
var NS = {
|
|
29068
|
-
/** WordprocessingML main. */
|
|
29069
|
-
w: "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
|
|
29070
|
-
/** PresentationML main. */
|
|
29071
|
-
p: "http://schemas.openxmlformats.org/presentationml/2006/main",
|
|
29072
|
-
/** SpreadsheetML main. */
|
|
29073
|
-
x: "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
|
|
29074
|
-
/** DrawingML main. */
|
|
29075
|
-
a: "http://schemas.openxmlformats.org/drawingml/2006/main",
|
|
29076
|
-
/** DrawingML chart. */
|
|
29077
|
-
c: "http://schemas.openxmlformats.org/drawingml/2006/chart",
|
|
29078
|
-
/** Office 2016 extended charts (waterfall, histogram, funnel...; `cx:chartSpace`). */
|
|
29079
|
-
cx: "http://schemas.microsoft.com/office/drawing/2014/chartex",
|
|
29080
|
-
/** Office 2010 chart extensions, including built-in modern chart styles. */
|
|
29081
|
-
c14: "http://schemas.microsoft.com/office/drawing/2007/8/2/chart",
|
|
29082
|
-
/** DrawingML diagram (SmartArt) main. */
|
|
29083
|
-
dgm: "http://schemas.openxmlformats.org/drawingml/2006/diagram",
|
|
29084
|
-
/** Office 2007+ diagram drawing (`dsp`). */
|
|
29085
|
-
dsp: "http://schemas.microsoft.com/office/drawing/2008/diagram",
|
|
29086
|
-
/** DrawingML Word drawing (`wp:inline`, `wp:anchor`). */
|
|
29087
|
-
wp: "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",
|
|
29088
|
-
/** DrawingML picture. */
|
|
29089
|
-
pic: "http://schemas.openxmlformats.org/drawingml/2006/picture",
|
|
29090
|
-
/** Word 2010 shapes (`wps`). */
|
|
29091
|
-
wps: "http://schemas.microsoft.com/office/word/2010/wordprocessingShape",
|
|
29092
|
-
/** Relationships (`r:id`, `r:embed`). */
|
|
29093
|
-
r: "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
|
|
29094
|
-
/** Markup compatibility (`mc:AlternateContent`). */
|
|
29095
|
-
mc: "http://schemas.openxmlformats.org/markup-compatibility/2006",
|
|
29096
|
-
/** OPC relationships part. */
|
|
29097
|
-
rels: "http://schemas.openxmlformats.org/package/2006/relationships",
|
|
29098
|
-
/** OPC content types part. */
|
|
29099
|
-
contentTypes: "http://schemas.openxmlformats.org/package/2006/content-types",
|
|
29100
|
-
/** Office Math. */
|
|
29101
|
-
m: "http://schemas.openxmlformats.org/officeDocument/2006/math",
|
|
29102
|
-
/** Core properties. */
|
|
29103
|
-
cp: "http://schemas.openxmlformats.org/package/2006/metadata/core-properties",
|
|
29104
|
-
/** Dublin Core elements. */
|
|
29105
|
-
dc: "http://purl.org/dc/elements/1.1/",
|
|
29106
|
-
/** Legacy VML. */
|
|
29107
|
-
v: "urn:schemas-microsoft-com:vml",
|
|
29108
|
-
/** Office VML extensions. */
|
|
29109
|
-
o: "urn:schemas-microsoft-com:office:office",
|
|
29110
|
-
/** Word VML extensions. */
|
|
29111
|
-
w10: "urn:schemas-microsoft-com:office:word",
|
|
29112
|
-
/** SpreadsheetML drawing (`xdr:wsDr`, cell anchors). */
|
|
29113
|
-
xdr: "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing",
|
|
29114
|
-
/** SpreadsheetML 2009 extensions (`x14:conditionalFormatting`, `x14:dataBar`). */
|
|
29115
|
-
x14: "http://schemas.microsoft.com/office/spreadsheetml/2009/9/main",
|
|
29116
|
-
/** SpreadsheetML 2009 attribute extensions (`x14ac:dyDescent`). */
|
|
29117
|
-
x14ac: "http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac",
|
|
29118
|
-
/** SpreadsheetML revision ids (`xr:uid`). */
|
|
29119
|
-
xr: "http://schemas.microsoft.com/office/spreadsheetml/2014/revision",
|
|
29120
|
-
/** Excel threaded comments and persons. */
|
|
29121
|
-
tc: "http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments",
|
|
29122
|
-
/** Legacy VML Excel client data (`x:ClientData`). */
|
|
29123
|
-
xv: "urn:schemas-microsoft-com:office:excel",
|
|
29124
|
-
/** Extended (app) properties. */
|
|
29125
|
-
extendedProperties: "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",
|
|
29126
|
-
/** Dublin Core terms (`dcterms:created`). */
|
|
29127
|
-
dcterms: "http://purl.org/dc/terms/",
|
|
29128
|
-
/** Custom document properties (`docProps/custom.xml`). */
|
|
29129
|
-
customProperties: "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",
|
|
29130
|
-
/** Document property variant types (`vt:lpwstr`, `vt:vector`). */
|
|
29131
|
-
vt: "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",
|
|
29132
|
-
/** XML itself (`xml:space`). */
|
|
29133
|
-
xml: "http://www.w3.org/XML/1998/namespace"
|
|
29134
|
-
};
|
|
29135
|
-
var DEFAULT_XML_LIMITS = {
|
|
29136
|
-
maxDepth: 512,
|
|
29137
|
-
maxNodes: 5e6
|
|
29138
|
-
};
|
|
29139
|
-
var XmlLimitError = class extends Error {
|
|
29140
|
-
code = "xml-limit";
|
|
29141
|
-
/** The limit that was exceeded. */
|
|
29142
|
-
limit;
|
|
29143
|
-
/** Its value: the largest depth or element count allowed. */
|
|
29144
|
-
maximum;
|
|
29145
|
-
constructor(message, limit, maximum) {
|
|
29146
|
-
super(message);
|
|
29147
|
-
this.name = "XmlLimitError";
|
|
29148
|
-
this.limit = limit;
|
|
29149
|
-
this.maximum = maximum;
|
|
29150
|
-
}
|
|
29151
|
-
};
|
|
29152
|
-
var TAG_RE = /<(\/?)([^\s\/><]+)(?:\s+[^\s=\/><]+\s*=\s*(?:"[^"<]*"|'[^'<]*'))*\s*(\/?)>/y;
|
|
29153
|
-
var MARKUP_SKIPS = [
|
|
29154
|
-
["<!--", "-->"],
|
|
29155
|
-
["<![CDATA[", "]]>"],
|
|
29156
|
-
["<?", "?>"]
|
|
29157
|
-
];
|
|
29158
|
-
function checkXmlLimits(xml, label, limits = {}) {
|
|
29159
|
-
const maxDepth2 = limits.maxDepth ?? DEFAULT_XML_LIMITS.maxDepth;
|
|
29160
|
-
const maxNodes = limits.maxNodes ?? DEFAULT_XML_LIMITS.maxNodes;
|
|
29161
|
-
let depth = 0;
|
|
29162
|
-
let nodes = 0;
|
|
29163
|
-
let at2 = xml.indexOf("<");
|
|
29164
|
-
while (at2 !== -1) {
|
|
29165
|
-
const skip = MARKUP_SKIPS.find(([open]) => xml.startsWith(open, at2));
|
|
29166
|
-
if (skip) {
|
|
29167
|
-
const end = xml.indexOf(skip[1], at2 + skip[0].length);
|
|
29168
|
-
if (end === -1) return;
|
|
29169
|
-
at2 = xml.indexOf("<", end + skip[1].length);
|
|
29170
|
-
continue;
|
|
29171
|
-
}
|
|
29172
|
-
TAG_RE.lastIndex = at2;
|
|
29173
|
-
const match = TAG_RE.exec(xml);
|
|
29174
|
-
if (!match) {
|
|
29175
|
-
at2 = xml.indexOf("<", at2 + 1);
|
|
29176
|
-
continue;
|
|
29177
|
-
}
|
|
29178
|
-
const [, closing, , selfClosing] = match;
|
|
29179
|
-
at2 = xml.indexOf("<", at2 + match[0].length);
|
|
29180
|
-
if (closing) {
|
|
29181
|
-
depth--;
|
|
29182
|
-
continue;
|
|
29183
|
-
}
|
|
29184
|
-
nodes++;
|
|
29185
|
-
if (nodes > maxNodes)
|
|
29186
|
-
throw new XmlLimitError(
|
|
29187
|
-
`${label} XML exceeds the limit of ${maxNodes} elements`,
|
|
29188
|
-
"maxNodes",
|
|
29189
|
-
maxNodes
|
|
29190
|
-
);
|
|
29191
|
-
if (!selfClosing && ++depth > maxDepth2)
|
|
29192
|
-
throw new XmlLimitError(
|
|
29193
|
-
`${label} XML exceeds the nesting depth limit of ${maxDepth2}`,
|
|
29194
|
-
"maxDepth",
|
|
29195
|
-
maxDepth2
|
|
29196
|
-
);
|
|
29197
|
-
}
|
|
29198
|
-
}
|
|
29199
|
-
var CRLF_DECLARATION = /^<\?xml[^>]*\?>\r\n/;
|
|
29200
|
-
var crlfDeclarations = /* @__PURE__ */ new WeakSet();
|
|
29201
|
-
function parseXml(xml, options = {}) {
|
|
29202
|
-
const label = options.label ?? "OOXML";
|
|
29203
|
-
if (/<!DOCTYPE|<!ENTITY/i.test(xml))
|
|
29204
|
-
throw new Error(`${label} XML with DTD or entity declarations is not supported`);
|
|
29205
|
-
checkXmlLimits(xml, label, options.limits);
|
|
29206
|
-
let parseError = "";
|
|
29207
|
-
let parsed;
|
|
29208
|
-
try {
|
|
29209
|
-
parsed = new xmldom.DOMParser({
|
|
29210
|
-
onError: (level2, message) => {
|
|
29211
|
-
if (level2 !== "warning") parseError = message;
|
|
29212
|
-
}
|
|
29213
|
-
}).parseFromString(xml, "application/xml");
|
|
29214
|
-
} catch (error) {
|
|
29215
|
-
throw new Error(
|
|
29216
|
-
`Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`,
|
|
29217
|
-
{ cause: error }
|
|
29218
|
-
);
|
|
29219
|
-
}
|
|
29220
|
-
if (parseError || !parsed.documentElement)
|
|
29221
|
-
throw new Error(`Invalid ${label} XML: ${parseError || "missing root element"}`);
|
|
29222
|
-
if (CRLF_DECLARATION.test(xml)) crlfDeclarations.add(parsed);
|
|
29223
|
-
return parsed;
|
|
29224
|
-
}
|
|
29225
|
-
var buildXml = (node) => {
|
|
29226
|
-
const xml = new xmldom.XMLSerializer().serializeToString(node);
|
|
29227
|
-
return crlfDeclarations.has(node) ? xml.replace(/^(<\?xml[^>]*\?>)\n/, "$1\r\n") : xml;
|
|
29228
|
-
};
|
|
29229
|
-
var isElement = (node) => node.nodeType === 1;
|
|
29230
|
-
var elements = (parent) => Array.from(parent.childNodes).filter(isElement);
|
|
29231
|
-
function named(element, local, ns, lenient = true) {
|
|
29232
|
-
if (!element || element.localName !== local) return false;
|
|
29233
|
-
return element.namespaceURI === ns || lenient && !element.namespaceURI;
|
|
29234
|
-
}
|
|
29235
|
-
var children2 = (parent, local, ns, lenient = true) => elements(parent).filter((element) => named(element, local, ns, lenient));
|
|
29236
|
-
var first = (parent, local, ns, lenient = true) => parent ? children2(parent, local, ns, lenient)[0] : void 0;
|
|
29237
|
-
function attr(element, local, ns, prefix) {
|
|
29238
|
-
return element?.getAttributeNS(ns, local) ?? element?.getAttribute(`${prefix}:${local}`) ?? void 0;
|
|
29239
|
-
}
|
|
29240
|
-
var relAttr = (element, local) => attr(element, local, NS.r, "r");
|
|
29241
|
-
|
|
29242
28909
|
// opc/signature/detection.ts
|
|
29243
28910
|
var SIGNATURE_PART_PREFIX = "_xmlsignatures/";
|
|
29244
28911
|
var SIGNATURE_PREFIX = SIGNATURE_PART_PREFIX;
|
|
@@ -29346,7 +29013,7 @@ function applySmartArtConnectionAttributes(xml, connection, fallbackModelId) {
|
|
|
29346
29013
|
}
|
|
29347
29014
|
|
|
29348
29015
|
// pptx/core/utils/smartart-node-style-role.ts
|
|
29349
|
-
function
|
|
29016
|
+
function child4(node, name, localName14) {
|
|
29350
29017
|
if (!node) {
|
|
29351
29018
|
return void 0;
|
|
29352
29019
|
}
|
|
@@ -29355,7 +29022,7 @@ function child5(node, name, localName14) {
|
|
|
29355
29022
|
return Array.isArray(value) ? value[0] : value;
|
|
29356
29023
|
}
|
|
29357
29024
|
function presPointRole(pt, localName14) {
|
|
29358
|
-
const prSet =
|
|
29025
|
+
const prSet = child4(pt, "prSet", localName14);
|
|
29359
29026
|
const styleRole = String(prSet?.["@_presStyleLbl"] ?? "").trim();
|
|
29360
29027
|
if (!styleRole) {
|
|
29361
29028
|
return void 0;
|
|
@@ -29425,7 +29092,7 @@ function resolveSmartArtNodeCoherent3DOff(points, connections, localName14) {
|
|
|
29425
29092
|
if (!presPoint) {
|
|
29426
29093
|
continue;
|
|
29427
29094
|
}
|
|
29428
|
-
const prSet =
|
|
29095
|
+
const prSet = child4(presPoint, "prSet", localName14);
|
|
29429
29096
|
const raw = String(prSet?.["@_coherent3DOff"] ?? "").trim().toLowerCase();
|
|
29430
29097
|
if (raw === "1" || raw === "true") {
|
|
29431
29098
|
nodeIds.add(connection.sourceId);
|
|
@@ -29435,7 +29102,7 @@ function resolveSmartArtNodeCoherent3DOff(points, connections, localName14) {
|
|
|
29435
29102
|
}
|
|
29436
29103
|
|
|
29437
29104
|
// pptx/core/utils/smartart-effect-intensity.ts
|
|
29438
|
-
function
|
|
29105
|
+
function child5(node, name, localName14) {
|
|
29439
29106
|
if (!node) {
|
|
29440
29107
|
return void 0;
|
|
29441
29108
|
}
|
|
@@ -29444,13 +29111,13 @@ function child6(node, name, localName14) {
|
|
|
29444
29111
|
return Array.isArray(value) ? value[0] : value;
|
|
29445
29112
|
}
|
|
29446
29113
|
function refIndex(styleLbl, refName, localName14) {
|
|
29447
|
-
const style =
|
|
29448
|
-
const ref =
|
|
29114
|
+
const style = child5(styleLbl, "style", localName14);
|
|
29115
|
+
const ref = child5(style, refName, localName14);
|
|
29449
29116
|
const parsed = Number.parseInt(String(ref?.["@_idx"] ?? ""), 10);
|
|
29450
29117
|
return Number.isFinite(parsed) ? parsed : void 0;
|
|
29451
29118
|
}
|
|
29452
29119
|
function hasBevelGeometry(styleLbl, localName14) {
|
|
29453
|
-
const sp3d =
|
|
29120
|
+
const sp3d = child5(styleLbl, "sp3d", localName14);
|
|
29454
29121
|
if (!sp3d) {
|
|
29455
29122
|
return false;
|
|
29456
29123
|
}
|
|
@@ -29689,52 +29356,7 @@ function detectFontFormat(data) {
|
|
|
29689
29356
|
|
|
29690
29357
|
// pptx/core/utils/smartart-editing-node-ops.ts
|
|
29691
29358
|
function updateSmartArtNodeText(data, nodeId, newText) {
|
|
29692
|
-
|
|
29693
|
-
return {
|
|
29694
|
-
...data,
|
|
29695
|
-
nodes,
|
|
29696
|
-
drawingDirty: true,
|
|
29697
|
-
drawingShapes: patchDrawingShapeText(data.drawingShapes, data.nodes, nodeId, newText)
|
|
29698
|
-
};
|
|
29699
|
-
}
|
|
29700
|
-
function patchDrawingShapeText(shapes, nodes, nodeId, newText) {
|
|
29701
|
-
if (!shapes || shapes.length === 0) {
|
|
29702
|
-
return shapes;
|
|
29703
|
-
}
|
|
29704
|
-
const idx = findDrawingShapeIndex(shapes, nodes, nodeId);
|
|
29705
|
-
if (idx < 0) {
|
|
29706
|
-
return [];
|
|
29707
|
-
}
|
|
29708
|
-
const updated = [...shapes];
|
|
29709
|
-
updated[idx] = { ...updated[idx], text: newText };
|
|
29710
|
-
return updated;
|
|
29711
|
-
}
|
|
29712
|
-
function findDrawingShapeIndex(shapes, nodes, nodeId) {
|
|
29713
|
-
for (let i2 = 0; i2 < shapes.length; i2++) {
|
|
29714
|
-
if (shapes[i2].id.startsWith("reflow-") && shapes[i2].id.endsWith(`-${nodeId}`)) {
|
|
29715
|
-
return i2;
|
|
29716
|
-
}
|
|
29717
|
-
}
|
|
29718
|
-
if (shapes.length === nodes.length) {
|
|
29719
|
-
const nodeIdx = nodes.findIndex((n) => n.id === nodeId);
|
|
29720
|
-
if (nodeIdx >= 0) {
|
|
29721
|
-
return nodeIdx;
|
|
29722
|
-
}
|
|
29723
|
-
}
|
|
29724
|
-
const node = nodes.find((n) => n.id === nodeId);
|
|
29725
|
-
if (node?.text) {
|
|
29726
|
-
const text2 = node.text.trim();
|
|
29727
|
-
const matches = [];
|
|
29728
|
-
for (let i2 = 0; i2 < shapes.length; i2++) {
|
|
29729
|
-
if (shapes[i2].text?.trim() === text2) {
|
|
29730
|
-
matches.push(i2);
|
|
29731
|
-
}
|
|
29732
|
-
}
|
|
29733
|
-
if (matches.length === 1) {
|
|
29734
|
-
return matches[0];
|
|
29735
|
-
}
|
|
29736
|
-
}
|
|
29737
|
-
return -1;
|
|
29359
|
+
return setDiagramNodeText(data, nodeId, newText);
|
|
29738
29360
|
}
|
|
29739
29361
|
|
|
29740
29362
|
// pptx/core/utils/theme-override-utils.ts
|
|
@@ -29784,7 +29406,7 @@ function toArrayBuffer(bytes) {
|
|
|
29784
29406
|
if (bytes.byteOffset === 0 && bytes.byteLength === bytes.buffer.byteLength) {
|
|
29785
29407
|
return bytes.buffer;
|
|
29786
29408
|
}
|
|
29787
|
-
return bytes
|
|
29409
|
+
return new Uint8Array(bytes).buffer;
|
|
29788
29410
|
}
|
|
29789
29411
|
function isCompoundFile(input) {
|
|
29790
29412
|
const bytes = toBytes(input);
|
|
@@ -29818,23 +29440,6 @@ var EncryptedFileError = class extends Error {
|
|
|
29818
29440
|
}
|
|
29819
29441
|
};
|
|
29820
29442
|
|
|
29821
|
-
// crypto/uuid.ts
|
|
29822
|
-
function randomBytes(length) {
|
|
29823
|
-
const cryptoObj = globalThis.crypto;
|
|
29824
|
-
if (cryptoObj?.getRandomValues) return cryptoObj.getRandomValues(new Uint8Array(length));
|
|
29825
|
-
const bytes = new Uint8Array(length);
|
|
29826
|
-
for (let i2 = 0; i2 < length; i2++) bytes[i2] = Math.floor(Math.random() * 256);
|
|
29827
|
-
return bytes;
|
|
29828
|
-
}
|
|
29829
|
-
function randomHex(length) {
|
|
29830
|
-
return Array.from(randomBytes(Math.ceil(length / 2)), (b) => b.toString(16).padStart(2, "0")).join("").slice(0, length);
|
|
29831
|
-
}
|
|
29832
|
-
function createOfficeGuid() {
|
|
29833
|
-
const variantNibble = (8 + (randomBytes(1)[0] ?? 0) % 4).toString(16);
|
|
29834
|
-
const uuid = globalThis.crypto?.randomUUID?.() ?? `${randomHex(8)}-${randomHex(4)}-4${randomHex(3)}-${variantNibble}${randomHex(3)}-${randomHex(12)}`;
|
|
29835
|
-
return `{${uuid.toUpperCase()}}`;
|
|
29836
|
-
}
|
|
29837
|
-
|
|
29838
29443
|
// ../../node_modules/.bun/@christophervr+ole2@0.13.0/node_modules/@christophervr/ole2/dist/utils/ooxml-crypto-primitives.js
|
|
29839
29444
|
function getSubtle() {
|
|
29840
29445
|
if (typeof globalThis.crypto !== "undefined" && globalThis.crypto.subtle) {
|
|
@@ -32469,7 +32074,7 @@ function readChartManualLayoutValues(value) {
|
|
|
32469
32074
|
}
|
|
32470
32075
|
|
|
32471
32076
|
// pptx/core/utils/chart-layout.ts
|
|
32472
|
-
var
|
|
32077
|
+
var child6 = (node, name, localName14) => {
|
|
32473
32078
|
if (!node) {
|
|
32474
32079
|
return void 0;
|
|
32475
32080
|
}
|
|
@@ -32477,12 +32082,12 @@ var child7 = (node, name, localName14) => {
|
|
|
32477
32082
|
return key ? node[key] : void 0;
|
|
32478
32083
|
};
|
|
32479
32084
|
function parseChartManualLayout(parent, localName14) {
|
|
32480
|
-
const manual =
|
|
32085
|
+
const manual = child6(child6(parent, "layout", localName14), "manualLayout", localName14);
|
|
32481
32086
|
if (!manual) {
|
|
32482
32087
|
return void 0;
|
|
32483
32088
|
}
|
|
32484
|
-
const result = readChartManualLayoutValues((name) =>
|
|
32485
|
-
const ext =
|
|
32089
|
+
const result = readChartManualLayoutValues((name) => child6(manual, name, localName14)?.["@_val"]) ?? {};
|
|
32090
|
+
const ext = child6(manual, "extLst", localName14);
|
|
32486
32091
|
if (ext !== void 0) {
|
|
32487
32092
|
result.ext = ext;
|
|
32488
32093
|
}
|
|
@@ -32498,9 +32103,9 @@ function parseChartLayouts(chartRoot, localName14) {
|
|
|
32498
32103
|
return void 0;
|
|
32499
32104
|
}
|
|
32500
32105
|
const layouts = {
|
|
32501
|
-
title: parseChartManualLayout(
|
|
32502
|
-
plotArea: parseChartManualLayout(
|
|
32503
|
-
legend: parseChartManualLayout(
|
|
32106
|
+
title: parseChartManualLayout(child6(chartRoot, "title", localName14), localName14),
|
|
32107
|
+
plotArea: parseChartManualLayout(child6(chartRoot, "plotArea", localName14), localName14),
|
|
32108
|
+
legend: parseChartManualLayout(child6(chartRoot, "legend", localName14), localName14)
|
|
32504
32109
|
};
|
|
32505
32110
|
for (const key of Object.keys(layouts)) {
|
|
32506
32111
|
if (layouts[key] === void 0) {
|
|
@@ -32578,9 +32183,9 @@ function applyChartManualLayout(parent, layout, localName14) {
|
|
|
32578
32183
|
replaceKeyAt(parent, "c:layout", { "c:manualLayout": manual }, layoutIndex(parent, localName14));
|
|
32579
32184
|
}
|
|
32580
32185
|
function applyChartLayouts(chartRoot, layouts, localName14) {
|
|
32581
|
-
applyChartManualLayout(
|
|
32582
|
-
applyChartManualLayout(
|
|
32583
|
-
applyChartManualLayout(
|
|
32186
|
+
applyChartManualLayout(child6(chartRoot, "title", localName14), layouts.title, localName14);
|
|
32187
|
+
applyChartManualLayout(child6(chartRoot, "plotArea", localName14), layouts.plotArea, localName14);
|
|
32188
|
+
applyChartManualLayout(child6(chartRoot, "legend", localName14), layouts.legend, localName14);
|
|
32584
32189
|
}
|
|
32585
32190
|
|
|
32586
32191
|
// pptx/core/utils/chart-trendline-label.ts
|
|
@@ -34472,7 +34077,7 @@ var LABEL_OFFSET_RANGE = { name: "labelOffset", min: 0, max: 1e3 };
|
|
|
34472
34077
|
function findKey8(node, name, localName14) {
|
|
34473
34078
|
return Object.keys(node).find((key) => localName14(key) === name);
|
|
34474
34079
|
}
|
|
34475
|
-
function
|
|
34080
|
+
function child7(node, name, localName14) {
|
|
34476
34081
|
const key = findKey8(node, name, localName14);
|
|
34477
34082
|
const value = key ? node[key] : void 0;
|
|
34478
34083
|
return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
@@ -34500,32 +34105,32 @@ function parseChartAxisLabelFormatting(node, axisType, localName14) {
|
|
|
34500
34105
|
["majorTickMark", "majorTickMark"],
|
|
34501
34106
|
["minorTickMark", "minorTickMark"]
|
|
34502
34107
|
]) {
|
|
34503
|
-
const value = String(
|
|
34108
|
+
const value = String(child7(node, name, localName14)?.["@_val"] ?? "");
|
|
34504
34109
|
if (TICK_MARKS.has(value)) {
|
|
34505
34110
|
result[property] = value;
|
|
34506
34111
|
}
|
|
34507
34112
|
}
|
|
34508
|
-
const tickLabelPosition = String(
|
|
34113
|
+
const tickLabelPosition = String(child7(node, "tickLblPos", localName14)?.["@_val"] ?? "");
|
|
34509
34114
|
if (TICK_LABEL_POSITIONS.has(tickLabelPosition)) {
|
|
34510
34115
|
result.tickLblPos = tickLabelPosition;
|
|
34511
34116
|
}
|
|
34512
|
-
const crosses = String(
|
|
34117
|
+
const crosses = String(child7(node, "crosses", localName14)?.["@_val"] ?? "");
|
|
34513
34118
|
if (CROSSING_MODES.has(crosses)) {
|
|
34514
34119
|
result.crosses = crosses;
|
|
34515
34120
|
}
|
|
34516
|
-
const crossesAt = Number.parseFloat(String(
|
|
34121
|
+
const crossesAt = Number.parseFloat(String(child7(node, "crossesAt", localName14)?.["@_val"] ?? ""));
|
|
34517
34122
|
if (Number.isFinite(crossesAt)) {
|
|
34518
34123
|
result.crossesAt = crossesAt;
|
|
34519
34124
|
}
|
|
34520
34125
|
if (axisType === "valAx") {
|
|
34521
|
-
const crossBetween = String(
|
|
34126
|
+
const crossBetween = String(child7(node, "crossBetween", localName14)?.["@_val"] ?? "");
|
|
34522
34127
|
if (CROSS_BETWEEN_MODES.has(crossBetween)) {
|
|
34523
34128
|
result.crossBetween = crossBetween;
|
|
34524
34129
|
}
|
|
34525
34130
|
}
|
|
34526
34131
|
if (axisType === "catAx" || axisType === "dateAx") {
|
|
34527
|
-
result.auto = parseBoolean(
|
|
34528
|
-
const rawOffset =
|
|
34132
|
+
result.auto = parseBoolean(child7(node, "auto", localName14));
|
|
34133
|
+
const rawOffset = child7(node, "lblOffset", localName14)?.["@_val"];
|
|
34529
34134
|
if (rawOffset !== void 0) {
|
|
34530
34135
|
const offset = Number.parseFloat(String(rawOffset).replace(/%$/u, ""));
|
|
34531
34136
|
if (Number.isFinite(offset) && offset >= 0 && offset <= 1e3) {
|
|
@@ -34534,15 +34139,15 @@ function parseChartAxisLabelFormatting(node, axisType, localName14) {
|
|
|
34534
34139
|
}
|
|
34535
34140
|
}
|
|
34536
34141
|
if (axisType === "catAx" || axisType === "serAx") {
|
|
34537
|
-
result.tickLabelSkip = parsePositiveInteger(
|
|
34538
|
-
result.tickMarkSkip = parsePositiveInteger(
|
|
34142
|
+
result.tickLabelSkip = parsePositiveInteger(child7(node, "tickLblSkip", localName14));
|
|
34143
|
+
result.tickMarkSkip = parsePositiveInteger(child7(node, "tickMarkSkip", localName14));
|
|
34539
34144
|
}
|
|
34540
34145
|
if (axisType === "catAx") {
|
|
34541
|
-
const alignment = String(
|
|
34146
|
+
const alignment = String(child7(node, "lblAlgn", localName14)?.["@_val"] ?? "");
|
|
34542
34147
|
if (LABEL_ALIGNMENTS.has(alignment)) {
|
|
34543
34148
|
result.labelAlignment = alignment;
|
|
34544
34149
|
}
|
|
34545
|
-
result.noMultiLevelLabels = parseBoolean(
|
|
34150
|
+
result.noMultiLevelLabels = parseBoolean(child7(node, "noMultiLvlLbl", localName14));
|
|
34546
34151
|
}
|
|
34547
34152
|
return Object.fromEntries(Object.entries(result).filter(([, value]) => value !== void 0));
|
|
34548
34153
|
}
|
|
@@ -35068,12 +34673,27 @@ function parseTxPrFont(txPrNode, xmlLookup, colorParser, target, resolveTypeface
|
|
|
35068
34673
|
target.fontColor = fontColor;
|
|
35069
34674
|
}
|
|
35070
34675
|
}
|
|
34676
|
+
var CX_AXIS_UNITS = {
|
|
34677
|
+
hundreds: 100,
|
|
34678
|
+
thousands: 1e3,
|
|
34679
|
+
tenThousands: 1e4,
|
|
34680
|
+
hundredThousands: 1e5,
|
|
34681
|
+
millions: 1e6,
|
|
34682
|
+
tenMillions: 1e7,
|
|
34683
|
+
hundredMillions: 1e8,
|
|
34684
|
+
billions: 1e9,
|
|
34685
|
+
trillions: 1e12
|
|
34686
|
+
};
|
|
34687
|
+
function cxUnitDivisor(raw) {
|
|
34688
|
+
const text2 = String(raw ?? "").trim();
|
|
34689
|
+
return CX_AXIS_UNITS[text2] ?? Number.parseFloat(text2);
|
|
34690
|
+
}
|
|
35071
34691
|
function parseCxUnits(axisNode, xmlLookup, colorParser, target, resolveTypeface) {
|
|
35072
34692
|
const unitsNode = xmlLookup.getChildByLocalName(axisNode, "units");
|
|
35073
34693
|
if (!unitsNode) {
|
|
35074
34694
|
return;
|
|
35075
34695
|
}
|
|
35076
|
-
const unit =
|
|
34696
|
+
const unit = cxUnitDivisor(unitsNode["@_unit"]);
|
|
35077
34697
|
if (!Number.isFinite(unit) || unit <= 0) {
|
|
35078
34698
|
return;
|
|
35079
34699
|
}
|
|
@@ -35100,7 +34720,7 @@ function parseCxUnits(axisNode, xmlLookup, colorParser, target, resolveTypeface)
|
|
|
35100
34720
|
}
|
|
35101
34721
|
}
|
|
35102
34722
|
function parseSingleCxAxis(axisNode, xmlLookup, colorParser, resolveTypeface) {
|
|
35103
|
-
const isCategory =
|
|
34723
|
+
const isCategory = hasLocalName(axisNode, "catScaling");
|
|
35104
34724
|
const axisType = isCategory ? "catAx" : "valAx";
|
|
35105
34725
|
const result = { axisType };
|
|
35106
34726
|
const id = safeInt4(axisNode["@_id"]);
|
|
@@ -35142,7 +34762,7 @@ function parseSingleCxAxis(axisNode, xmlLookup, colorParser, resolveTypeface) {
|
|
|
35142
34762
|
colorParser
|
|
35143
34763
|
);
|
|
35144
34764
|
}
|
|
35145
|
-
if (
|
|
34765
|
+
if (!hasLocalName(axisNode, "tickLabels")) {
|
|
35146
34766
|
result.tickLblPos = "none";
|
|
35147
34767
|
}
|
|
35148
34768
|
const spPr = parseShapeProps(
|
|
@@ -35221,18 +34841,23 @@ function cxNumberFormat(node, xmlLookup) {
|
|
|
35221
34841
|
const formatCode = String(numFmt?.["@_formatCode"] ?? "").trim();
|
|
35222
34842
|
return formatCode.length > 0 ? formatCode : void 0;
|
|
35223
34843
|
}
|
|
34844
|
+
var isTrue = (value) => value === "1" || value === "true";
|
|
34845
|
+
function readVisibility(node) {
|
|
34846
|
+
if (!node) {
|
|
34847
|
+
return void 0;
|
|
34848
|
+
}
|
|
34849
|
+
return {
|
|
34850
|
+
showVal: isTrue(node["@_value"]),
|
|
34851
|
+
showCatName: isTrue(node["@_categoryName"]),
|
|
34852
|
+
showSerName: isTrue(node["@_seriesName"])
|
|
34853
|
+
};
|
|
34854
|
+
}
|
|
35224
34855
|
function parseCxDataLabels(ser, xmlLookup, colorParser, resolveTypeface) {
|
|
35225
34856
|
const dlNode = xmlLookup.getChildByLocalName(ser, "dataLabels");
|
|
35226
34857
|
if (!dlNode) {
|
|
35227
34858
|
return void 0;
|
|
35228
34859
|
}
|
|
35229
|
-
const visibility = {};
|
|
35230
|
-
const visNode = xmlLookup.getChildByLocalName(dlNode, "visibility");
|
|
35231
|
-
if (visNode) {
|
|
35232
|
-
visibility.showVal = visNode["@_value"] === "1" || visNode["@_value"] === "true";
|
|
35233
|
-
visibility.showCatName = visNode["@_categoryName"] === "1" || visNode["@_categoryName"] === "true";
|
|
35234
|
-
visibility.showSerName = visNode["@_seriesName"] === "1" || visNode["@_seriesName"] === "true";
|
|
35235
|
-
}
|
|
34860
|
+
const visibility = readVisibility(xmlLookup.getChildByLocalName(dlNode, "visibility")) ?? {};
|
|
35236
34861
|
const options = {};
|
|
35237
34862
|
const groupPos = cxPosition(dlNode["@_pos"]);
|
|
35238
34863
|
if (groupPos) {
|
|
@@ -35257,11 +34882,13 @@ function parseCxDataLabels(ser, xmlLookup, colorParser, resolveTypeface) {
|
|
|
35257
34882
|
const dlItems = xmlLookup.getChildrenArrayByLocalName(dlNode, "dataLabel");
|
|
35258
34883
|
for (const dlItem of dlItems) {
|
|
35259
34884
|
const idx = Number.parseInt(String(dlItem["@_idx"] || "0"), 10);
|
|
34885
|
+
const own = readVisibility(xmlLookup.getChildByLocalName(dlItem, "visibility"));
|
|
34886
|
+
const shown = own ?? visibility;
|
|
35260
34887
|
const label = {
|
|
35261
34888
|
idx,
|
|
35262
|
-
showVal:
|
|
35263
|
-
showCatName:
|
|
35264
|
-
showSerName:
|
|
34889
|
+
showVal: shown.showVal,
|
|
34890
|
+
showCatName: shown.showCatName,
|
|
34891
|
+
showSerName: shown.showSerName
|
|
35265
34892
|
};
|
|
35266
34893
|
const itemPos = cxPosition(dlItem["@_pos"]);
|
|
35267
34894
|
if (itemPos) {
|
|
@@ -35314,7 +34941,7 @@ function parseCxHistogramOptions(series, xmlLookup) {
|
|
|
35314
34941
|
}
|
|
35315
34942
|
const layoutPr = xmlLookup.getChildByLocalName(series, "layoutPr");
|
|
35316
34943
|
const binning = xmlLookup.getChildByLocalName(layoutPr, "binning");
|
|
35317
|
-
const aggregation =
|
|
34944
|
+
const aggregation = layoutPr && hasLocalName(layoutPr, "aggregation") ? true : void 0;
|
|
35318
34945
|
const rawBinSize = binningValue(binning, "binSize", xmlLookup);
|
|
35319
34946
|
const rawBinCount = binningValue(binning, "binCount", xmlLookup);
|
|
35320
34947
|
const binSize = Number.parseFloat(String(rawBinSize ?? ""));
|
|
@@ -35327,7 +34954,7 @@ function parseCxHistogramOptions(series, xmlLookup) {
|
|
|
35327
34954
|
...intervalClosed === "l" || intervalClosed === "r" ? { intervalClosed } : {},
|
|
35328
34955
|
...binning?.["@_underflow"] !== void 0 ? { underflow: parseDoubleOrAutomatic(binning["@_underflow"]) } : {},
|
|
35329
34956
|
...binning?.["@_overflow"] !== void 0 ? { overflow: parseDoubleOrAutomatic(binning["@_overflow"]) } : {},
|
|
35330
|
-
...aggregation
|
|
34957
|
+
...aggregation ? { aggregateByCategory: true } : {}
|
|
35331
34958
|
};
|
|
35332
34959
|
}
|
|
35333
34960
|
|
|
@@ -37589,7 +37216,7 @@ function ensureArray3(val) {
|
|
|
37589
37216
|
|
|
37590
37217
|
// pptx/core/utils/model3d-scene-parser.ts
|
|
37591
37218
|
var ANGLE_UNIT = 6e4;
|
|
37592
|
-
function
|
|
37219
|
+
function child8(node, ...names) {
|
|
37593
37220
|
if (!node) {
|
|
37594
37221
|
return void 0;
|
|
37595
37222
|
}
|
|
@@ -37620,7 +37247,7 @@ function num2(node, attr3) {
|
|
|
37620
37247
|
return Number.isFinite(value) ? value : void 0;
|
|
37621
37248
|
}
|
|
37622
37249
|
function am(node, name) {
|
|
37623
|
-
return
|
|
37250
|
+
return child8(node, `am3d:${name}`, name);
|
|
37624
37251
|
}
|
|
37625
37252
|
function vec(node, keys) {
|
|
37626
37253
|
if (!node) {
|
|
@@ -37644,12 +37271,12 @@ function ratio(node) {
|
|
|
37644
37271
|
}
|
|
37645
37272
|
function colour2(node) {
|
|
37646
37273
|
const clr = am(node, "clr");
|
|
37647
|
-
const srgb =
|
|
37274
|
+
const srgb = child8(clr, "a:srgbClr");
|
|
37648
37275
|
const val = srgb?.["@_val"];
|
|
37649
37276
|
if (typeof val === "string" && /^[0-9a-f]{6}$/iu.test(val)) {
|
|
37650
37277
|
return `#${val.toLowerCase()}`;
|
|
37651
37278
|
}
|
|
37652
|
-
const scrgb =
|
|
37279
|
+
const scrgb = child8(clr, "a:scrgbClr");
|
|
37653
37280
|
if (scrgb) {
|
|
37654
37281
|
const chan = (a) => {
|
|
37655
37282
|
const pct = Math.min(1e5, Math.max(0, num2(scrgb, a) ?? 0)) / 1e5;
|
|
@@ -38494,8 +38121,8 @@ var BEFORE_KINSOKU = /* @__PURE__ */ new Set([
|
|
|
38494
38121
|
"photoAlbum",
|
|
38495
38122
|
"custDataLst"
|
|
38496
38123
|
]);
|
|
38497
|
-
var
|
|
38498
|
-
var findKey9 = (node, name) => Object.keys(node).find((key) =>
|
|
38124
|
+
var localName5 = (key) => key.replace(/^@_/u, "").replace(/^.*:/u, "");
|
|
38125
|
+
var findKey9 = (node, name) => Object.keys(node).find((key) => localName5(key) === name);
|
|
38499
38126
|
function parseKinsoku(presentationXml) {
|
|
38500
38127
|
if (!presentationXml) {
|
|
38501
38128
|
return void 0;
|
|
@@ -38534,7 +38161,7 @@ function insertKinsoku(root, key, value) {
|
|
|
38534
38161
|
const result = {};
|
|
38535
38162
|
let inserted = false;
|
|
38536
38163
|
for (const [childKey2, childValue] of Object.entries(root)) {
|
|
38537
|
-
const name =
|
|
38164
|
+
const name = localName5(childKey2);
|
|
38538
38165
|
if (name === "kinsoku") {
|
|
38539
38166
|
continue;
|
|
38540
38167
|
}
|
|
@@ -39518,7 +39145,7 @@ function wrapFormatSchemeXml(fmtSchemeXml) {
|
|
|
39518
39145
|
function keyOf2(node, name, localName14) {
|
|
39519
39146
|
return Object.keys(node).find((key) => localName14(key) === name);
|
|
39520
39147
|
}
|
|
39521
|
-
function
|
|
39148
|
+
function child9(node, name, localName14) {
|
|
39522
39149
|
const key = keyOf2(node, name, localName14);
|
|
39523
39150
|
const value = key ? node[key] : void 0;
|
|
39524
39151
|
return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
@@ -39547,8 +39174,8 @@ function parseRule2(node, localName14) {
|
|
|
39547
39174
|
return parseRuleAttributes(reader(node, localName14), cloneXmlObject(node));
|
|
39548
39175
|
}
|
|
39549
39176
|
function parseSmartArtConstraintRules(node, localName14) {
|
|
39550
|
-
const constraintList =
|
|
39551
|
-
const ruleList =
|
|
39177
|
+
const constraintList = child9(node, "constrLst", localName14);
|
|
39178
|
+
const ruleList = child9(node, "ruleLst", localName14);
|
|
39552
39179
|
return {
|
|
39553
39180
|
constraints: constraintList ? children4(constraintList, "constr", localName14).map(
|
|
39554
39181
|
(item) => parseConstraint2(item, localName14)
|
|
@@ -39583,7 +39210,7 @@ function applySmartArtConstraintRules(node, value, localName14) {
|
|
|
39583
39210
|
continue;
|
|
39584
39211
|
}
|
|
39585
39212
|
const listKey = keyOf2(node, listName, localName14) ?? `dgm:${listName}`;
|
|
39586
|
-
const list2 =
|
|
39213
|
+
const list2 = child9(node, listName, localName14) ?? {};
|
|
39587
39214
|
const oldItems = children4(list2, itemName, localName14);
|
|
39588
39215
|
const itemKey = keyOf2(list2, itemName, localName14) ?? `${itemPrefix(listKey)}${itemName}`;
|
|
39589
39216
|
for (const key of Object.keys(list2)) {
|
|
@@ -39606,7 +39233,7 @@ function applySmartArtConstraintRules(node, value, localName14) {
|
|
|
39606
39233
|
}
|
|
39607
39234
|
|
|
39608
39235
|
// pptx/core/utils/smartart-layout-algorithm.ts
|
|
39609
|
-
function
|
|
39236
|
+
function child10(node, name, localName14) {
|
|
39610
39237
|
const key = Object.keys(node).find((candidate) => localName14(candidate) === name);
|
|
39611
39238
|
const value = key ? node[key] : void 0;
|
|
39612
39239
|
return Array.isArray(value) ? value[0] : value;
|
|
@@ -39624,7 +39251,7 @@ function optionalString3(value) {
|
|
|
39624
39251
|
return result.length > 0 ? result : void 0;
|
|
39625
39252
|
}
|
|
39626
39253
|
function parseSmartArtLayoutAlgorithm(node, localName14) {
|
|
39627
|
-
const algorithm =
|
|
39254
|
+
const algorithm = child10(node, "alg", localName14);
|
|
39628
39255
|
const type = algorithm ? optionalString3(algorithm["@_type"]) : void 0;
|
|
39629
39256
|
if (!algorithm || !type) {
|
|
39630
39257
|
return void 0;
|
|
@@ -40168,7 +39795,7 @@ function nestedLayoutNodes(node, localName14) {
|
|
|
40168
39795
|
}
|
|
40169
39796
|
|
|
40170
39797
|
// pptx/core/utils/smartart-layout-node-shape.ts
|
|
40171
|
-
function
|
|
39798
|
+
function child11(node, name, localName14) {
|
|
40172
39799
|
if (!node) {
|
|
40173
39800
|
return void 0;
|
|
40174
39801
|
}
|
|
@@ -40199,7 +39826,7 @@ function parseSmartArtLkTxEntry(shapeEl) {
|
|
|
40199
39826
|
return raw === "1" || raw === "true";
|
|
40200
39827
|
}
|
|
40201
39828
|
function parseAdjustments(shapeEl, localName14) {
|
|
40202
|
-
const adjLst =
|
|
39829
|
+
const adjLst = child11(shapeEl, "adjLst", localName14);
|
|
40203
39830
|
const adjustments = children9(adjLst, "adj", localName14).map((adj) => {
|
|
40204
39831
|
const index = Number.parseInt(String(adj["@_idx"] ?? ""), 10);
|
|
40205
39832
|
const value = Number.parseFloat(String(adj["@_val"] ?? ""));
|
|
@@ -40242,7 +39869,7 @@ function nestedShapes(node, localName14) {
|
|
|
40242
39869
|
return found;
|
|
40243
39870
|
}
|
|
40244
39871
|
function parseSmartArtLayoutNodeShape(node, localName14) {
|
|
40245
|
-
const shapeEl =
|
|
39872
|
+
const shapeEl = child11(node, "shape", localName14) ?? nestedShapes(node, localName14)[0];
|
|
40246
39873
|
if (!shapeEl) {
|
|
40247
39874
|
return void 0;
|
|
40248
39875
|
}
|
|
@@ -40296,7 +39923,7 @@ function applySmartArtLayoutNodeShape(target, value, localName14) {
|
|
|
40296
39923
|
}
|
|
40297
39924
|
|
|
40298
39925
|
// pptx/core/utils/smartart-layout-definition.ts
|
|
40299
|
-
function
|
|
39926
|
+
function child12(node, name, localName14) {
|
|
40300
39927
|
if (!node) {
|
|
40301
39928
|
return void 0;
|
|
40302
39929
|
}
|
|
@@ -40367,11 +39994,11 @@ function parseNode(node, localName14) {
|
|
|
40367
39994
|
};
|
|
40368
39995
|
}
|
|
40369
39996
|
function parseSmartArtLayoutDefinition(layoutDef, localName14) {
|
|
40370
|
-
const root =
|
|
39997
|
+
const root = child12(layoutDef, "layoutNode", localName14);
|
|
40371
39998
|
if (!layoutDef || !root) {
|
|
40372
39999
|
return void 0;
|
|
40373
40000
|
}
|
|
40374
|
-
const catList =
|
|
40001
|
+
const catList = child12(layoutDef, "catLst", localName14);
|
|
40375
40002
|
const categories = children10(catList, "cat", localName14).map((entry) => {
|
|
40376
40003
|
const type = optionalString5(entry["@_type"]);
|
|
40377
40004
|
const priority = Number(entry["@_pri"]);
|
|
@@ -40460,7 +40087,7 @@ function applySmartArtLayoutDefinition(target, value, localName14) {
|
|
|
40460
40087
|
if (validateSmartArtLayoutDefinition(value).length > 0) {
|
|
40461
40088
|
return false;
|
|
40462
40089
|
}
|
|
40463
|
-
const root =
|
|
40090
|
+
const root = child12(target, "layoutNode", localName14);
|
|
40464
40091
|
if (!root) {
|
|
40465
40092
|
return false;
|
|
40466
40093
|
}
|
|
@@ -40470,7 +40097,7 @@ function applySmartArtLayoutDefinition(target, value, localName14) {
|
|
|
40470
40097
|
applyLocalized(target, "title", value.titles, localName14);
|
|
40471
40098
|
applyLocalized(target, "desc", value.descriptions, localName14);
|
|
40472
40099
|
if (value.categories !== void 0) {
|
|
40473
|
-
const list2 =
|
|
40100
|
+
const list2 = child12(target, "catLst", localName14);
|
|
40474
40101
|
if (list2) {
|
|
40475
40102
|
const key = Object.keys(list2).find((candidate) => localName14(candidate) === "cat") ?? "dgm:cat";
|
|
40476
40103
|
const existing = children10(list2, "cat", localName14);
|
|
@@ -40500,7 +40127,7 @@ function children11(node, name, localName14) {
|
|
|
40500
40127
|
}
|
|
40501
40128
|
return value && typeof value === "object" ? [value] : [];
|
|
40502
40129
|
}
|
|
40503
|
-
function
|
|
40130
|
+
function child13(node, name, localName14) {
|
|
40504
40131
|
return children11(node, name, localName14)[0];
|
|
40505
40132
|
}
|
|
40506
40133
|
function parseText(node, name, localName14) {
|
|
@@ -40511,7 +40138,7 @@ function parseText(node, name, localName14) {
|
|
|
40511
40138
|
return values.length > 0 ? values : void 0;
|
|
40512
40139
|
}
|
|
40513
40140
|
function parseSmartArtDefinitionMetadata(node, localName14) {
|
|
40514
|
-
const categoryList =
|
|
40141
|
+
const categoryList = child13(node, "catLst", localName14);
|
|
40515
40142
|
const categories = children11(categoryList, "cat", localName14).map((item) => ({
|
|
40516
40143
|
type: String(item["@_type"] ?? ""),
|
|
40517
40144
|
priority: Number(item["@_pri"] ?? 0)
|
|
@@ -40531,14 +40158,14 @@ function parseSmartArtQuickStyleLabels(node, localName14) {
|
|
|
40531
40158
|
return labels.length > 0 ? labels : void 0;
|
|
40532
40159
|
}
|
|
40533
40160
|
function parseSmartArtStyleLabelRefs(styleLbl, localName14) {
|
|
40534
|
-
const style =
|
|
40161
|
+
const style = child13(styleLbl, "style", localName14);
|
|
40535
40162
|
if (!style) {
|
|
40536
40163
|
return void 0;
|
|
40537
40164
|
}
|
|
40538
|
-
const lnRef =
|
|
40539
|
-
const fillRef =
|
|
40540
|
-
const effectRef =
|
|
40541
|
-
const fontRef =
|
|
40165
|
+
const lnRef = child13(style, "lnRef", localName14);
|
|
40166
|
+
const fillRef = child13(style, "fillRef", localName14);
|
|
40167
|
+
const effectRef = child13(style, "effectRef", localName14);
|
|
40168
|
+
const fontRef = child13(style, "fontRef", localName14);
|
|
40542
40169
|
if (!lnRef && !fillRef && !effectRef && !fontRef) {
|
|
40543
40170
|
return void 0;
|
|
40544
40171
|
}
|
|
@@ -40550,7 +40177,7 @@ function parseSmartArtStyleLabelRefs(styleLbl, localName14) {
|
|
|
40550
40177
|
};
|
|
40551
40178
|
}
|
|
40552
40179
|
function parseColorList(node, name, localName14) {
|
|
40553
|
-
const list2 =
|
|
40180
|
+
const list2 = child13(node, name, localName14);
|
|
40554
40181
|
if (!list2) {
|
|
40555
40182
|
return void 0;
|
|
40556
40183
|
}
|
|
@@ -40576,6 +40203,191 @@ function parseSmartArtColorStyleLabels(node, localName14) {
|
|
|
40576
40203
|
var COLOR_METHODS2 = /* @__PURE__ */ new Set(["span", "cycle", "repeat"]);
|
|
40577
40204
|
var HUE_DIRECTIONS2 = /* @__PURE__ */ new Set(["cw", "ccw"]);
|
|
40578
40205
|
|
|
40206
|
+
// pptx/core/geometry/custom-geometry-command-order.ts
|
|
40207
|
+
var ORDER_SUFFIX = "#pptx-order-";
|
|
40208
|
+
var commandOrder = /* @__PURE__ */ new WeakMap();
|
|
40209
|
+
var PATH_COMMANDS = /* @__PURE__ */ new Set(["moveTo", "lnTo", "arcTo", "quadBezTo", "cubicBezTo", "close"]);
|
|
40210
|
+
function localName6(name) {
|
|
40211
|
+
const colon = name.indexOf(":");
|
|
40212
|
+
return colon >= 0 ? name.slice(colon + 1) : name;
|
|
40213
|
+
}
|
|
40214
|
+
function childByLocalName(node, name) {
|
|
40215
|
+
if (!node) {
|
|
40216
|
+
return void 0;
|
|
40217
|
+
}
|
|
40218
|
+
const key = Object.keys(node).find((candidate) => localName6(candidate) === name);
|
|
40219
|
+
return key ? node[key] : void 0;
|
|
40220
|
+
}
|
|
40221
|
+
function collectParsedPaths(root) {
|
|
40222
|
+
const paths = [];
|
|
40223
|
+
const stack = [root];
|
|
40224
|
+
while (stack.length > 0) {
|
|
40225
|
+
const current = stack.pop();
|
|
40226
|
+
if (!current || typeof current !== "object") {
|
|
40227
|
+
continue;
|
|
40228
|
+
}
|
|
40229
|
+
if (Array.isArray(current)) {
|
|
40230
|
+
for (let index = current.length - 1; index >= 0; index--) {
|
|
40231
|
+
stack.push(current[index]);
|
|
40232
|
+
}
|
|
40233
|
+
continue;
|
|
40234
|
+
}
|
|
40235
|
+
const node = current;
|
|
40236
|
+
for (const [key, value] of Object.entries(node).reverse()) {
|
|
40237
|
+
if (localName6(key) === "custGeom") {
|
|
40238
|
+
const pathList = childByLocalName(value, "pathLst");
|
|
40239
|
+
const rawPaths = childByLocalName(pathList, "path");
|
|
40240
|
+
paths.push(
|
|
40241
|
+
...Array.isArray(rawPaths) ? rawPaths : rawPaths ? [rawPaths] : []
|
|
40242
|
+
);
|
|
40243
|
+
} else {
|
|
40244
|
+
stack.push(value);
|
|
40245
|
+
}
|
|
40246
|
+
}
|
|
40247
|
+
}
|
|
40248
|
+
return paths;
|
|
40249
|
+
}
|
|
40250
|
+
function extractSourceOrders(xml) {
|
|
40251
|
+
const orders = [];
|
|
40252
|
+
const custGeomPattern = /<([A-Za-z_][\w.-]*:)?custGeom\b[^>]*>([\s\S]*?)<\/\1custGeom\s*>/gu;
|
|
40253
|
+
for (const geometryMatch of xml.matchAll(custGeomPattern)) {
|
|
40254
|
+
const geometryXml = geometryMatch[2];
|
|
40255
|
+
const pathPattern = /<([A-Za-z_][\w.-]*:)?path\b[^>]*>([\s\S]*?)<\/\1path\s*>/gu;
|
|
40256
|
+
for (const pathMatch of geometryXml.matchAll(pathPattern)) {
|
|
40257
|
+
const order = [
|
|
40258
|
+
...pathMatch[2].matchAll(/<\/?([A-Za-z_][\w.-]*:)?([A-Za-z][\w.-]*)\b[^>]*>/gu)
|
|
40259
|
+
].filter((match) => match[0][1] !== "/" && PATH_COMMANDS.has(match[2])).map((match) => match[2]);
|
|
40260
|
+
orders.push(order);
|
|
40261
|
+
}
|
|
40262
|
+
}
|
|
40263
|
+
return orders;
|
|
40264
|
+
}
|
|
40265
|
+
function ensureArrayLocal(value) {
|
|
40266
|
+
return Array.isArray(value) ? value : value === void 0 ? [] : [value];
|
|
40267
|
+
}
|
|
40268
|
+
function countsSignature(counts) {
|
|
40269
|
+
return [...counts.entries()].sort((a, b) => a[0] < b[0] ? -1 : 1).map(([name, count]) => `${name}:${count}`).join(",");
|
|
40270
|
+
}
|
|
40271
|
+
function pathSignature(path) {
|
|
40272
|
+
const counts = /* @__PURE__ */ new Map();
|
|
40273
|
+
for (const key of Object.keys(path)) {
|
|
40274
|
+
const name = localName6(key);
|
|
40275
|
+
if (!PATH_COMMANDS.has(name)) {
|
|
40276
|
+
continue;
|
|
40277
|
+
}
|
|
40278
|
+
counts.set(name, (counts.get(name) ?? 0) + ensureArrayLocal(path[key]).length);
|
|
40279
|
+
}
|
|
40280
|
+
return countsSignature(counts);
|
|
40281
|
+
}
|
|
40282
|
+
function orderSignature(order) {
|
|
40283
|
+
const counts = /* @__PURE__ */ new Map();
|
|
40284
|
+
for (const name of order) {
|
|
40285
|
+
counts.set(name, (counts.get(name) ?? 0) + 1);
|
|
40286
|
+
}
|
|
40287
|
+
return countsSignature(counts);
|
|
40288
|
+
}
|
|
40289
|
+
function annotateCustomGeometryCommandOrder(xml, parsed) {
|
|
40290
|
+
const orders = extractSourceOrders(xml);
|
|
40291
|
+
if (orders.length === 0) {
|
|
40292
|
+
return;
|
|
40293
|
+
}
|
|
40294
|
+
const paths = collectParsedPaths(parsed);
|
|
40295
|
+
const ordersBySignature = /* @__PURE__ */ new Map();
|
|
40296
|
+
for (const order of orders) {
|
|
40297
|
+
const signature = orderSignature(order);
|
|
40298
|
+
const bucket = ordersBySignature.get(signature);
|
|
40299
|
+
if (bucket) {
|
|
40300
|
+
bucket.push(order);
|
|
40301
|
+
} else {
|
|
40302
|
+
ordersBySignature.set(signature, [order]);
|
|
40303
|
+
}
|
|
40304
|
+
}
|
|
40305
|
+
for (const path of paths) {
|
|
40306
|
+
const bucket = ordersBySignature.get(pathSignature(path));
|
|
40307
|
+
const order = bucket?.shift();
|
|
40308
|
+
if (order) {
|
|
40309
|
+
commandOrder.set(path, order);
|
|
40310
|
+
}
|
|
40311
|
+
}
|
|
40312
|
+
}
|
|
40313
|
+
function orderedPathCommandEntries(path, ensureArray8) {
|
|
40314
|
+
const commandItems = (key) => {
|
|
40315
|
+
const value = path[key];
|
|
40316
|
+
const items = ensureArray8(value);
|
|
40317
|
+
return items.length === 0 && localName6(key) === "close" && value !== void 0 ? [value] : items;
|
|
40318
|
+
};
|
|
40319
|
+
const order = commandOrder.get(path);
|
|
40320
|
+
if (!order) {
|
|
40321
|
+
return Object.keys(path).flatMap(
|
|
40322
|
+
(key) => key.startsWith("@_") ? [] : commandItems(key).map((item) => [key, item])
|
|
40323
|
+
);
|
|
40324
|
+
}
|
|
40325
|
+
const consumed = /* @__PURE__ */ new Map();
|
|
40326
|
+
return order.flatMap((name) => {
|
|
40327
|
+
const key = Object.keys(path).find((candidate) => localName6(candidate) === name);
|
|
40328
|
+
if (!key) {
|
|
40329
|
+
return [];
|
|
40330
|
+
}
|
|
40331
|
+
const items = commandItems(key);
|
|
40332
|
+
const index = consumed.get(key) ?? 0;
|
|
40333
|
+
consumed.set(key, index + 1);
|
|
40334
|
+
return index < items.length ? [[key, items[index]]] : [];
|
|
40335
|
+
});
|
|
40336
|
+
}
|
|
40337
|
+
function inheritCustomGeometryCommandOrder(target, ...sources) {
|
|
40338
|
+
let targetSignature;
|
|
40339
|
+
for (const source of sources) {
|
|
40340
|
+
if (!source) {
|
|
40341
|
+
continue;
|
|
40342
|
+
}
|
|
40343
|
+
const order = commandOrder.get(source);
|
|
40344
|
+
if (!order) {
|
|
40345
|
+
continue;
|
|
40346
|
+
}
|
|
40347
|
+
targetSignature ??= pathSignature(target);
|
|
40348
|
+
if (orderSignature(order) === targetSignature) {
|
|
40349
|
+
commandOrder.set(target, [...order]);
|
|
40350
|
+
return;
|
|
40351
|
+
}
|
|
40352
|
+
}
|
|
40353
|
+
}
|
|
40354
|
+
function pathListPaths(pathLst) {
|
|
40355
|
+
if (!pathLst || typeof pathLst !== "object") {
|
|
40356
|
+
return [];
|
|
40357
|
+
}
|
|
40358
|
+
return ensureArrayLocal(childByLocalName(pathLst, "path")).filter(
|
|
40359
|
+
(path) => Boolean(path) && typeof path === "object"
|
|
40360
|
+
);
|
|
40361
|
+
}
|
|
40362
|
+
function readPathListCommandOrder(pathLst) {
|
|
40363
|
+
const orders = pathListPaths(pathLst).map((path) => [...commandOrder.get(path) ?? []]);
|
|
40364
|
+
return orders.some((order) => order.length > 0) ? orders : void 0;
|
|
40365
|
+
}
|
|
40366
|
+
function restorePathListCommandOrder(pathLst, orders) {
|
|
40367
|
+
if (!orders || orders.length === 0) {
|
|
40368
|
+
return;
|
|
40369
|
+
}
|
|
40370
|
+
pathListPaths(pathLst).forEach((path, index) => {
|
|
40371
|
+
const order = orders[index];
|
|
40372
|
+
if (!order || order.length === 0 || commandOrder.has(path)) {
|
|
40373
|
+
return;
|
|
40374
|
+
}
|
|
40375
|
+
if (orderSignature([...order]) === pathSignature(path)) {
|
|
40376
|
+
commandOrder.set(path, [...order]);
|
|
40377
|
+
}
|
|
40378
|
+
});
|
|
40379
|
+
}
|
|
40380
|
+
function orderedXmlKey(baseName, order) {
|
|
40381
|
+
return `${baseName}${ORDER_SUFFIX}${order}`;
|
|
40382
|
+
}
|
|
40383
|
+
function stripXmlOrderSuffix(tagName) {
|
|
40384
|
+
const index = tagName.indexOf(ORDER_SUFFIX);
|
|
40385
|
+
return index >= 0 ? tagName.slice(0, index) : tagName;
|
|
40386
|
+
}
|
|
40387
|
+
function stripXmlOrderMarkers(xml) {
|
|
40388
|
+
return xml.replace(/#pptx-order-\d+/gu, "");
|
|
40389
|
+
}
|
|
40390
|
+
|
|
40579
40391
|
// pptx/core/geometry/custom-geometry.ts
|
|
40580
40392
|
function svgToCustomGeometryPaths(pathData, width, height) {
|
|
40581
40393
|
const segments = [];
|
|
@@ -40981,11 +40793,11 @@ function serializeEffectDagContainerNode(container2) {
|
|
|
40981
40793
|
xml["@_name"] = container2.name;
|
|
40982
40794
|
}
|
|
40983
40795
|
for (const child16 of container2.children) {
|
|
40984
|
-
|
|
40796
|
+
appendChild(xml, child16);
|
|
40985
40797
|
}
|
|
40986
40798
|
return xml;
|
|
40987
40799
|
}
|
|
40988
|
-
function
|
|
40800
|
+
function appendChild(parent, child16) {
|
|
40989
40801
|
if (child16.kind === "cont") {
|
|
40990
40802
|
push(parent, "a:cont", serializeEffectDagContainerNode(child16));
|
|
40991
40803
|
} else if (child16.kind === "blend") {
|
|
@@ -41004,7 +40816,7 @@ function appendChild2(parent, child16) {
|
|
|
41004
40816
|
} else if (child16.kind === "prstShdw") {
|
|
41005
40817
|
push(parent, "a:prstShdw", serializeEffectDagPresetShadow(child16));
|
|
41006
40818
|
} else {
|
|
41007
|
-
push(parent, `a:${
|
|
40819
|
+
push(parent, `a:${localName7(child16.tag)}`, child16.xml);
|
|
41008
40820
|
}
|
|
41009
40821
|
}
|
|
41010
40822
|
function numericAttributes(source, names) {
|
|
@@ -41027,7 +40839,7 @@ function push(parent, key, value) {
|
|
|
41027
40839
|
parent[key] = [previous, value];
|
|
41028
40840
|
}
|
|
41029
40841
|
}
|
|
41030
|
-
function
|
|
40842
|
+
function localName7(name) {
|
|
41031
40843
|
return name.includes(":") ? name.slice(name.indexOf(":") + 1) : name;
|
|
41032
40844
|
}
|
|
41033
40845
|
|
|
@@ -41092,7 +40904,7 @@ function parseChild(tag, value) {
|
|
|
41092
40904
|
if (value === null || value === void 0) {
|
|
41093
40905
|
return void 0;
|
|
41094
40906
|
}
|
|
41095
|
-
const localTag =
|
|
40907
|
+
const localTag = localName8(tag);
|
|
41096
40908
|
if (localTag === "cont") {
|
|
41097
40909
|
return parseEffectDagContainer(value);
|
|
41098
40910
|
}
|
|
@@ -41205,26 +41017,26 @@ function ensureArray6(value) {
|
|
|
41205
41017
|
}
|
|
41206
41018
|
return Array.isArray(value) ? value : [value];
|
|
41207
41019
|
}
|
|
41208
|
-
function
|
|
41020
|
+
function localName8(name) {
|
|
41209
41021
|
return name.includes(":") ? name.slice(name.indexOf(":") + 1) : name;
|
|
41210
41022
|
}
|
|
41211
41023
|
function childByLocalName2(xml, name) {
|
|
41212
41024
|
const match = Object.entries(xml).find(
|
|
41213
|
-
([key]) => !key.startsWith("@_") &&
|
|
41025
|
+
([key]) => !key.startsWith("@_") && localName8(key) === name
|
|
41214
41026
|
);
|
|
41215
41027
|
return match?.[1];
|
|
41216
41028
|
}
|
|
41217
41029
|
|
|
41218
41030
|
// pptx/core/core/builders/effect-list-roundtrip.ts
|
|
41219
41031
|
var COLOR_NAMES = /* @__PURE__ */ new Set(["srgbClr", "schemeClr", "sysClr", "prstClr", "scrgbClr", "hslClr"]);
|
|
41220
|
-
function
|
|
41032
|
+
function localName9(key) {
|
|
41221
41033
|
return key.split(":").at(-1) ?? key;
|
|
41222
41034
|
}
|
|
41223
41035
|
function effectChild(parent, name) {
|
|
41224
41036
|
if (!parent) {
|
|
41225
41037
|
return void 0;
|
|
41226
41038
|
}
|
|
41227
|
-
const key = Object.keys(parent).find((candidate) =>
|
|
41039
|
+
const key = Object.keys(parent).find((candidate) => localName9(candidate) === name);
|
|
41228
41040
|
const value = key ? parent[key] : void 0;
|
|
41229
41041
|
return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
41230
41042
|
}
|
|
@@ -41236,7 +41048,7 @@ function mergeEffectNode(original, generated, originalResolvedColor, currentColo
|
|
|
41236
41048
|
}
|
|
41237
41049
|
}
|
|
41238
41050
|
for (const key of Object.keys(merged)) {
|
|
41239
|
-
if (COLOR_NAMES.has(
|
|
41051
|
+
if (COLOR_NAMES.has(localName9(key))) {
|
|
41240
41052
|
delete merged[key];
|
|
41241
41053
|
}
|
|
41242
41054
|
}
|
|
@@ -41259,7 +41071,7 @@ function createEffectList(style, spPr) {
|
|
|
41259
41071
|
return { ...style.effectListXml ?? effectChild(spPr, "effectLst") ?? {} };
|
|
41260
41072
|
}
|
|
41261
41073
|
function setEffectChild(list2, name, value) {
|
|
41262
|
-
const existing = Object.keys(list2).find((key) =>
|
|
41074
|
+
const existing = Object.keys(list2).find((key) => localName9(key) === name);
|
|
41263
41075
|
if (existing) {
|
|
41264
41076
|
delete list2[existing];
|
|
41265
41077
|
}
|
|
@@ -41775,12 +41587,12 @@ function drawingShape3dXml(shape) {
|
|
|
41775
41587
|
}
|
|
41776
41588
|
|
|
41777
41589
|
// pptx/core/core/runtime/smartart-style-xml.ts
|
|
41778
|
-
function
|
|
41590
|
+
function localName10(key) {
|
|
41779
41591
|
const idx = key.indexOf(":");
|
|
41780
41592
|
return idx >= 0 ? key.slice(idx + 1) : key;
|
|
41781
41593
|
}
|
|
41782
41594
|
function findKey10(obj, local) {
|
|
41783
|
-
return Object.keys(obj).find((k) =>
|
|
41595
|
+
return Object.keys(obj).find((k) => localName10(k) === local);
|
|
41784
41596
|
}
|
|
41785
41597
|
function ensureChild(obj, local, prefixedFallback) {
|
|
41786
41598
|
const key = findKey10(obj, local) ?? prefixedFallback;
|
|
@@ -41870,6 +41682,357 @@ function applySmartArtNodeStyleToPoint(pt, style) {
|
|
|
41870
41682
|
applyRunStyle(pt, style);
|
|
41871
41683
|
}
|
|
41872
41684
|
|
|
41685
|
+
// pptx/core/core/runtime/smartart-text-order.ts
|
|
41686
|
+
var childOrder = /* @__PURE__ */ new WeakMap();
|
|
41687
|
+
function localName11(name) {
|
|
41688
|
+
const colon = name.indexOf(":");
|
|
41689
|
+
return colon >= 0 ? name.slice(colon + 1) : name;
|
|
41690
|
+
}
|
|
41691
|
+
function isXmlObject2(value) {
|
|
41692
|
+
return Boolean(value && typeof value === "object" && !Array.isArray(value));
|
|
41693
|
+
}
|
|
41694
|
+
function collectParsedParagraphs(root) {
|
|
41695
|
+
const paragraphs = [];
|
|
41696
|
+
const stack = [root];
|
|
41697
|
+
while (stack.length > 0) {
|
|
41698
|
+
const current = stack.pop();
|
|
41699
|
+
if (!current || typeof current !== "object") {
|
|
41700
|
+
continue;
|
|
41701
|
+
}
|
|
41702
|
+
if (Array.isArray(current)) {
|
|
41703
|
+
for (let index = current.length - 1; index >= 0; index--) {
|
|
41704
|
+
stack.push(current[index]);
|
|
41705
|
+
}
|
|
41706
|
+
continue;
|
|
41707
|
+
}
|
|
41708
|
+
const node = current;
|
|
41709
|
+
for (const [key, value] of Object.entries(node).reverse()) {
|
|
41710
|
+
if ((localName11(key) === "t" || localName11(key) === "txBody") && value && typeof value === "object") {
|
|
41711
|
+
for (const [childKey2, childValue] of Object.entries(value)) {
|
|
41712
|
+
if (localName11(childKey2) !== "p") {
|
|
41713
|
+
continue;
|
|
41714
|
+
}
|
|
41715
|
+
paragraphs.push(
|
|
41716
|
+
...(Array.isArray(childValue) ? childValue : [childValue]).filter(isXmlObject2)
|
|
41717
|
+
);
|
|
41718
|
+
}
|
|
41719
|
+
} else {
|
|
41720
|
+
stack.push(value);
|
|
41721
|
+
}
|
|
41722
|
+
}
|
|
41723
|
+
}
|
|
41724
|
+
return paragraphs;
|
|
41725
|
+
}
|
|
41726
|
+
function directChildOrder(xml) {
|
|
41727
|
+
const order = [];
|
|
41728
|
+
let depth = 0;
|
|
41729
|
+
for (const match of xml.matchAll(/<(\/)?([A-Za-z_][\w.-]*:)?([A-Za-z][\w.-]*)\b[^>]*>/gu)) {
|
|
41730
|
+
const closing = Boolean(match[1]);
|
|
41731
|
+
const selfClosing = /\/\s*>$/u.test(match[0]);
|
|
41732
|
+
if (closing) {
|
|
41733
|
+
depth = Math.max(0, depth - 1);
|
|
41734
|
+
continue;
|
|
41735
|
+
}
|
|
41736
|
+
if (depth === 0) {
|
|
41737
|
+
order.push(match[3]);
|
|
41738
|
+
}
|
|
41739
|
+
if (!selfClosing) {
|
|
41740
|
+
depth++;
|
|
41741
|
+
}
|
|
41742
|
+
}
|
|
41743
|
+
return order;
|
|
41744
|
+
}
|
|
41745
|
+
function extractElementOrders(xml, elementName) {
|
|
41746
|
+
const orders = [];
|
|
41747
|
+
const pattern = new RegExp(
|
|
41748
|
+
`<([A-Za-z_][\\w.-]*:)?${elementName}(?=[\\s/>])[^>]*>([\\s\\S]*?)<\\/\\1${elementName}\\s*>`,
|
|
41749
|
+
"gu"
|
|
41750
|
+
);
|
|
41751
|
+
for (const match of xml.matchAll(pattern)) {
|
|
41752
|
+
orders.push(directChildOrder(match[2]));
|
|
41753
|
+
}
|
|
41754
|
+
return orders;
|
|
41755
|
+
}
|
|
41756
|
+
function directChildrenByLocalName(paragraphs, name) {
|
|
41757
|
+
return paragraphs.flatMap(
|
|
41758
|
+
(paragraph) => Object.entries(paragraph).flatMap(([key, value]) => {
|
|
41759
|
+
if (localName11(key) !== name) {
|
|
41760
|
+
return [];
|
|
41761
|
+
}
|
|
41762
|
+
const values = Array.isArray(value) ? value : [value];
|
|
41763
|
+
return values.filter(isXmlObject2);
|
|
41764
|
+
})
|
|
41765
|
+
);
|
|
41766
|
+
}
|
|
41767
|
+
function annotateSmartArtTextOrder(xml, parsed) {
|
|
41768
|
+
const paragraphs = collectParsedParagraphs(parsed);
|
|
41769
|
+
const orders = extractElementOrders(xml, "p");
|
|
41770
|
+
for (let index = 0; index < Math.min(orders.length, paragraphs.length); index++) {
|
|
41771
|
+
childOrder.set(paragraphs[index], orders[index]);
|
|
41772
|
+
}
|
|
41773
|
+
for (const name of ["r", "fld", "br"]) {
|
|
41774
|
+
const nodes = directChildrenByLocalName(paragraphs, name);
|
|
41775
|
+
const nodeOrders = extractElementOrders(xml, name);
|
|
41776
|
+
for (let index = 0; index < Math.min(nodeOrders.length, nodes.length); index++) {
|
|
41777
|
+
childOrder.set(nodes[index], nodeOrders[index]);
|
|
41778
|
+
}
|
|
41779
|
+
}
|
|
41780
|
+
}
|
|
41781
|
+
function smartArtChildOrder(node) {
|
|
41782
|
+
return childOrder.get(node)?.slice();
|
|
41783
|
+
}
|
|
41784
|
+
function orderedSmartArtTextEntries(paragraph) {
|
|
41785
|
+
const keysByName = /* @__PURE__ */ new Map();
|
|
41786
|
+
for (const key of Object.keys(paragraph)) {
|
|
41787
|
+
if (!key.startsWith("@_")) {
|
|
41788
|
+
keysByName.set(localName11(key), key);
|
|
41789
|
+
}
|
|
41790
|
+
}
|
|
41791
|
+
const itemsFor = (key) => {
|
|
41792
|
+
const value = paragraph[key];
|
|
41793
|
+
return Array.isArray(value) ? value : value === void 0 ? [] : [value];
|
|
41794
|
+
};
|
|
41795
|
+
const order = childOrder.get(paragraph);
|
|
41796
|
+
if (!order) {
|
|
41797
|
+
return [...keysByName.values()].flatMap(
|
|
41798
|
+
(key) => itemsFor(key).map((item) => [key, item])
|
|
41799
|
+
);
|
|
41800
|
+
}
|
|
41801
|
+
const consumed = /* @__PURE__ */ new Map();
|
|
41802
|
+
return order.flatMap((name) => {
|
|
41803
|
+
const key = keysByName.get(name);
|
|
41804
|
+
if (!key) {
|
|
41805
|
+
return [];
|
|
41806
|
+
}
|
|
41807
|
+
const index = consumed.get(key) ?? 0;
|
|
41808
|
+
consumed.set(key, index + 1);
|
|
41809
|
+
const item = itemsFor(key)[index];
|
|
41810
|
+
return item === void 0 ? [] : [[key, item]];
|
|
41811
|
+
});
|
|
41812
|
+
}
|
|
41813
|
+
|
|
41814
|
+
// pptx/core/core/runtime/smartart-text-paragraphs.ts
|
|
41815
|
+
function localName12(name) {
|
|
41816
|
+
const colon = name.indexOf(":");
|
|
41817
|
+
return colon >= 0 ? name.slice(colon + 1) : name;
|
|
41818
|
+
}
|
|
41819
|
+
function keyFor(node, name) {
|
|
41820
|
+
return Object.keys(node).find((key) => localName12(key) === name);
|
|
41821
|
+
}
|
|
41822
|
+
function child14(node, name) {
|
|
41823
|
+
const key = keyFor(node, name);
|
|
41824
|
+
const value = key ? node[key] : void 0;
|
|
41825
|
+
if (key && (value === "" || value === void 0)) {
|
|
41826
|
+
return {};
|
|
41827
|
+
}
|
|
41828
|
+
return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
41829
|
+
}
|
|
41830
|
+
function clone2(value) {
|
|
41831
|
+
return JSON.parse(JSON.stringify(value));
|
|
41832
|
+
}
|
|
41833
|
+
function directText(node) {
|
|
41834
|
+
const key = keyFor(node, "t");
|
|
41835
|
+
const value = key ? node[key] : void 0;
|
|
41836
|
+
return value === void 0 || value === null ? "" : String(value);
|
|
41837
|
+
}
|
|
41838
|
+
function parseItem(key, rawValue) {
|
|
41839
|
+
const name = localName12(key);
|
|
41840
|
+
if (!["r", "br", "fld", "tab"].includes(name)) {
|
|
41841
|
+
return { kind: "raw", name: key, value: clone2(rawValue) };
|
|
41842
|
+
}
|
|
41843
|
+
const raw = rawValue && typeof rawValue === "object" && !Array.isArray(rawValue) ? rawValue : {};
|
|
41844
|
+
if (name === "r") {
|
|
41845
|
+
const run = {
|
|
41846
|
+
text: directText(raw),
|
|
41847
|
+
rawXml: clone2(raw),
|
|
41848
|
+
childOrder: smartArtChildOrder(raw)
|
|
41849
|
+
};
|
|
41850
|
+
const rPr = child14(raw, "rPr");
|
|
41851
|
+
if (rPr) {
|
|
41852
|
+
run.rPr = clone2(rPr);
|
|
41853
|
+
}
|
|
41854
|
+
return { kind: "run", run };
|
|
41855
|
+
}
|
|
41856
|
+
if (name === "br") {
|
|
41857
|
+
const rPr = child14(raw, "rPr");
|
|
41858
|
+
return {
|
|
41859
|
+
kind: "break",
|
|
41860
|
+
...rPr ? { rPr: clone2(rPr) } : {},
|
|
41861
|
+
rawXml: clone2(raw),
|
|
41862
|
+
childOrder: smartArtChildOrder(raw)
|
|
41863
|
+
};
|
|
41864
|
+
}
|
|
41865
|
+
if (name === "fld") {
|
|
41866
|
+
const rPr = child14(raw, "rPr");
|
|
41867
|
+
const pPr = child14(raw, "pPr");
|
|
41868
|
+
return {
|
|
41869
|
+
kind: "field",
|
|
41870
|
+
...raw["@_id"] ? { id: String(raw["@_id"]) } : {},
|
|
41871
|
+
...raw["@_type"] ? { fieldType: String(raw["@_type"]) } : {},
|
|
41872
|
+
text: directText(raw),
|
|
41873
|
+
...rPr ? { rPr: clone2(rPr) } : {},
|
|
41874
|
+
...pPr ? { pPr: clone2(pPr) } : {},
|
|
41875
|
+
rawXml: clone2(raw),
|
|
41876
|
+
childOrder: smartArtChildOrder(raw)
|
|
41877
|
+
};
|
|
41878
|
+
}
|
|
41879
|
+
if (name === "tab") {
|
|
41880
|
+
return { kind: "tab", rawXml: clone2(raw), childOrder: smartArtChildOrder(raw) };
|
|
41881
|
+
}
|
|
41882
|
+
return { kind: "raw", name: key, value: clone2(rawValue) };
|
|
41883
|
+
}
|
|
41884
|
+
function parseSmartArtTextParagraphs(point2) {
|
|
41885
|
+
const body = child14(point2, "t");
|
|
41886
|
+
if (!body) {
|
|
41887
|
+
return void 0;
|
|
41888
|
+
}
|
|
41889
|
+
const pKey = keyFor(body, "p");
|
|
41890
|
+
const raw = pKey ? body[pKey] : void 0;
|
|
41891
|
+
const paragraphNodes = Array.isArray(raw) ? raw : raw ? [raw] : [];
|
|
41892
|
+
if (paragraphNodes.length === 0) {
|
|
41893
|
+
return void 0;
|
|
41894
|
+
}
|
|
41895
|
+
return paragraphNodes.map((paragraph) => {
|
|
41896
|
+
const pPr = child14(paragraph, "pPr");
|
|
41897
|
+
const endParaRPr = child14(paragraph, "endParaRPr");
|
|
41898
|
+
return {
|
|
41899
|
+
...pPr ? { pPr: clone2(pPr) } : {},
|
|
41900
|
+
items: orderedSmartArtTextEntries(paragraph).flatMap(
|
|
41901
|
+
([key, item]) => ["pPr", "endParaRPr"].includes(localName12(key)) ? [] : [parseItem(key, item)]
|
|
41902
|
+
),
|
|
41903
|
+
...endParaRPr ? { endParaRPr: clone2(endParaRPr) } : {},
|
|
41904
|
+
rawXml: clone2(paragraph)
|
|
41905
|
+
};
|
|
41906
|
+
});
|
|
41907
|
+
}
|
|
41908
|
+
function smartArtParagraphsText(paragraphs) {
|
|
41909
|
+
return diagramParagraphsText(paragraphs);
|
|
41910
|
+
}
|
|
41911
|
+
function firstParagraphRuns(paragraphs) {
|
|
41912
|
+
return firstDiagramParagraphRuns(paragraphs);
|
|
41913
|
+
}
|
|
41914
|
+
function objectWithAttributes(raw) {
|
|
41915
|
+
return Object.fromEntries(
|
|
41916
|
+
Object.entries(raw ?? {}).filter(([key]) => key.startsWith("@_"))
|
|
41917
|
+
);
|
|
41918
|
+
}
|
|
41919
|
+
function appendChild2(target, name, value, order) {
|
|
41920
|
+
const seen = Object.keys(target).some((key) => key === name || key.startsWith(`${name}#`));
|
|
41921
|
+
target[seen ? orderedXmlKey(name, order) : name] = value;
|
|
41922
|
+
}
|
|
41923
|
+
function buildOrderedContainer(raw, order, replacements) {
|
|
41924
|
+
const xml = objectWithAttributes(raw);
|
|
41925
|
+
const keys = /* @__PURE__ */ new Map();
|
|
41926
|
+
for (const key of Object.keys(raw ?? {})) {
|
|
41927
|
+
if (!key.startsWith("@_")) {
|
|
41928
|
+
keys.set(localName12(key), key);
|
|
41929
|
+
}
|
|
41930
|
+
}
|
|
41931
|
+
const values = (name) => {
|
|
41932
|
+
const key = keys.get(name);
|
|
41933
|
+
const value = key ? raw?.[key] : void 0;
|
|
41934
|
+
return Array.isArray(value) ? value : value === void 0 ? [] : [value];
|
|
41935
|
+
};
|
|
41936
|
+
const derivedOrder = order ?? [...keys.keys()].flatMap((name) => values(name).map(() => name));
|
|
41937
|
+
const replacementMap = new Map(
|
|
41938
|
+
replacements.map(([name, value]) => [localName12(name), [name, value]])
|
|
41939
|
+
);
|
|
41940
|
+
const emittedReplacements = /* @__PURE__ */ new Set();
|
|
41941
|
+
const consumed = /* @__PURE__ */ new Map();
|
|
41942
|
+
let outputOrder = 0;
|
|
41943
|
+
for (const name of derivedOrder) {
|
|
41944
|
+
const replacement = replacementMap.get(name);
|
|
41945
|
+
if (replacement && !emittedReplacements.has(name)) {
|
|
41946
|
+
appendChild2(xml, replacement[0], replacement[1], outputOrder++);
|
|
41947
|
+
emittedReplacements.add(name);
|
|
41948
|
+
continue;
|
|
41949
|
+
}
|
|
41950
|
+
const index = consumed.get(name) ?? 0;
|
|
41951
|
+
const value = values(name)[index];
|
|
41952
|
+
consumed.set(name, index + 1);
|
|
41953
|
+
const key = keys.get(name);
|
|
41954
|
+
if (key && value !== void 0) {
|
|
41955
|
+
appendChild2(xml, key, clone2(value), outputOrder++);
|
|
41956
|
+
}
|
|
41957
|
+
}
|
|
41958
|
+
for (const [name, value] of replacements) {
|
|
41959
|
+
if (!emittedReplacements.has(localName12(name))) {
|
|
41960
|
+
appendChild2(xml, name, value, outputOrder++);
|
|
41961
|
+
}
|
|
41962
|
+
}
|
|
41963
|
+
return xml;
|
|
41964
|
+
}
|
|
41965
|
+
function buildItem(item) {
|
|
41966
|
+
if (item.kind === "run") {
|
|
41967
|
+
return [
|
|
41968
|
+
"a:r",
|
|
41969
|
+
buildOrderedContainer(item.run.rawXml, item.run.childOrder, [
|
|
41970
|
+
["a:rPr", item.run.rPr ?? { "@_lang": "en-US" }],
|
|
41971
|
+
["a:t", item.run.text]
|
|
41972
|
+
])
|
|
41973
|
+
];
|
|
41974
|
+
}
|
|
41975
|
+
if (item.kind === "break") {
|
|
41976
|
+
return [
|
|
41977
|
+
"a:br",
|
|
41978
|
+
buildOrderedContainer(
|
|
41979
|
+
item.rawXml,
|
|
41980
|
+
item.childOrder,
|
|
41981
|
+
item.rPr ? [["a:rPr", item.rPr]] : []
|
|
41982
|
+
)
|
|
41983
|
+
];
|
|
41984
|
+
}
|
|
41985
|
+
if (item.kind === "field") {
|
|
41986
|
+
const replacements = [];
|
|
41987
|
+
if (item.rPr) {
|
|
41988
|
+
replacements.push(["a:rPr", item.rPr]);
|
|
41989
|
+
}
|
|
41990
|
+
if (item.pPr) {
|
|
41991
|
+
replacements.push(["a:pPr", item.pPr]);
|
|
41992
|
+
}
|
|
41993
|
+
replacements.push(["a:t", item.text]);
|
|
41994
|
+
const xml = buildOrderedContainer(
|
|
41995
|
+
item.rawXml,
|
|
41996
|
+
item.childOrder,
|
|
41997
|
+
replacements
|
|
41998
|
+
);
|
|
41999
|
+
if (item.id) {
|
|
42000
|
+
xml["@_id"] = item.id;
|
|
42001
|
+
}
|
|
42002
|
+
if (item.fieldType) {
|
|
42003
|
+
xml["@_type"] = item.fieldType;
|
|
42004
|
+
}
|
|
42005
|
+
return ["a:fld", xml];
|
|
42006
|
+
}
|
|
42007
|
+
if (item.kind === "tab") {
|
|
42008
|
+
return [
|
|
42009
|
+
"a:tab",
|
|
42010
|
+
buildOrderedContainer(item.rawXml, item.childOrder, [])
|
|
42011
|
+
];
|
|
42012
|
+
}
|
|
42013
|
+
return [item.name, clone2(item.value)];
|
|
42014
|
+
}
|
|
42015
|
+
function buildSmartArtTextParagraph(paragraph) {
|
|
42016
|
+
const xml = objectWithAttributes(paragraph.rawXml);
|
|
42017
|
+
if (paragraph.pPr) {
|
|
42018
|
+
xml["a:pPr"] = paragraph.pPr;
|
|
42019
|
+
}
|
|
42020
|
+
let order = 0;
|
|
42021
|
+
for (const item of paragraph.items) {
|
|
42022
|
+
const [name, value] = buildItem(item);
|
|
42023
|
+
appendChild2(xml, name, value, order++);
|
|
42024
|
+
}
|
|
42025
|
+
if (paragraph.endParaRPr) {
|
|
42026
|
+
xml["a:endParaRPr"] = paragraph.endParaRPr;
|
|
42027
|
+
}
|
|
42028
|
+
return xml;
|
|
42029
|
+
}
|
|
42030
|
+
|
|
42031
|
+
// pptx/core/core/runtime/smartart-text-reconciliation.ts
|
|
42032
|
+
function reconcileSmartArtTextParagraphs(paragraphs, desired) {
|
|
42033
|
+
return reconcileDiagramTextParagraphs(paragraphs, desired);
|
|
42034
|
+
}
|
|
42035
|
+
|
|
41873
42036
|
// pptx/core/core/runtime/smartart-xml-builders.ts
|
|
41874
42037
|
var NON_CONTENT_POINT_TYPES = /* @__PURE__ */ new Set([
|
|
41875
42038
|
"doc",
|
|
@@ -42140,99 +42303,14 @@ function mergeSmartArtConnectionXml(existingCxns, connections) {
|
|
|
42140
42303
|
}
|
|
42141
42304
|
|
|
42142
42305
|
// pptx/core/core/runtime/smartart-fabrication-data.ts
|
|
42143
|
-
var XML_PROLOG = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
|
42144
|
-
var DGM_XMLNS = 'xmlns:dgm="http://schemas.openxmlformats.org/drawingml/2006/diagram" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"';
|
|
42145
|
-
function xmlEscape(value) {
|
|
42146
|
-
return value.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replaceAll('"', """).replaceAll("'", "'");
|
|
42147
|
-
}
|
|
42148
|
-
function avLstXml(adjustments) {
|
|
42149
|
-
const entries = Object.entries(adjustments ?? {}).filter(([, v]) => Number.isFinite(v));
|
|
42150
|
-
if (entries.length === 0) {
|
|
42151
|
-
return "<a:avLst/>";
|
|
42152
|
-
}
|
|
42153
|
-
const gds = entries.map(([name, v]) => `<a:gd name="${xmlEscape(name)}" fmla="val ${Math.round(v)}"/>`).join("");
|
|
42154
|
-
return `<a:avLst>${gds}</a:avLst>`;
|
|
42155
|
-
}
|
|
42156
|
-
var GUID_MODEL_ID = /^\{[0-9A-Fa-f]{8}(?:-[0-9A-Fa-f]{4}){3}-[0-9A-Fa-f]{12}\}$/u;
|
|
42157
|
-
var EMPTY_TEXT_BODY = '<dgm:t><a:bodyPr/><a:lstStyle/><a:p><a:endParaRPr lang="en-US"/></a:p></dgm:t>';
|
|
42158
|
-
function contentTextBody(text2) {
|
|
42159
|
-
if (!text2) {
|
|
42160
|
-
return EMPTY_TEXT_BODY;
|
|
42161
|
-
}
|
|
42162
|
-
return `<dgm:t><a:bodyPr/><a:lstStyle/><a:p><a:r><a:rPr lang="en-US"/><a:t>${xmlEscape(text2)}</a:t></a:r></a:p></dgm:t>`;
|
|
42163
|
-
}
|
|
42164
|
-
function contentPointXml(guid, node) {
|
|
42165
|
-
const prSet = node.text ? "<dgm:prSet/>" : '<dgm:prSet phldrT="[Text]" phldr="1"/>';
|
|
42166
|
-
const typeAttr = node.nodeType === "asst" ? ' type="asst"' : "";
|
|
42167
|
-
return `<dgm:pt modelId="${guid}"${typeAttr}>${prSet}<dgm:spPr/>${contentTextBody(node.text ?? "")}</dgm:pt>`;
|
|
42168
|
-
}
|
|
42169
|
-
function transPointXml(guid, type, cxnGuid) {
|
|
42170
|
-
return `<dgm:pt modelId="${guid}" type="${type}" cxnId="${cxnGuid}"><dgm:prSet/><dgm:spPr/>${EMPTY_TEXT_BODY}</dgm:pt>`;
|
|
42171
|
-
}
|
|
42172
|
-
function docPointXml(docGuid, ids) {
|
|
42173
|
-
return `<dgm:pt modelId="${docGuid}" type="doc"><dgm:prSet loTypeId="${xmlEscape(ids.layoutUniqueId)}" loCatId="${xmlEscape(ids.layoutCategory)}" qsTypeId="${xmlEscape(ids.quickStyleUniqueId)}" qsCatId="simple" csTypeId="${xmlEscape(ids.colorsUniqueId)}" csCatId="${xmlEscape(ids.colorsCategory)}"/><dgm:spPr/>${EMPTY_TEXT_BODY}</dgm:pt>`;
|
|
42174
|
-
}
|
|
42175
42306
|
function buildNodeGuidMap(nodes) {
|
|
42176
|
-
|
|
42177
|
-
for (const node of nodes) {
|
|
42178
|
-
if (node.id && !guidByNodeId.has(node.id)) {
|
|
42179
|
-
guidByNodeId.set(node.id, GUID_MODEL_ID.test(node.id) ? node.id : newSmartArtGuid());
|
|
42180
|
-
}
|
|
42181
|
-
}
|
|
42182
|
-
return guidByNodeId;
|
|
42307
|
+
return buildDiagramNodeGuidMap(nodes, newSmartArtGuid);
|
|
42183
42308
|
}
|
|
42184
42309
|
function buildPresentationGuidMap(nodes) {
|
|
42185
|
-
|
|
42186
|
-
for (const node of nodes) {
|
|
42187
|
-
if (node.id && !guidByNodeId.has(node.id)) {
|
|
42188
|
-
guidByNodeId.set(node.id, newSmartArtGuid());
|
|
42189
|
-
}
|
|
42190
|
-
}
|
|
42191
|
-
return guidByNodeId;
|
|
42310
|
+
return buildDiagramPresentationGuidMap(nodes, newSmartArtGuid);
|
|
42192
42311
|
}
|
|
42193
|
-
var DSP_DATA_MODEL_EXT_URI = "http://schemas.microsoft.com/office/drawing/2008/diagram";
|
|
42194
42312
|
function buildFabricatedDiagramDataXml(data, ids, options = {}) {
|
|
42195
|
-
|
|
42196
|
-
const guidByNodeId = options.guidByNodeId ?? buildNodeGuidMap(data.nodes);
|
|
42197
|
-
const presentationGuidByNodeId = options.presentationGuidByNodeId ?? buildPresentationGuidMap(data.nodes);
|
|
42198
|
-
const points = [docPointXml(docGuid, ids)];
|
|
42199
|
-
const connections = [];
|
|
42200
|
-
const nextSrcOrd = /* @__PURE__ */ new Map();
|
|
42201
|
-
for (const node of data.nodes) {
|
|
42202
|
-
const guid = node.id ? guidByNodeId.get(node.id) : void 0;
|
|
42203
|
-
if (!guid) {
|
|
42204
|
-
continue;
|
|
42205
|
-
}
|
|
42206
|
-
const parentGuid = node.parentId && guidByNodeId.get(node.parentId) || docGuid;
|
|
42207
|
-
const srcOrd = nextSrcOrd.get(parentGuid) ?? 0;
|
|
42208
|
-
nextSrcOrd.set(parentGuid, srcOrd + 1);
|
|
42209
|
-
const cxnGuid = newSmartArtGuid();
|
|
42210
|
-
const parTransGuid = newSmartArtGuid();
|
|
42211
|
-
const sibTransGuid = newSmartArtGuid();
|
|
42212
|
-
points.push(contentPointXml(guid, node));
|
|
42213
|
-
points.push(transPointXml(parTransGuid, "parTrans", cxnGuid));
|
|
42214
|
-
points.push(transPointXml(sibTransGuid, "sibTrans", cxnGuid));
|
|
42215
|
-
connections.push(
|
|
42216
|
-
`<dgm:cxn modelId="${cxnGuid}" srcId="${parentGuid}" destId="${guid}" srcOrd="${srcOrd}" destOrd="0" parTransId="${parTransGuid}" sibTransId="${sibTransGuid}"/>`
|
|
42217
|
-
);
|
|
42218
|
-
const presentationGuid = node.id ? presentationGuidByNodeId.get(node.id) : void 0;
|
|
42219
|
-
if (presentationGuid) {
|
|
42220
|
-
points.push(
|
|
42221
|
-
`<dgm:pt modelId="${presentationGuid}" type="pres"><dgm:prSet presAssocID="${guid}" presName="node" presStyleLbl="node1" presStyleIdx="${srcOrd}" presStyleCnt="${data.nodes.length}"/><dgm:spPr/></dgm:pt>`
|
|
42222
|
-
);
|
|
42223
|
-
connections.push(
|
|
42224
|
-
`<dgm:cxn modelId="${newSmartArtGuid()}" type="presOf" srcId="${guid}" destId="${presentationGuid}" srcOrd="0" destOrd="0" presId="${xmlEscape(ids.layoutUniqueId)}"/>`
|
|
42225
|
-
);
|
|
42226
|
-
}
|
|
42227
|
-
}
|
|
42228
|
-
return `${XML_PROLOG}\r
|
|
42229
|
-
<dgm:dataModel ${DGM_XMLNS}><dgm:ptLst>${points.join("")}</dgm:ptLst><dgm:cxnLst>${connections.join("")}</dgm:cxnLst><dgm:bg/><dgm:whole/>${dataModelExtXml(options.drawingRelId)}</dgm:dataModel>`;
|
|
42230
|
-
}
|
|
42231
|
-
function dataModelExtXml(drawingRelId) {
|
|
42232
|
-
if (!drawingRelId) {
|
|
42233
|
-
return "";
|
|
42234
|
-
}
|
|
42235
|
-
return `<dgm:extLst><a:ext uri="${DSP_DATA_MODEL_EXT_URI}"><dsp:dataModelExt xmlns:dsp="${DSP_DATA_MODEL_EXT_URI}" relId="${xmlEscape(drawingRelId)}" minVer="http://schemas.openxmlformats.org/drawingml/2006/diagram"/></a:ext></dgm:extLst>`;
|
|
42313
|
+
return writeFabricatedDiagramData(data, ids, { createModelId: newSmartArtGuid, ...options });
|
|
42236
42314
|
}
|
|
42237
42315
|
|
|
42238
42316
|
// pptx/core/utils/text-body-sp3d-writer.ts
|
|
@@ -42582,7 +42660,7 @@ function shapePropsXml(shape) {
|
|
|
42582
42660
|
}
|
|
42583
42661
|
)
|
|
42584
42662
|
})
|
|
42585
|
-
) : `<a:prstGeom prst="${
|
|
42663
|
+
) : `<a:prstGeom prst="${escapeDiagramXml(prst)}">${diagramAvLstXml(shape.shapeAdjustments)}</a:prstGeom>`;
|
|
42586
42664
|
const fillHex = normalizeHex4(shape.fillColor);
|
|
42587
42665
|
const fillAlpha = shape.fillOpacity !== void 0 && shape.fillOpacity < 1 ? `<a:alpha val="${Math.round(Math.max(0, shape.fillOpacity) * 1e5)}"/>` : "";
|
|
42588
42666
|
const fill = fillHex ? fillAlpha ? `<a:solidFill><a:srgbClr val="${fillHex}">${fillAlpha}</a:srgbClr></a:solidFill>` : `<a:solidFill><a:srgbClr val="${fillHex}"/></a:solidFill>` : "";
|
|
@@ -42606,7 +42684,7 @@ function buildFabricatedDrawingXml(shapes, nodes, presentationGuidByNodeId) {
|
|
|
42606
42684
|
if (!body) {
|
|
42607
42685
|
return void 0;
|
|
42608
42686
|
}
|
|
42609
|
-
return `${
|
|
42687
|
+
return `${DIAGRAM_XML_PROLOG}\r
|
|
42610
42688
|
<dsp:drawing ${DSP_XMLNS}><dsp:spTree><dsp:nvGrpSpPr><dsp:cNvPr id="0" name=""/><dsp:cNvGrpSpPr/></dsp:nvGrpSpPr><dsp:grpSpPr/>${body}</dsp:spTree></dsp:drawing>`;
|
|
42611
42689
|
}
|
|
42612
42690
|
function withStyleLabel(element) {
|
|
@@ -44643,9 +44721,10 @@ exports.DEFAULT_COLOR_MAP = DEFAULT_COLOR_MAP;
|
|
|
44643
44721
|
exports.DEFAULT_FONT_ADVANCE_TABLE = DEFAULT_FONT_ADVANCE_TABLE;
|
|
44644
44722
|
exports.DEFAULT_MAX_UNCOMPRESSED_BYTES = DEFAULT_MAX_UNCOMPRESSED_BYTES;
|
|
44645
44723
|
exports.DEFAULT_ROW_HEIGHT_EMU = DEFAULT_ROW_HEIGHT_EMU;
|
|
44646
|
-
exports.
|
|
44724
|
+
exports.DIAGRAM_DATA_XMLNS = DIAGRAM_DATA_XMLNS;
|
|
44647
44725
|
exports.DIAGRAM_DRAWING_CONTENT_TYPE = DIAGRAM_DRAWING_CONTENT_TYPE;
|
|
44648
44726
|
exports.DIAGRAM_DRAWING_REL_TYPE = DIAGRAM_DRAWING_REL_TYPE;
|
|
44727
|
+
exports.DIAGRAM_XML_PROLOG = DIAGRAM_XML_PROLOG;
|
|
44649
44728
|
exports.DIGITAL_SIGNATURE_ORIGIN_REL_TYPE = DIGITAL_SIGNATURE_ORIGIN_REL_TYPE;
|
|
44650
44729
|
exports.ENTRY_TYPE_ROOT = ENTRY_TYPE_ROOT;
|
|
44651
44730
|
exports.EncryptedFileError = EncryptedFileError;
|
|
@@ -44669,7 +44748,6 @@ exports.STYLE_MATRIX_FILL_KEYS = STYLE_MATRIX_FILL_KEYS;
|
|
|
44669
44748
|
exports.STYLE_MATRIX_LINE_KEYS = STYLE_MATRIX_LINE_KEYS;
|
|
44670
44749
|
exports.TC_PR_BORDERS_ORDER = TC_PR_BORDERS_ORDER;
|
|
44671
44750
|
exports.VML_SHAPE_TAGS = VML_SHAPE_TAGS;
|
|
44672
|
-
exports.XML_PROLOG = XML_PROLOG;
|
|
44673
44751
|
exports.ZipBombError = ZipBombError;
|
|
44674
44752
|
exports.annotateCustomGeometryCommandOrder = annotateCustomGeometryCommandOrder;
|
|
44675
44753
|
exports.annotateSmartArtTextOrder = annotateSmartArtTextOrder;
|
|
@@ -44697,6 +44775,7 @@ exports.applySeriesPictureOptionsToXml = applySeriesPictureOptionsToXml;
|
|
|
44697
44775
|
exports.applySmartArtLayoutDefinition = applySmartArtLayoutDefinition;
|
|
44698
44776
|
exports.applyTextBodySp3d = applyTextBodySp3d;
|
|
44699
44777
|
exports.applyThemeToData = applyThemeToData;
|
|
44778
|
+
exports.attr = attr;
|
|
44700
44779
|
exports.backgroundRefNode = backgroundRefNode;
|
|
44701
44780
|
exports.backgroundStyleColorMap = backgroundStyleColorMap;
|
|
44702
44781
|
exports.backgroundStylePreset = backgroundStylePreset;
|
|
@@ -44768,6 +44847,7 @@ exports.ensureArrayValue = ensureArrayValue;
|
|
|
44768
44847
|
exports.ensureXmlChild = ensureXmlChild;
|
|
44769
44848
|
exports.ensureXmlChildOrCreate = ensureXmlChildOrCreate;
|
|
44770
44849
|
exports.ensureXmlChildren = ensureXmlChildren;
|
|
44850
|
+
exports.escapeDiagramXml = escapeDiagramXml;
|
|
44771
44851
|
exports.estimateMediaDurationMs = estimateMediaDurationMs;
|
|
44772
44852
|
exports.evaluateGuides = evaluateGuides;
|
|
44773
44853
|
exports.extractColorChoiceXml = extractColorChoiceXml;
|
|
@@ -44787,6 +44867,7 @@ exports.generateFontGuid = generateFontGuid;
|
|
|
44787
44867
|
exports.getSignaturePathsToStrip = getSignaturePathsToStrip;
|
|
44788
44868
|
exports.getTblFromRawXml = getTblFromRawXml;
|
|
44789
44869
|
exports.guardZip = guardZip;
|
|
44870
|
+
exports.hasLocalName = hasLocalName;
|
|
44790
44871
|
exports.hash = hash;
|
|
44791
44872
|
exports.hslToRgb = hslToRgb;
|
|
44792
44873
|
exports.inferOleExtensionFromTarget = inferOleExtensionFromTarget;
|
|
@@ -44818,8 +44899,8 @@ exports.obfuscateFont = obfuscateFont;
|
|
|
44818
44899
|
exports.oleBytesToDataUrl = oleBytesToDataUrl;
|
|
44819
44900
|
exports.ooxmlArcToSvg = ooxmlArcToSvg;
|
|
44820
44901
|
exports.ooxmlGradientAngleToCssDegrees = ooxmlGradientAngleToCssDegrees;
|
|
44821
|
-
exports.openNestedZip = openNestedZip;
|
|
44822
44902
|
exports.openPptxZip = openPptxZip;
|
|
44903
|
+
exports.openZip = openZip;
|
|
44823
44904
|
exports.orderedPathCommandEntries = orderedPathCommandEntries;
|
|
44824
44905
|
exports.orderedXmlKey = orderedXmlKey;
|
|
44825
44906
|
exports.parseActiveXControlsFromSlide = parseActiveXControlsFromSlide;
|
|
@@ -44890,7 +44971,6 @@ exports.parseVmlElements = parseVmlElements;
|
|
|
44890
44971
|
exports.parseXml = parseXml;
|
|
44891
44972
|
exports.positiveFixedAngleAttribute = positiveFixedAngleAttribute;
|
|
44892
44973
|
exports.pptxActionToElementAction = pptxActionToElementAction;
|
|
44893
|
-
exports.preservesSpreadsheetXmlWhitespace = preservesSpreadsheetXmlWhitespace;
|
|
44894
44974
|
exports.preservesXmlWhitespace = preservesXmlWhitespace;
|
|
44895
44975
|
exports.prismFamilyFlags = prismFamilyFlags;
|
|
44896
44976
|
exports.prismFamilyTypeForFlags = prismFamilyTypeForFlags;
|
|
@@ -44961,7 +45041,6 @@ exports.xmlAttr = xmlAttr;
|
|
|
44961
45041
|
exports.xmlAttrNumber = xmlAttrNumber;
|
|
44962
45042
|
exports.xmlChild = xmlChild;
|
|
44963
45043
|
exports.xmlChildren = xmlChildren;
|
|
44964
|
-
exports.xmlEscape = xmlEscape;
|
|
44965
45044
|
exports.xmlHasChild = xmlHasChild;
|
|
44966
45045
|
exports.xmlPath = xmlPath;
|
|
44967
45046
|
exports.xmlText = xmlText;
|