ooxml-core 1.24.3 → 1.25.1
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-5UO5DD5K.mjs +4 -0
- package/dist/{PptxHandler-WQPEYOSS.mjs → PptxHandler-AUK27AQD.mjs} +3 -3
- package/dist/{PptxHandler-2YPMMGOJ.cjs → PptxHandler-QBGEZDCO.cjs} +3 -3
- package/dist/{PresentationBuilder-F5U4KEGH.cjs → PresentationBuilder-CI45KEHL.cjs} +5 -5
- package/dist/{PresentationBuilder-FGWHIJV7.mjs → PresentationBuilder-MEETJGEA.mjs} +3 -3
- package/dist/{PresentationBuilder-PS5S52M3.mjs → PresentationBuilder-RX7D75GZ.mjs} +2 -2
- package/dist/automation/index.cjs +10188 -6069
- package/dist/automation/index.mjs +10188 -6069
- 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-K2XWOVLV.mjs → chunk-5F7OB7PA.mjs} +4075 -1949
- package/dist/{chunk-2AFO3HNI.mjs → chunk-635WPRNJ.mjs} +2235 -2095
- package/dist/{chunk-O6ISWI34.mjs → chunk-6DHZZD5R.mjs} +1102 -1024
- package/dist/{chunk-GBKBR4CX.mjs → chunk-E2PYQQQV.mjs} +1 -1
- package/dist/{chunk-4IFENOU7.mjs → chunk-E3PRAHL6.mjs} +1 -1
- package/dist/{chunk-5SE4FGS4.cjs → chunk-GMETZZ3V.cjs} +4989 -2863
- package/dist/{chunk-HKCSJAQD.mjs → chunk-HVRFRYYS.mjs} +5 -5
- package/dist/{chunk-QCZX6K67.cjs → chunk-S5TGOEQX.cjs} +1107 -1028
- package/dist/{chunk-RF2YPEKI.mjs → chunk-TX2QFS3J.mjs} +3976 -1833
- package/dist/{chunk-OJWKGDJF.mjs → chunk-VGDHSED6.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 +5741 -2973
- package/dist/docx/embedded.mjs +5741 -2973
- package/dist/docx/index.cjs +10098 -6118
- package/dist/docx/index.d.ts +4 -1
- package/dist/docx/index.d.ts.map +1 -1
- package/dist/docx/index.mjs +10084 -6119
- package/dist/docx/load/index.cjs +5840 -3072
- package/dist/docx/load/index.mjs +5840 -3072
- 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 +10078 -2908
- package/dist/index.mjs +10078 -2908
- package/dist/opc/index.cjs +10 -0
- package/dist/opc/index.mjs +10 -1
- package/dist/opc/package.d.ts +5 -0
- package/dist/opc/package.d.ts.map +1 -1
- package/dist/pptx/automation/index.cjs +6845 -3885
- package/dist/pptx/automation/index.d.ts +5 -5
- package/dist/pptx/automation/index.mjs +6 -6
- 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 +6330 -3372
- 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 +7750 -4725
- 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/context.d.ts +3 -1
- package/dist/xlsx/edit/context.d.ts.map +1 -1
- package/dist/xlsx/edit/drawings.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 +6464 -3108
- package/dist/xlsx/index.d.ts +1 -0
- package/dist/xlsx/index.d.ts.map +1 -1
- package/dist/xlsx/index.mjs +6458 -3109
- package/dist/xlsx/load/index.cjs +5732 -3843
- package/dist/xlsx/load/index.mjs +5732 -3843
- 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 +6671 -2910
- package/dist/xlsx/ui/index.mjs +6670 -2910
- 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-VXK5EY7J.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
package/dist/drawingml/index.mjs
CHANGED
|
@@ -1642,4 +1642,843 @@ function themeDrawingColorTheme(scheme, colorMap) {
|
|
|
1642
1642
|
};
|
|
1643
1643
|
}
|
|
1644
1644
|
|
|
1645
|
-
|
|
1645
|
+
// drawingml/read-run-properties.ts
|
|
1646
|
+
function outerXml(element) {
|
|
1647
|
+
return buildXml(element);
|
|
1648
|
+
}
|
|
1649
|
+
function isDrawingElement(element) {
|
|
1650
|
+
return !element.namespaceURI || element.namespaceURI === NS.a;
|
|
1651
|
+
}
|
|
1652
|
+
function parseDrawingFont(element) {
|
|
1653
|
+
const typeface = stringAttribute(element, "typeface");
|
|
1654
|
+
if (!element || typeface === void 0) return void 0;
|
|
1655
|
+
const font = { typeface };
|
|
1656
|
+
const panose = stringAttribute(element, "panose");
|
|
1657
|
+
if (panose) font.panose = panose;
|
|
1658
|
+
const pitchFamily = integerAttribute(element, "pitchFamily");
|
|
1659
|
+
if (pitchFamily !== void 0) font.pitchFamily = pitchFamily;
|
|
1660
|
+
const charset = integerAttribute(element, "charset");
|
|
1661
|
+
if (charset !== void 0) font.charset = charset;
|
|
1662
|
+
return font;
|
|
1663
|
+
}
|
|
1664
|
+
function parseDrawingHyperlink(element) {
|
|
1665
|
+
const link = {};
|
|
1666
|
+
const relId = attributeReader(element)("id")?.trim();
|
|
1667
|
+
if (relId) link.relId = relId;
|
|
1668
|
+
for (const [key, name] of [
|
|
1669
|
+
["tooltip", "tooltip"],
|
|
1670
|
+
["action", "action"],
|
|
1671
|
+
["invalidUrl", "invalidUrl"],
|
|
1672
|
+
["targetFrame", "tgtFrame"]
|
|
1673
|
+
]) {
|
|
1674
|
+
const value = stringAttribute(element, name);
|
|
1675
|
+
if (value) link[key] = value;
|
|
1676
|
+
}
|
|
1677
|
+
for (const [key, name] of [
|
|
1678
|
+
["history", "history"],
|
|
1679
|
+
["highlightClick", "highlightClick"],
|
|
1680
|
+
["endSound", "endSnd"]
|
|
1681
|
+
]) {
|
|
1682
|
+
const value = booleanAttribute(element, name);
|
|
1683
|
+
if (value !== void 0) link[key] = value;
|
|
1684
|
+
}
|
|
1685
|
+
const extra = elements(element).map(outerXml);
|
|
1686
|
+
if (extra.length) link.extraXml = extra;
|
|
1687
|
+
return link;
|
|
1688
|
+
}
|
|
1689
|
+
var BOOLEAN_ATTRIBUTES = [
|
|
1690
|
+
["bold", "b"],
|
|
1691
|
+
["italic", "i"],
|
|
1692
|
+
["kumimoji", "kumimoji"],
|
|
1693
|
+
["normalizeHeight", "normalizeH"],
|
|
1694
|
+
["noProof", "noProof"],
|
|
1695
|
+
["dirty", "dirty"],
|
|
1696
|
+
["spellingError", "err"],
|
|
1697
|
+
["smartTagClean", "smtClean"]
|
|
1698
|
+
];
|
|
1699
|
+
var STRING_ATTRIBUTES = [
|
|
1700
|
+
["underline", "u"],
|
|
1701
|
+
["strike", "strike"],
|
|
1702
|
+
["caps", "cap"],
|
|
1703
|
+
["language", "lang"],
|
|
1704
|
+
["altLanguage", "altLang"],
|
|
1705
|
+
["bookmark", "bmk"]
|
|
1706
|
+
];
|
|
1707
|
+
var FONT_SLOTS = {
|
|
1708
|
+
latin: "latin",
|
|
1709
|
+
ea: "eastAsian",
|
|
1710
|
+
cs: "complexScript",
|
|
1711
|
+
sym: "symbol"
|
|
1712
|
+
};
|
|
1713
|
+
function readAttributes(element, out) {
|
|
1714
|
+
const size = integerAttribute(element, "sz");
|
|
1715
|
+
if (size !== void 0) out.sizePt = size / 100;
|
|
1716
|
+
for (const [key, name] of BOOLEAN_ATTRIBUTES) {
|
|
1717
|
+
const value = booleanAttribute(element, name);
|
|
1718
|
+
if (value !== void 0) out[key] = value;
|
|
1719
|
+
}
|
|
1720
|
+
for (const [key, name] of STRING_ATTRIBUTES) {
|
|
1721
|
+
const value = stringAttribute(element, name);
|
|
1722
|
+
if (value) out[key] = value;
|
|
1723
|
+
}
|
|
1724
|
+
const baseline = attributeReader(element)("baseline");
|
|
1725
|
+
const baselineFraction = baseline === void 0 ? void 0 : parseOoxmlPercent(baseline);
|
|
1726
|
+
if (baselineFraction !== void 0) out.baseline = baselineFraction;
|
|
1727
|
+
const spacing = integerAttribute(element, "spc");
|
|
1728
|
+
if (spacing !== void 0) out.spacingPt = spacing / 100;
|
|
1729
|
+
const kern = integerAttribute(element, "kern");
|
|
1730
|
+
if (kern !== void 0) out.kernPt = kern / 100;
|
|
1731
|
+
const smartTagId = integerAttribute(element, "smtId");
|
|
1732
|
+
if (smartTagId !== void 0) out.smartTagId = smartTagId;
|
|
1733
|
+
}
|
|
1734
|
+
function readChild(child, out, extra) {
|
|
1735
|
+
const name = child.localName;
|
|
1736
|
+
if (!isDrawingElement(child)) {
|
|
1737
|
+
extra.push(outerXml(child));
|
|
1738
|
+
return;
|
|
1739
|
+
}
|
|
1740
|
+
if (name === "ln") {
|
|
1741
|
+
const line = parseDrawingLine(child);
|
|
1742
|
+
if (line) out.line = line;
|
|
1743
|
+
out.lineSourceXml = outerXml(child);
|
|
1744
|
+
} else if (name in FONT_SLOTS) {
|
|
1745
|
+
const font = parseDrawingFont(child);
|
|
1746
|
+
if (font) out[FONT_SLOTS[name]] = font;
|
|
1747
|
+
else extra.push(outerXml(child));
|
|
1748
|
+
} else if (name === "highlight") {
|
|
1749
|
+
const color = parseDrawingColorIn(child);
|
|
1750
|
+
if (color) out.highlight = color;
|
|
1751
|
+
} else if (name === "uLnTx") out.underlineLineFollowsText = true;
|
|
1752
|
+
else if (name === "uLn") out.underlineLineXml = outerXml(child);
|
|
1753
|
+
else if (name === "uFillTx") out.underlineFillFollowsText = true;
|
|
1754
|
+
else if (name === "uFill") {
|
|
1755
|
+
const fill = parseDrawingFill(child);
|
|
1756
|
+
if (fill) out.underlineFill = fill;
|
|
1757
|
+
else extra.push(outerXml(child));
|
|
1758
|
+
} else if (name === "hlinkClick") out.hyperlinkClick = parseDrawingHyperlink(child);
|
|
1759
|
+
else if (name === "hlinkMouseOver") out.hyperlinkMouseOver = parseDrawingHyperlink(child);
|
|
1760
|
+
else if (name === "rtl") {
|
|
1761
|
+
const value = booleanAttribute(child, "val");
|
|
1762
|
+
out.rightToLeft = value ?? true;
|
|
1763
|
+
} else extra.push(outerXml(child));
|
|
1764
|
+
}
|
|
1765
|
+
var WRITABLE_FILLS = /* @__PURE__ */ new Set(["none", "solid", "gradient"]);
|
|
1766
|
+
function parseDrawingRunProperties(element) {
|
|
1767
|
+
if (!element) return void 0;
|
|
1768
|
+
const out = {};
|
|
1769
|
+
readAttributes(element, out);
|
|
1770
|
+
const extra = [];
|
|
1771
|
+
const fillElement = fillElementOf(element);
|
|
1772
|
+
for (const child of elements(element)) {
|
|
1773
|
+
if (child === fillElement) {
|
|
1774
|
+
const fill = parseDrawingFill(element);
|
|
1775
|
+
if (fill && WRITABLE_FILLS.has(fill.kind)) out.fill = fill;
|
|
1776
|
+
else extra.push(outerXml(child));
|
|
1777
|
+
continue;
|
|
1778
|
+
}
|
|
1779
|
+
readChild(child, out, extra);
|
|
1780
|
+
}
|
|
1781
|
+
if (extra.length) out.extraXml = extra;
|
|
1782
|
+
return out;
|
|
1783
|
+
}
|
|
1784
|
+
|
|
1785
|
+
// drawingml/read-paragraph-properties.ts
|
|
1786
|
+
function parseDrawingTextSpacing(element) {
|
|
1787
|
+
const points = integerAttribute(first(element, "spcPts", NS.a), "val");
|
|
1788
|
+
if (points !== void 0) return { unit: "points", value: points / 100 };
|
|
1789
|
+
const percent = parseOoxmlPercent(first(element, "spcPct", NS.a)?.getAttribute("val"));
|
|
1790
|
+
if (percent !== void 0) return { unit: "percent", value: percent };
|
|
1791
|
+
return void 0;
|
|
1792
|
+
}
|
|
1793
|
+
var EMU_ATTRIBUTES = [
|
|
1794
|
+
["marginLeftEmu", "marL"],
|
|
1795
|
+
["marginRightEmu", "marR"],
|
|
1796
|
+
["indentEmu", "indent"],
|
|
1797
|
+
["defaultTabSizeEmu", "defTabSz"]
|
|
1798
|
+
];
|
|
1799
|
+
var BOOLEAN_ATTRIBUTES2 = [
|
|
1800
|
+
["rightToLeft", "rtl"],
|
|
1801
|
+
["eastAsianLineBreak", "eaLnBrk"],
|
|
1802
|
+
["latinLineBreak", "latinLnBrk"],
|
|
1803
|
+
["hangingPunctuation", "hangingPunct"]
|
|
1804
|
+
];
|
|
1805
|
+
function readAttributes2(element, out) {
|
|
1806
|
+
const level = integerAttribute(element, "lvl");
|
|
1807
|
+
if (level !== void 0) out.level = Math.min(Math.max(level, 0), 8);
|
|
1808
|
+
const align = stringAttribute(element, "algn");
|
|
1809
|
+
if (align) out.align = align;
|
|
1810
|
+
for (const [key, name] of EMU_ATTRIBUTES) {
|
|
1811
|
+
const value = integerAttribute(element, name);
|
|
1812
|
+
if (value !== void 0) out[key] = value;
|
|
1813
|
+
}
|
|
1814
|
+
for (const [key, name] of BOOLEAN_ATTRIBUTES2) {
|
|
1815
|
+
const value = booleanAttribute(element, name);
|
|
1816
|
+
if (value !== void 0) out[key] = value;
|
|
1817
|
+
}
|
|
1818
|
+
const fontAlign = stringAttribute(element, "fontAlgn");
|
|
1819
|
+
if (fontAlign) out.fontAlign = fontAlign;
|
|
1820
|
+
}
|
|
1821
|
+
function readTabStops(element) {
|
|
1822
|
+
return children(element, "tab", NS.a).map((tab) => {
|
|
1823
|
+
const stop = {};
|
|
1824
|
+
const position = integerAttribute(tab, "pos");
|
|
1825
|
+
if (position !== void 0) stop.positionEmu = position;
|
|
1826
|
+
const align = stringAttribute(tab, "algn");
|
|
1827
|
+
if (align) stop.align = align;
|
|
1828
|
+
return stop;
|
|
1829
|
+
});
|
|
1830
|
+
}
|
|
1831
|
+
function readBulletChild(child, out) {
|
|
1832
|
+
switch (child.localName) {
|
|
1833
|
+
case "buClrTx":
|
|
1834
|
+
out.bulletColor = "text";
|
|
1835
|
+
return true;
|
|
1836
|
+
case "buClr": {
|
|
1837
|
+
const color = parseDrawingColorIn(child);
|
|
1838
|
+
if (color) out.bulletColor = color;
|
|
1839
|
+
return color !== void 0;
|
|
1840
|
+
}
|
|
1841
|
+
case "buSzTx":
|
|
1842
|
+
out.bulletSize = "text";
|
|
1843
|
+
return true;
|
|
1844
|
+
case "buSzPct": {
|
|
1845
|
+
const value = parseOoxmlPercent(child.getAttribute("val"));
|
|
1846
|
+
if (value !== void 0) out.bulletSize = { unit: "percent", value };
|
|
1847
|
+
return value !== void 0;
|
|
1848
|
+
}
|
|
1849
|
+
case "buSzPts": {
|
|
1850
|
+
const value = integerAttribute(child, "val");
|
|
1851
|
+
if (value !== void 0) out.bulletSize = { unit: "points", value: value / 100 };
|
|
1852
|
+
return value !== void 0;
|
|
1853
|
+
}
|
|
1854
|
+
case "buFontTx":
|
|
1855
|
+
out.bulletFont = "text";
|
|
1856
|
+
return true;
|
|
1857
|
+
case "buFont": {
|
|
1858
|
+
const font = parseDrawingFont(child);
|
|
1859
|
+
if (font) out.bulletFont = font;
|
|
1860
|
+
return font !== void 0;
|
|
1861
|
+
}
|
|
1862
|
+
case "buNone":
|
|
1863
|
+
out.bullet = { kind: "none" };
|
|
1864
|
+
return true;
|
|
1865
|
+
case "buChar": {
|
|
1866
|
+
const char = child.getAttribute("char");
|
|
1867
|
+
if (char) out.bullet = { kind: "char", char };
|
|
1868
|
+
return Boolean(char);
|
|
1869
|
+
}
|
|
1870
|
+
case "buAutoNum": {
|
|
1871
|
+
const scheme = stringAttribute(child, "type");
|
|
1872
|
+
if (!scheme) return false;
|
|
1873
|
+
const startAt = integerAttribute(child, "startAt");
|
|
1874
|
+
out.bullet = { kind: "autoNumber", scheme, ...startAt !== void 0 ? { startAt } : {} };
|
|
1875
|
+
return true;
|
|
1876
|
+
}
|
|
1877
|
+
case "buBlip":
|
|
1878
|
+
out.bullet = { kind: "picture", xml: outerXml(child) };
|
|
1879
|
+
return true;
|
|
1880
|
+
default:
|
|
1881
|
+
return false;
|
|
1882
|
+
}
|
|
1883
|
+
}
|
|
1884
|
+
function parseDrawingParagraphProperties(element) {
|
|
1885
|
+
if (!element) return void 0;
|
|
1886
|
+
const out = {};
|
|
1887
|
+
readAttributes2(element, out);
|
|
1888
|
+
const extra = [];
|
|
1889
|
+
for (const child of elements(element)) {
|
|
1890
|
+
if (!isDrawingElement(child)) {
|
|
1891
|
+
extra.push(outerXml(child));
|
|
1892
|
+
continue;
|
|
1893
|
+
}
|
|
1894
|
+
const name = child.localName;
|
|
1895
|
+
if (name === "lnSpc" || name === "spcBef" || name === "spcAft") {
|
|
1896
|
+
const spacing = parseDrawingTextSpacing(child);
|
|
1897
|
+
const key = name === "lnSpc" ? "lineSpacing" : name === "spcBef" ? "spaceBefore" : "spaceAfter";
|
|
1898
|
+
if (spacing) out[key] = spacing;
|
|
1899
|
+
else extra.push(outerXml(child));
|
|
1900
|
+
} else if (name === "tabLst") out.tabStops = readTabStops(child);
|
|
1901
|
+
else if (name === "defRPr") {
|
|
1902
|
+
const run = parseDrawingRunProperties(child);
|
|
1903
|
+
if (run) out.defaultRunProperties = run;
|
|
1904
|
+
} else if (!readBulletChild(child, out)) extra.push(outerXml(child));
|
|
1905
|
+
}
|
|
1906
|
+
if (extra.length) out.extraXml = extra;
|
|
1907
|
+
return out;
|
|
1908
|
+
}
|
|
1909
|
+
|
|
1910
|
+
// drawingml/read-text-body.ts
|
|
1911
|
+
var BODY_STRINGS = [
|
|
1912
|
+
["verticalOverflow", "vertOverflow"],
|
|
1913
|
+
["horizontalOverflow", "horzOverflow"],
|
|
1914
|
+
["vertical", "vert"],
|
|
1915
|
+
["wrap", "wrap"],
|
|
1916
|
+
["anchor", "anchor"]
|
|
1917
|
+
];
|
|
1918
|
+
var BODY_INTEGERS = [
|
|
1919
|
+
["insetLeftEmu", "lIns"],
|
|
1920
|
+
["insetTopEmu", "tIns"],
|
|
1921
|
+
["insetRightEmu", "rIns"],
|
|
1922
|
+
["insetBottomEmu", "bIns"],
|
|
1923
|
+
["columnCount", "numCol"],
|
|
1924
|
+
["columnSpacingEmu", "spcCol"]
|
|
1925
|
+
];
|
|
1926
|
+
var BODY_BOOLEANS = [
|
|
1927
|
+
["spaceFirstLastParagraph", "spcFirstLastPara"],
|
|
1928
|
+
["rightToLeftColumns", "rtlCol"],
|
|
1929
|
+
["fromWordArt", "fromWordArt"],
|
|
1930
|
+
["anchorCenter", "anchorCtr"],
|
|
1931
|
+
["forceAntiAlias", "forceAA"],
|
|
1932
|
+
["upright", "upright"],
|
|
1933
|
+
["compatibleLineSpacing", "compatLnSpc"]
|
|
1934
|
+
];
|
|
1935
|
+
function parseDrawingBodyProperties(element) {
|
|
1936
|
+
if (!element) return void 0;
|
|
1937
|
+
const out = {};
|
|
1938
|
+
const rotation = integerAttribute(element, "rot");
|
|
1939
|
+
if (rotation !== void 0) out.rotation = rotation / 6e4;
|
|
1940
|
+
for (const [key, name] of BODY_STRINGS) {
|
|
1941
|
+
const value = stringAttribute(element, name);
|
|
1942
|
+
if (value) out[key] = value;
|
|
1943
|
+
}
|
|
1944
|
+
for (const [key, name] of BODY_INTEGERS) {
|
|
1945
|
+
const value = integerAttribute(element, name);
|
|
1946
|
+
if (value !== void 0) out[key] = value;
|
|
1947
|
+
}
|
|
1948
|
+
for (const [key, name] of BODY_BOOLEANS) {
|
|
1949
|
+
const value = booleanAttribute(element, name);
|
|
1950
|
+
if (value !== void 0) out[key] = value;
|
|
1951
|
+
}
|
|
1952
|
+
const extra = [];
|
|
1953
|
+
for (const child of elements(element)) {
|
|
1954
|
+
const name = isDrawingElement(child) ? child.localName : "";
|
|
1955
|
+
if (name === "noAutofit") out.autofit = { kind: "none" };
|
|
1956
|
+
else if (name === "spAutoFit") out.autofit = { kind: "shape" };
|
|
1957
|
+
else if (name === "normAutofit") {
|
|
1958
|
+
const read = attributeReader(child);
|
|
1959
|
+
const fontScale = parseOoxmlPercent(read("fontScale") ?? "");
|
|
1960
|
+
const reduction = parseOoxmlPercent(read("lnSpcReduction") ?? "");
|
|
1961
|
+
out.autofit = {
|
|
1962
|
+
kind: "normal",
|
|
1963
|
+
...read("fontScale") !== void 0 && fontScale !== void 0 ? { fontScale } : {},
|
|
1964
|
+
...read("lnSpcReduction") !== void 0 && reduction !== void 0 ? { lineSpacingReduction: reduction } : {}
|
|
1965
|
+
};
|
|
1966
|
+
} else extra.push(outerXml(child));
|
|
1967
|
+
}
|
|
1968
|
+
if (extra.length) out.extraXml = extra;
|
|
1969
|
+
return out;
|
|
1970
|
+
}
|
|
1971
|
+
function parseDrawingListStyle(element) {
|
|
1972
|
+
if (!element) return void 0;
|
|
1973
|
+
const style = { levels: [] };
|
|
1974
|
+
const extra = [];
|
|
1975
|
+
for (const child of elements(element)) {
|
|
1976
|
+
const level = isDrawingElement(child) ? /^lvl([1-9])pPr$/u.exec(child.localName) : null;
|
|
1977
|
+
if (level) style.levels[Number(level[1]) - 1] = parseDrawingParagraphProperties(child);
|
|
1978
|
+
else if (isDrawingElement(child) && child.localName === "defPPr")
|
|
1979
|
+
style.default = parseDrawingParagraphProperties(child) ?? {};
|
|
1980
|
+
else extra.push(outerXml(child));
|
|
1981
|
+
}
|
|
1982
|
+
style.levels = Array.from(style.levels);
|
|
1983
|
+
if (extra.length) style.extraXml = extra;
|
|
1984
|
+
return style;
|
|
1985
|
+
}
|
|
1986
|
+
function textOf(element) {
|
|
1987
|
+
return first(element, "t", NS.a)?.textContent ?? "";
|
|
1988
|
+
}
|
|
1989
|
+
function readItem(child) {
|
|
1990
|
+
const name = isDrawingElement(child) ? child.localName : "";
|
|
1991
|
+
if (name === "pPr" || name === "endParaRPr") return void 0;
|
|
1992
|
+
if (name === "r") {
|
|
1993
|
+
const properties = parseDrawingRunProperties(first(child, "rPr", NS.a));
|
|
1994
|
+
return { kind: "run", text: textOf(child), ...properties ? { properties } : {} };
|
|
1995
|
+
}
|
|
1996
|
+
if (name === "br") {
|
|
1997
|
+
const properties = parseDrawingRunProperties(first(child, "rPr", NS.a));
|
|
1998
|
+
return { kind: "break", ...properties ? { properties } : {} };
|
|
1999
|
+
}
|
|
2000
|
+
if (name === "fld") {
|
|
2001
|
+
const properties = parseDrawingRunProperties(first(child, "rPr", NS.a));
|
|
2002
|
+
const paragraphProperties = parseDrawingParagraphProperties(first(child, "pPr", NS.a));
|
|
2003
|
+
const type = child.getAttribute("type");
|
|
2004
|
+
return {
|
|
2005
|
+
kind: "field",
|
|
2006
|
+
id: child.getAttribute("id") ?? "",
|
|
2007
|
+
...type ? { type } : {},
|
|
2008
|
+
text: textOf(child),
|
|
2009
|
+
...properties ? { properties } : {},
|
|
2010
|
+
...paragraphProperties ? { paragraphProperties } : {}
|
|
2011
|
+
};
|
|
2012
|
+
}
|
|
2013
|
+
return { kind: "unknown", xml: outerXml(child) };
|
|
2014
|
+
}
|
|
2015
|
+
function parseDrawingParagraph(element) {
|
|
2016
|
+
const items = [];
|
|
2017
|
+
for (const child of elements(element)) {
|
|
2018
|
+
const item = readItem(child);
|
|
2019
|
+
if (item) items.push(item);
|
|
2020
|
+
}
|
|
2021
|
+
const properties = parseDrawingParagraphProperties(first(element, "pPr", NS.a));
|
|
2022
|
+
const endProperties = parseDrawingRunProperties(first(element, "endParaRPr", NS.a));
|
|
2023
|
+
return {
|
|
2024
|
+
...properties ? { properties } : {},
|
|
2025
|
+
items,
|
|
2026
|
+
...endProperties ? { endProperties } : {}
|
|
2027
|
+
};
|
|
2028
|
+
}
|
|
2029
|
+
function parseDrawingRichTextBody(element) {
|
|
2030
|
+
if (!element) return void 0;
|
|
2031
|
+
const bodyProperties = parseDrawingBodyProperties(first(element, "bodyPr", NS.a));
|
|
2032
|
+
const listStyle = parseDrawingListStyle(first(element, "lstStyle", NS.a));
|
|
2033
|
+
return {
|
|
2034
|
+
...bodyProperties ? { bodyProperties } : {},
|
|
2035
|
+
...listStyle ? { listStyle } : {},
|
|
2036
|
+
paragraphs: children(element, "p", NS.a).map(parseDrawingParagraph)
|
|
2037
|
+
};
|
|
2038
|
+
}
|
|
2039
|
+
function drawingParagraphText(paragraph) {
|
|
2040
|
+
return paragraph.items.map(
|
|
2041
|
+
(item) => item.kind === "run" || item.kind === "field" ? item.text : item.kind === "break" ? "\n" : ""
|
|
2042
|
+
).join("");
|
|
2043
|
+
}
|
|
2044
|
+
|
|
2045
|
+
// drawingml/write-line.ts
|
|
2046
|
+
var FILLS = /* @__PURE__ */ new Set(["noFill", "solidFill", "gradFill", "pattFill"]);
|
|
2047
|
+
function dropDrawingDeclarations(element) {
|
|
2048
|
+
if (element.getAttribute("xmlns:a") === NS.a) element.removeAttribute("xmlns:a");
|
|
2049
|
+
for (const child of elements(element)) dropDrawingDeclarations(child);
|
|
2050
|
+
}
|
|
2051
|
+
function patchDrawingLine(ln, line) {
|
|
2052
|
+
if (line.widthEmu === void 0) ln.removeAttribute("w");
|
|
2053
|
+
else ln.setAttribute("w", String(Math.round(line.widthEmu)));
|
|
2054
|
+
if (line.cap === void 0) ln.removeAttribute("cap");
|
|
2055
|
+
else ln.setAttribute("cap", line.cap);
|
|
2056
|
+
const fill = line.fill && drawingFillXml(line.fill);
|
|
2057
|
+
if (fill || !line.fill) {
|
|
2058
|
+
for (const node of elements(ln))
|
|
2059
|
+
if (node.namespaceURI === NS.a && FILLS.has(node.localName)) ln.removeChild(node);
|
|
2060
|
+
}
|
|
2061
|
+
if (fill) {
|
|
2062
|
+
const parsed = parseXml(`<w xmlns:a="${NS.a}">${fill}</w>`).documentElement;
|
|
2063
|
+
for (const node of elements(parsed).reverse()) {
|
|
2064
|
+
const imported = ln.ownerDocument.importNode(node, true);
|
|
2065
|
+
dropDrawingDeclarations(imported);
|
|
2066
|
+
ln.insertBefore(imported, ln.firstChild);
|
|
2067
|
+
}
|
|
2068
|
+
}
|
|
2069
|
+
const dashes = elements(ln).filter(
|
|
2070
|
+
(node) => node.namespaceURI === NS.a && (node.localName === "prstDash" || node.localName === "custDash")
|
|
2071
|
+
);
|
|
2072
|
+
if (line.dash === void 0) {
|
|
2073
|
+
for (const node of dashes) if (node.localName === "prstDash") ln.removeChild(node);
|
|
2074
|
+
return;
|
|
2075
|
+
}
|
|
2076
|
+
const dash = ln.ownerDocument.createElementNS(NS.a, "a:prstDash");
|
|
2077
|
+
dash.setAttribute("val", line.dash);
|
|
2078
|
+
for (const node of dashes) ln.removeChild(node);
|
|
2079
|
+
const afterFill = elements(ln).find(
|
|
2080
|
+
(node) => node.namespaceURI !== NS.a || !FILLS.has(node.localName)
|
|
2081
|
+
);
|
|
2082
|
+
ln.insertBefore(dash, afterFill ?? null);
|
|
2083
|
+
}
|
|
2084
|
+
|
|
2085
|
+
// drawingml/write-text-xml.ts
|
|
2086
|
+
function drawingElement(doc, local) {
|
|
2087
|
+
return doc.createElementNS(NS.a, `a:${local}`);
|
|
2088
|
+
}
|
|
2089
|
+
function dropRedundantDeclarations(element) {
|
|
2090
|
+
if (element.getAttribute("xmlns:a") === NS.a) element.removeAttribute("xmlns:a");
|
|
2091
|
+
if (element.getAttribute("xmlns:r") === NS.r) element.removeAttribute("xmlns:r");
|
|
2092
|
+
for (const child of elements(element)) dropRedundantDeclarations(child);
|
|
2093
|
+
}
|
|
2094
|
+
function importDrawingXml(doc, xml) {
|
|
2095
|
+
const wrapper = parseXml(`<w xmlns:a="${NS.a}" xmlns:r="${NS.r}">${xml}</w>`).documentElement;
|
|
2096
|
+
const node = elements(wrapper)[0];
|
|
2097
|
+
if (!node) throw new Error("Empty DrawingML fragment");
|
|
2098
|
+
const imported = doc.importNode(node, true);
|
|
2099
|
+
dropRedundantDeclarations(imported);
|
|
2100
|
+
return imported;
|
|
2101
|
+
}
|
|
2102
|
+
function keptChildName(xml) {
|
|
2103
|
+
const match = /^\s*<(?:[\w.-]+:)?([\w.-]+)/u.exec(xml);
|
|
2104
|
+
return match?.[1] ?? "";
|
|
2105
|
+
}
|
|
2106
|
+
function keptChildren(doc, xml) {
|
|
2107
|
+
return (xml ?? []).map((value) => ({
|
|
2108
|
+
name: keptChildName(value),
|
|
2109
|
+
node: importDrawingXml(doc, value)
|
|
2110
|
+
}));
|
|
2111
|
+
}
|
|
2112
|
+
function appendInSchemaOrder(parent, order, entries) {
|
|
2113
|
+
const rank = (name) => {
|
|
2114
|
+
const index = order.indexOf(name);
|
|
2115
|
+
return index < 0 ? order.length : index;
|
|
2116
|
+
};
|
|
2117
|
+
entries.map((entry, index) => ({ entry, index })).sort((a, b) => rank(a.entry.name) - rank(b.entry.name) || a.index - b.index).forEach(({ entry }) => parent.appendChild(entry.node));
|
|
2118
|
+
}
|
|
2119
|
+
function setBoolean(element, name, value) {
|
|
2120
|
+
if (value !== void 0) element.setAttribute(name, value ? "1" : "0");
|
|
2121
|
+
}
|
|
2122
|
+
function setValue(element, name, value) {
|
|
2123
|
+
if (value !== void 0) element.setAttribute(name, String(value));
|
|
2124
|
+
}
|
|
2125
|
+
function setScaled(element, name, value, scale) {
|
|
2126
|
+
if (value !== void 0 && Number.isFinite(value))
|
|
2127
|
+
element.setAttribute(name, String(Math.round(value * scale)));
|
|
2128
|
+
}
|
|
2129
|
+
|
|
2130
|
+
// drawingml/write-run-properties.ts
|
|
2131
|
+
var RUN_PROPERTIES_ORDER = [
|
|
2132
|
+
"ln",
|
|
2133
|
+
"noFill",
|
|
2134
|
+
"solidFill",
|
|
2135
|
+
"gradFill",
|
|
2136
|
+
"blipFill",
|
|
2137
|
+
"pattFill",
|
|
2138
|
+
"grpFill",
|
|
2139
|
+
"effectLst",
|
|
2140
|
+
"effectDag",
|
|
2141
|
+
"highlight",
|
|
2142
|
+
"uLnTx",
|
|
2143
|
+
"uLn",
|
|
2144
|
+
"uFillTx",
|
|
2145
|
+
"uFill",
|
|
2146
|
+
"latin",
|
|
2147
|
+
"ea",
|
|
2148
|
+
"cs",
|
|
2149
|
+
"sym",
|
|
2150
|
+
"hlinkClick",
|
|
2151
|
+
"hlinkMouseOver",
|
|
2152
|
+
"rtl",
|
|
2153
|
+
"extLst"
|
|
2154
|
+
];
|
|
2155
|
+
var FILL_NAMES = /* @__PURE__ */ new Set(["noFill", "solidFill", "gradFill", "blipFill", "pattFill", "grpFill"]);
|
|
2156
|
+
function writeDrawingFont(doc, local, font) {
|
|
2157
|
+
const element = drawingElement(doc, local);
|
|
2158
|
+
element.setAttribute("typeface", font.typeface);
|
|
2159
|
+
setValue(element, "panose", font.panose);
|
|
2160
|
+
setValue(element, "pitchFamily", font.pitchFamily);
|
|
2161
|
+
setValue(element, "charset", font.charset);
|
|
2162
|
+
return element;
|
|
2163
|
+
}
|
|
2164
|
+
function writeHyperlink(doc, local, link) {
|
|
2165
|
+
const element = drawingElement(doc, local);
|
|
2166
|
+
if (link.relId !== void 0) element.setAttributeNS(NS.r, "r:id", link.relId);
|
|
2167
|
+
setValue(element, "invalidUrl", link.invalidUrl);
|
|
2168
|
+
setValue(element, "action", link.action);
|
|
2169
|
+
setValue(element, "tgtFrame", link.targetFrame);
|
|
2170
|
+
setValue(element, "tooltip", link.tooltip);
|
|
2171
|
+
setBoolean(element, "history", link.history);
|
|
2172
|
+
setBoolean(element, "highlightClick", link.highlightClick);
|
|
2173
|
+
setBoolean(element, "endSnd", link.endSound);
|
|
2174
|
+
for (const xml of link.extraXml ?? []) element.appendChild(importDrawingXml(doc, xml));
|
|
2175
|
+
return element;
|
|
2176
|
+
}
|
|
2177
|
+
function setAttributes(element, value) {
|
|
2178
|
+
setBoolean(element, "kumimoji", value.kumimoji);
|
|
2179
|
+
setValue(element, "lang", value.language);
|
|
2180
|
+
setValue(element, "altLang", value.altLanguage);
|
|
2181
|
+
setScaled(element, "sz", value.sizePt, 100);
|
|
2182
|
+
setBoolean(element, "b", value.bold);
|
|
2183
|
+
setBoolean(element, "i", value.italic);
|
|
2184
|
+
setValue(element, "u", value.underline);
|
|
2185
|
+
setValue(element, "strike", value.strike);
|
|
2186
|
+
setScaled(element, "kern", value.kernPt, 100);
|
|
2187
|
+
setValue(element, "cap", value.caps);
|
|
2188
|
+
setScaled(element, "spc", value.spacingPt, 100);
|
|
2189
|
+
setBoolean(element, "normalizeH", value.normalizeHeight);
|
|
2190
|
+
setScaled(element, "baseline", value.baseline, 1e5);
|
|
2191
|
+
setBoolean(element, "noProof", value.noProof);
|
|
2192
|
+
setBoolean(element, "dirty", value.dirty);
|
|
2193
|
+
setBoolean(element, "err", value.spellingError);
|
|
2194
|
+
setBoolean(element, "smtClean", value.smartTagClean);
|
|
2195
|
+
setValue(element, "smtId", value.smartTagId);
|
|
2196
|
+
setValue(element, "bmk", value.bookmark);
|
|
2197
|
+
}
|
|
2198
|
+
function fillChild(doc, fill) {
|
|
2199
|
+
const xml = fill ? drawingFillXml(fill) : void 0;
|
|
2200
|
+
if (!xml) return void 0;
|
|
2201
|
+
const node = importDrawingXml(doc, xml);
|
|
2202
|
+
return { name: node.localName, node };
|
|
2203
|
+
}
|
|
2204
|
+
function modelledChildren(doc, value) {
|
|
2205
|
+
const out = [];
|
|
2206
|
+
const add = (name, node) => out.push({ name, node });
|
|
2207
|
+
if (value.line || value.lineSourceXml) {
|
|
2208
|
+
const ln = value.lineSourceXml ? importDrawingXml(doc, value.lineSourceXml) : drawingElement(doc, "ln");
|
|
2209
|
+
if (value.line) patchDrawingLine(ln, value.line);
|
|
2210
|
+
add("ln", ln);
|
|
2211
|
+
}
|
|
2212
|
+
const fill = fillChild(doc, value.fill);
|
|
2213
|
+
if (fill) out.push(fill);
|
|
2214
|
+
if (value.highlight) {
|
|
2215
|
+
const highlight = drawingElement(doc, "highlight");
|
|
2216
|
+
highlight.appendChild(importDrawingXml(doc, drawingColorXml(value.highlight)));
|
|
2217
|
+
add("highlight", highlight);
|
|
2218
|
+
}
|
|
2219
|
+
if (value.underlineLineFollowsText) add("uLnTx", drawingElement(doc, "uLnTx"));
|
|
2220
|
+
else if (value.underlineLineXml) add("uLn", importDrawingXml(doc, value.underlineLineXml));
|
|
2221
|
+
if (value.underlineFillFollowsText) add("uFillTx", drawingElement(doc, "uFillTx"));
|
|
2222
|
+
else {
|
|
2223
|
+
const underline = fillChild(doc, value.underlineFill);
|
|
2224
|
+
if (underline) {
|
|
2225
|
+
const uFill = drawingElement(doc, "uFill");
|
|
2226
|
+
uFill.appendChild(underline.node);
|
|
2227
|
+
add("uFill", uFill);
|
|
2228
|
+
}
|
|
2229
|
+
}
|
|
2230
|
+
for (const [local, key] of [
|
|
2231
|
+
["latin", "latin"],
|
|
2232
|
+
["ea", "eastAsian"],
|
|
2233
|
+
["cs", "complexScript"],
|
|
2234
|
+
["sym", "symbol"]
|
|
2235
|
+
]) {
|
|
2236
|
+
const font = value[key];
|
|
2237
|
+
if (font) add(local, writeDrawingFont(doc, local, font));
|
|
2238
|
+
}
|
|
2239
|
+
if (value.hyperlinkClick)
|
|
2240
|
+
add("hlinkClick", writeHyperlink(doc, "hlinkClick", value.hyperlinkClick));
|
|
2241
|
+
if (value.hyperlinkMouseOver)
|
|
2242
|
+
add("hlinkMouseOver", writeHyperlink(doc, "hlinkMouseOver", value.hyperlinkMouseOver));
|
|
2243
|
+
if (value.rightToLeft !== void 0) {
|
|
2244
|
+
const rtl = drawingElement(doc, "rtl");
|
|
2245
|
+
if (!value.rightToLeft) rtl.setAttribute("val", "0");
|
|
2246
|
+
add("rtl", rtl);
|
|
2247
|
+
}
|
|
2248
|
+
return out;
|
|
2249
|
+
}
|
|
2250
|
+
function writeDrawingRunProperties(doc, value, local = "rPr") {
|
|
2251
|
+
const element = drawingElement(doc, local);
|
|
2252
|
+
setAttributes(element, value);
|
|
2253
|
+
const modelled = modelledChildren(doc, value);
|
|
2254
|
+
const hasFill = modelled.some((child) => FILL_NAMES.has(child.name));
|
|
2255
|
+
const kept = keptChildren(doc, value.extraXml).filter(
|
|
2256
|
+
(child) => !(hasFill && FILL_NAMES.has(child.name))
|
|
2257
|
+
);
|
|
2258
|
+
appendInSchemaOrder(element, RUN_PROPERTIES_ORDER, [...modelled, ...kept]);
|
|
2259
|
+
return element;
|
|
2260
|
+
}
|
|
2261
|
+
function drawingRunPropertiesXml(value, local = "rPr") {
|
|
2262
|
+
const doc = parseXml(`<a:w xmlns:a="${NS.a}" xmlns:r="${NS.r}"/>`);
|
|
2263
|
+
return buildXml(writeDrawingRunProperties(doc, value, local));
|
|
2264
|
+
}
|
|
2265
|
+
|
|
2266
|
+
// drawingml/write-paragraph-properties.ts
|
|
2267
|
+
var PARAGRAPH_PROPERTIES_ORDER = [
|
|
2268
|
+
"lnSpc",
|
|
2269
|
+
"spcBef",
|
|
2270
|
+
"spcAft",
|
|
2271
|
+
"buClrTx",
|
|
2272
|
+
"buClr",
|
|
2273
|
+
"buSzTx",
|
|
2274
|
+
"buSzPct",
|
|
2275
|
+
"buSzPts",
|
|
2276
|
+
"buFontTx",
|
|
2277
|
+
"buFont",
|
|
2278
|
+
"buNone",
|
|
2279
|
+
"buAutoNum",
|
|
2280
|
+
"buChar",
|
|
2281
|
+
"buBlip",
|
|
2282
|
+
"tabLst",
|
|
2283
|
+
"defRPr",
|
|
2284
|
+
"extLst"
|
|
2285
|
+
];
|
|
2286
|
+
function writeDrawingTextSpacing(doc, local, spacing) {
|
|
2287
|
+
const element = drawingElement(doc, local);
|
|
2288
|
+
const inner = drawingElement(doc, spacing.unit === "points" ? "spcPts" : "spcPct");
|
|
2289
|
+
setScaled(inner, "val", spacing.value, spacing.unit === "points" ? 100 : 1e5);
|
|
2290
|
+
element.appendChild(inner);
|
|
2291
|
+
return element;
|
|
2292
|
+
}
|
|
2293
|
+
function setAttributes2(element, value) {
|
|
2294
|
+
setValue(element, "marL", value.marginLeftEmu);
|
|
2295
|
+
setValue(element, "marR", value.marginRightEmu);
|
|
2296
|
+
setValue(element, "lvl", value.level);
|
|
2297
|
+
setValue(element, "indent", value.indentEmu);
|
|
2298
|
+
setValue(element, "algn", value.align);
|
|
2299
|
+
setValue(element, "defTabSz", value.defaultTabSizeEmu);
|
|
2300
|
+
setBoolean(element, "rtl", value.rightToLeft);
|
|
2301
|
+
setBoolean(element, "eaLnBrk", value.eastAsianLineBreak);
|
|
2302
|
+
setValue(element, "fontAlgn", value.fontAlign);
|
|
2303
|
+
setBoolean(element, "latinLnBrk", value.latinLineBreak);
|
|
2304
|
+
setBoolean(element, "hangingPunct", value.hangingPunctuation);
|
|
2305
|
+
}
|
|
2306
|
+
function bulletChildren(doc, value) {
|
|
2307
|
+
const out = [];
|
|
2308
|
+
const add = (name, node) => out.push({ name, node });
|
|
2309
|
+
if (value.bulletColor === "text") add("buClrTx", drawingElement(doc, "buClrTx"));
|
|
2310
|
+
else if (value.bulletColor) {
|
|
2311
|
+
const color = drawingElement(doc, "buClr");
|
|
2312
|
+
color.appendChild(importDrawingXml(doc, drawingColorXml(value.bulletColor)));
|
|
2313
|
+
add("buClr", color);
|
|
2314
|
+
}
|
|
2315
|
+
const size = value.bulletSize;
|
|
2316
|
+
if (size === "text") add("buSzTx", drawingElement(doc, "buSzTx"));
|
|
2317
|
+
else if (size) {
|
|
2318
|
+
const local = size.unit === "percent" ? "buSzPct" : "buSzPts";
|
|
2319
|
+
const element = drawingElement(doc, local);
|
|
2320
|
+
setScaled(element, "val", size.value, size.unit === "percent" ? 1e5 : 100);
|
|
2321
|
+
add(local, element);
|
|
2322
|
+
}
|
|
2323
|
+
if (value.bulletFont === "text") add("buFontTx", drawingElement(doc, "buFontTx"));
|
|
2324
|
+
else if (value.bulletFont) add("buFont", writeDrawingFont(doc, "buFont", value.bulletFont));
|
|
2325
|
+
const bullet = value.bullet;
|
|
2326
|
+
if (bullet?.kind === "none") add("buNone", drawingElement(doc, "buNone"));
|
|
2327
|
+
else if (bullet?.kind === "char") {
|
|
2328
|
+
const element = drawingElement(doc, "buChar");
|
|
2329
|
+
element.setAttribute("char", bullet.char);
|
|
2330
|
+
add("buChar", element);
|
|
2331
|
+
} else if (bullet?.kind === "autoNumber") {
|
|
2332
|
+
const element = drawingElement(doc, "buAutoNum");
|
|
2333
|
+
element.setAttribute("type", bullet.scheme);
|
|
2334
|
+
setValue(element, "startAt", bullet.startAt);
|
|
2335
|
+
add("buAutoNum", element);
|
|
2336
|
+
} else if (bullet?.kind === "picture") add("buBlip", importDrawingXml(doc, bullet.xml));
|
|
2337
|
+
return out;
|
|
2338
|
+
}
|
|
2339
|
+
function writeDrawingParagraphProperties(doc, value, local = "pPr") {
|
|
2340
|
+
const element = drawingElement(doc, local);
|
|
2341
|
+
setAttributes2(element, value);
|
|
2342
|
+
const children2 = [];
|
|
2343
|
+
for (const [key, name] of [
|
|
2344
|
+
["lineSpacing", "lnSpc"],
|
|
2345
|
+
["spaceBefore", "spcBef"],
|
|
2346
|
+
["spaceAfter", "spcAft"]
|
|
2347
|
+
]) {
|
|
2348
|
+
const spacing = value[key];
|
|
2349
|
+
if (spacing) children2.push({ name, node: writeDrawingTextSpacing(doc, name, spacing) });
|
|
2350
|
+
}
|
|
2351
|
+
children2.push(...bulletChildren(doc, value));
|
|
2352
|
+
if (value.tabStops) {
|
|
2353
|
+
const list = drawingElement(doc, "tabLst");
|
|
2354
|
+
for (const stop of value.tabStops) {
|
|
2355
|
+
const tab = drawingElement(doc, "tab");
|
|
2356
|
+
setValue(tab, "pos", stop.positionEmu);
|
|
2357
|
+
setValue(tab, "algn", stop.align);
|
|
2358
|
+
list.appendChild(tab);
|
|
2359
|
+
}
|
|
2360
|
+
children2.push({ name: "tabLst", node: list });
|
|
2361
|
+
}
|
|
2362
|
+
if (value.defaultRunProperties)
|
|
2363
|
+
children2.push({
|
|
2364
|
+
name: "defRPr",
|
|
2365
|
+
node: writeDrawingRunProperties(doc, value.defaultRunProperties, "defRPr")
|
|
2366
|
+
});
|
|
2367
|
+
appendInSchemaOrder(element, PARAGRAPH_PROPERTIES_ORDER, [
|
|
2368
|
+
...children2,
|
|
2369
|
+
...keptChildren(doc, value.extraXml)
|
|
2370
|
+
]);
|
|
2371
|
+
return element;
|
|
2372
|
+
}
|
|
2373
|
+
function drawingParagraphPropertiesXml(value, local = "pPr") {
|
|
2374
|
+
const doc = parseXml(`<a:w xmlns:a="${NS.a}" xmlns:r="${NS.r}"/>`);
|
|
2375
|
+
return buildXml(writeDrawingParagraphProperties(doc, value, local));
|
|
2376
|
+
}
|
|
2377
|
+
|
|
2378
|
+
// drawingml/write-text-body.ts
|
|
2379
|
+
var BODY_PROPERTIES_ORDER = [
|
|
2380
|
+
"prstTxWarp",
|
|
2381
|
+
"noAutofit",
|
|
2382
|
+
"normAutofit",
|
|
2383
|
+
"spAutoFit",
|
|
2384
|
+
"scene3d",
|
|
2385
|
+
"sp3d",
|
|
2386
|
+
"flatTx",
|
|
2387
|
+
"extLst"
|
|
2388
|
+
];
|
|
2389
|
+
function writeDrawingBodyProperties(doc, value) {
|
|
2390
|
+
const element = drawingElement(doc, "bodyPr");
|
|
2391
|
+
setScaled(element, "rot", value.rotation, 6e4);
|
|
2392
|
+
setBoolean(element, "spcFirstLastPara", value.spaceFirstLastParagraph);
|
|
2393
|
+
setValue(element, "vertOverflow", value.verticalOverflow);
|
|
2394
|
+
setValue(element, "horzOverflow", value.horizontalOverflow);
|
|
2395
|
+
setValue(element, "vert", value.vertical);
|
|
2396
|
+
setValue(element, "wrap", value.wrap);
|
|
2397
|
+
setValue(element, "lIns", value.insetLeftEmu);
|
|
2398
|
+
setValue(element, "tIns", value.insetTopEmu);
|
|
2399
|
+
setValue(element, "rIns", value.insetRightEmu);
|
|
2400
|
+
setValue(element, "bIns", value.insetBottomEmu);
|
|
2401
|
+
setValue(element, "numCol", value.columnCount);
|
|
2402
|
+
setValue(element, "spcCol", value.columnSpacingEmu);
|
|
2403
|
+
setBoolean(element, "rtlCol", value.rightToLeftColumns);
|
|
2404
|
+
setBoolean(element, "fromWordArt", value.fromWordArt);
|
|
2405
|
+
setValue(element, "anchor", value.anchor);
|
|
2406
|
+
setBoolean(element, "anchorCtr", value.anchorCenter);
|
|
2407
|
+
setBoolean(element, "forceAA", value.forceAntiAlias);
|
|
2408
|
+
setBoolean(element, "upright", value.upright);
|
|
2409
|
+
setBoolean(element, "compatLnSpc", value.compatibleLineSpacing);
|
|
2410
|
+
const children2 = [];
|
|
2411
|
+
const autofit = value.autofit;
|
|
2412
|
+
if (autofit) {
|
|
2413
|
+
const local = autofit.kind === "none" ? "noAutofit" : autofit.kind === "shape" ? "spAutoFit" : "normAutofit";
|
|
2414
|
+
const node = drawingElement(doc, local);
|
|
2415
|
+
if (autofit.kind === "normal") {
|
|
2416
|
+
setScaled(node, "fontScale", autofit.fontScale, 1e5);
|
|
2417
|
+
setScaled(node, "lnSpcReduction", autofit.lineSpacingReduction, 1e5);
|
|
2418
|
+
}
|
|
2419
|
+
children2.push({ name: local, node });
|
|
2420
|
+
}
|
|
2421
|
+
appendInSchemaOrder(element, BODY_PROPERTIES_ORDER, [
|
|
2422
|
+
...children2,
|
|
2423
|
+
...keptChildren(doc, value.extraXml)
|
|
2424
|
+
]);
|
|
2425
|
+
return element;
|
|
2426
|
+
}
|
|
2427
|
+
function writeDrawingListStyle(doc, value) {
|
|
2428
|
+
const element = drawingElement(doc, "lstStyle");
|
|
2429
|
+
if (value.default)
|
|
2430
|
+
element.appendChild(writeDrawingParagraphProperties(doc, value.default, "defPPr"));
|
|
2431
|
+
value.levels.forEach((level, index) => {
|
|
2432
|
+
if (level)
|
|
2433
|
+
element.appendChild(writeDrawingParagraphProperties(doc, level, `lvl${index + 1}pPr`));
|
|
2434
|
+
});
|
|
2435
|
+
for (const kept of keptChildren(doc, value.extraXml)) element.appendChild(kept.node);
|
|
2436
|
+
return element;
|
|
2437
|
+
}
|
|
2438
|
+
function withText(doc, element, text) {
|
|
2439
|
+
const t = drawingElement(doc, "t");
|
|
2440
|
+
t.appendChild(doc.createTextNode(text));
|
|
2441
|
+
element.appendChild(t);
|
|
2442
|
+
return element;
|
|
2443
|
+
}
|
|
2444
|
+
function writeItem(doc, item) {
|
|
2445
|
+
if (item.kind === "unknown") return importDrawingXml(doc, item.xml);
|
|
2446
|
+
const element = drawingElement(
|
|
2447
|
+
doc,
|
|
2448
|
+
item.kind === "run" ? "r" : item.kind === "break" ? "br" : "fld"
|
|
2449
|
+
);
|
|
2450
|
+
if (item.kind === "field") {
|
|
2451
|
+
element.setAttribute("id", item.id);
|
|
2452
|
+
setValue(element, "type", item.type);
|
|
2453
|
+
}
|
|
2454
|
+
if (item.properties) element.appendChild(writeDrawingRunProperties(doc, item.properties));
|
|
2455
|
+
if (item.kind === "field" && item.paragraphProperties)
|
|
2456
|
+
element.appendChild(writeDrawingParagraphProperties(doc, item.paragraphProperties));
|
|
2457
|
+
return item.kind === "break" ? element : withText(doc, element, item.text);
|
|
2458
|
+
}
|
|
2459
|
+
function writeDrawingParagraph(doc, paragraph) {
|
|
2460
|
+
const element = drawingElement(doc, "p");
|
|
2461
|
+
if (paragraph.properties)
|
|
2462
|
+
element.appendChild(writeDrawingParagraphProperties(doc, paragraph.properties));
|
|
2463
|
+
for (const item of paragraph.items) element.appendChild(writeItem(doc, item));
|
|
2464
|
+
if (paragraph.endProperties)
|
|
2465
|
+
element.appendChild(writeDrawingRunProperties(doc, paragraph.endProperties, "endParaRPr"));
|
|
2466
|
+
return element;
|
|
2467
|
+
}
|
|
2468
|
+
function writeDrawingRichTextBody(container, body) {
|
|
2469
|
+
const doc = container.ownerDocument;
|
|
2470
|
+
if (body.bodyProperties)
|
|
2471
|
+
container.appendChild(writeDrawingBodyProperties(doc, body.bodyProperties));
|
|
2472
|
+
if (body.listStyle) container.appendChild(writeDrawingListStyle(doc, body.listStyle));
|
|
2473
|
+
const paragraphs = body.paragraphs.length ? body.paragraphs : [{ items: [] }];
|
|
2474
|
+
for (const paragraph of paragraphs) container.appendChild(writeDrawingParagraph(doc, paragraph));
|
|
2475
|
+
}
|
|
2476
|
+
function drawingRichTextBodyXml(body, qualifiedName = "a:txBody", namespace = NS.a) {
|
|
2477
|
+
const prefix = qualifiedName.includes(":") ? qualifiedName.split(":")[0] : void 0;
|
|
2478
|
+
const declaration = prefix && prefix !== "a" ? ` xmlns:${prefix}="${namespace}"` : "";
|
|
2479
|
+
const doc = parseXml(`<${qualifiedName}${declaration} xmlns:a="${NS.a}" xmlns:r="${NS.r}"/>`);
|
|
2480
|
+
writeDrawingRichTextBody(doc.documentElement, body);
|
|
2481
|
+
return buildXml(doc);
|
|
2482
|
+
}
|
|
2483
|
+
|
|
2484
|
+
export { BODY_PROPERTIES_ORDER, DEFAULT_THEME_COLOR_MAP, OFFICE_GRADIENT_PRESETS, PARAGRAPH_PROPERTIES_ORDER, RECT_GRADIENT_DIRECTIONS, RUN_PROPERTIES_ORDER, THEME_COLOR_SLOTS, attributeReader, booleanAttribute, buildRectPathGradientImage, buildRectPathGradientSvg, descendants, drawingColorBrightness, drawingColorCss, drawingColorXml, drawingFillXml, drawingParagraphPropertiesXml, drawingParagraphText, drawingRichTextBodyXml, drawingRunPropertiesXml, drawingThemeXml, fillElementOf, integerAttribute, isThemeColorSlot, officeGradientPresetFill, officeGradientPresetId, orderedColorTransforms, parseDrawingBodyProperties, parseDrawingColor, parseDrawingColorIn, parseDrawingColorList, parseDrawingFill, parseDrawingFont, parseDrawingGeometry, parseDrawingHyperlink, parseDrawingLine, parseDrawingListStyle, parseDrawingParagraph, parseDrawingParagraphProperties, parseDrawingRichTextBody, parseDrawingRunProperties, parseDrawingTextBody, parseDrawingTextSpacing, parseFrame, parseTheme, parseThemeColorMap, parseThemeColorScheme, parseThemeFontScheme, parseThemeXml, parseTransform, rectGradientDirection, rectGradientFocus, resolveDrawingColor, resolveDrawingShadow, resolveDrawingShadowXml, resolveSchemeColor, setDrawingFillXml, stringAttribute, svgDropShadowElement, themeColorSlotFor, themeDrawingColorTheme, themeSlotHex, withDrawingColorBrightness, withDrawingGradientGeometry, writeDrawingBodyProperties, writeDrawingFont, writeDrawingListStyle, writeDrawingParagraph, writeDrawingParagraphProperties, writeDrawingRichTextBody, writeDrawingRunProperties, writeDrawingTextSpacing };
|