documents.js 1.57.0 → 1.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -0
- package/dist/blr-types-CYYC3yYU.d.cts +35 -0
- package/dist/blr-types-CYYC3yYU.d.ts +35 -0
- package/dist/cell-CNHPsDEk.d.cts +17 -0
- package/dist/cell-CNHPsDEk.d.ts +17 -0
- package/dist/color-71eoF1Up.d.cts +2 -0
- package/dist/color-Bo228AY2.d.ts +2 -0
- package/dist/convert/codec.cjs +51 -0
- package/dist/convert/codec.d.cts +13 -0
- package/dist/convert/codec.d.ts +13 -0
- package/dist/convert/codec.js +42 -0
- package/dist/convert/convert.cjs +443 -0
- package/dist/convert/convert.d.cts +55 -0
- package/dist/convert/convert.d.ts +55 -0
- package/dist/convert/convert.js +419 -0
- package/dist/convert/local.cjs +393 -0
- package/dist/convert/local.d.cts +5 -0
- package/dist/convert/local.d.ts +5 -0
- package/dist/convert/local.js +392 -0
- package/dist/convert/port.cjs +0 -0
- package/dist/convert/port.d.cts +34 -0
- package/dist/convert/port.d.ts +34 -0
- package/dist/convert/port.js +0 -0
- package/dist/edit/docx/content.cjs +71 -0
- package/dist/edit/docx/content.d.cts +6 -0
- package/dist/edit/docx/content.d.ts +6 -0
- package/dist/edit/docx/content.js +70 -0
- package/dist/edit/docx/editor.cjs +116 -0
- package/dist/edit/docx/editor.d.cts +23 -0
- package/dist/edit/docx/editor.d.ts +23 -0
- package/dist/edit/docx/editor.js +113 -0
- package/dist/edit/docx/image.cjs +74 -0
- package/dist/edit/docx/image.d.cts +2 -0
- package/dist/edit/docx/image.d.ts +2 -0
- package/dist/edit/docx/image.js +72 -0
- package/dist/edit/docx/paragraph.cjs +132 -0
- package/dist/edit/docx/paragraph.d.cts +40 -0
- package/dist/edit/docx/paragraph.d.ts +40 -0
- package/dist/edit/docx/paragraph.js +130 -0
- package/dist/edit/docx/props.cjs +132 -0
- package/dist/edit/docx/props.d.cts +20 -0
- package/dist/edit/docx/props.d.ts +20 -0
- package/dist/edit/docx/props.js +117 -0
- package/dist/edit/docx/run.cjs +143 -0
- package/dist/edit/docx/run.d.cts +2 -0
- package/dist/edit/docx/run.d.ts +2 -0
- package/dist/edit/docx/run.js +141 -0
- package/dist/edit/docx/scaffold.cjs +97 -0
- package/dist/edit/docx/scaffold.d.cts +5 -0
- package/dist/edit/docx/scaffold.d.ts +5 -0
- package/dist/edit/docx/scaffold.js +96 -0
- package/dist/edit/docx/table.cjs +99 -0
- package/dist/edit/docx/table.d.cts +34 -0
- package/dist/edit/docx/table.d.ts +34 -0
- package/dist/edit/docx/table.js +95 -0
- package/dist/edit/odg/content.cjs +65 -0
- package/dist/edit/odg/content.d.cts +6 -0
- package/dist/edit/odg/content.d.ts +6 -0
- package/dist/edit/odg/content.js +64 -0
- package/dist/edit/odg/editor.cjs +96 -0
- package/dist/edit/odg/editor.d.cts +19 -0
- package/dist/edit/odg/editor.d.ts +19 -0
- package/dist/edit/odg/editor.js +93 -0
- package/dist/edit/odg/page.cjs +70 -0
- package/dist/edit/odg/page.d.cts +34 -0
- package/dist/edit/odg/page.d.ts +34 -0
- package/dist/edit/odg/page.js +69 -0
- package/dist/edit/odg/scaffold.cjs +106 -0
- package/dist/edit/odg/scaffold.d.cts +7 -0
- package/dist/edit/odg/scaffold.d.ts +7 -0
- package/dist/edit/odg/scaffold.js +103 -0
- package/dist/edit/odg/style.cjs +83 -0
- package/dist/edit/odg/style.d.cts +14 -0
- package/dist/edit/odg/style.d.ts +14 -0
- package/dist/edit/odg/style.js +78 -0
- package/dist/edit/odg/svg-path.cjs +30 -0
- package/dist/edit/odg/svg-path.d.cts +7 -0
- package/dist/edit/odg/svg-path.d.ts +7 -0
- package/dist/edit/odg/svg-path.js +27 -0
- package/dist/edit/odg/vector.cjs +208 -0
- package/dist/edit/odg/vector.d.cts +2 -0
- package/dist/edit/odg/vector.d.ts +2 -0
- package/dist/edit/odg/vector.js +201 -0
- package/dist/edit/odp/content.cjs +42 -0
- package/dist/edit/odp/content.d.cts +6 -0
- package/dist/edit/odp/content.d.ts +6 -0
- package/dist/edit/odp/content.js +41 -0
- package/dist/edit/odp/editor.cjs +113 -0
- package/dist/edit/odp/editor.d.cts +20 -0
- package/dist/edit/odp/editor.d.ts +20 -0
- package/dist/edit/odp/editor.js +110 -0
- package/dist/edit/odp/image.cjs +10 -0
- package/dist/edit/odp/image.d.cts +2 -0
- package/dist/edit/odp/image.d.ts +2 -0
- package/dist/edit/odp/image.js +9 -0
- package/dist/edit/odp/scaffold.cjs +108 -0
- package/dist/edit/odp/scaffold.d.cts +7 -0
- package/dist/edit/odp/scaffold.d.ts +7 -0
- package/dist/edit/odp/scaffold.js +105 -0
- package/dist/edit/odp/shape.cjs +133 -0
- package/dist/edit/odp/shape.d.cts +2 -0
- package/dist/edit/odp/shape.d.ts +2 -0
- package/dist/edit/odp/shape.js +130 -0
- package/dist/edit/odp/slide.cjs +80 -0
- package/dist/edit/odp/slide.d.cts +31 -0
- package/dist/edit/odp/slide.d.ts +31 -0
- package/dist/edit/odp/slide.js +79 -0
- package/dist/edit/ods/address.cjs +108 -0
- package/dist/edit/ods/address.d.cts +15 -0
- package/dist/edit/ods/address.d.ts +15 -0
- package/dist/edit/ods/address.js +97 -0
- package/dist/edit/ods/cell.cjs +177 -0
- package/dist/edit/ods/cell.d.cts +2 -0
- package/dist/edit/ods/cell.d.ts +2 -0
- package/dist/edit/ods/cell.js +176 -0
- package/dist/edit/ods/content.cjs +26 -0
- package/dist/edit/ods/content.d.cts +6 -0
- package/dist/edit/ods/content.d.ts +6 -0
- package/dist/edit/ods/content.js +25 -0
- package/dist/edit/ods/editor.cjs +84 -0
- package/dist/edit/ods/editor.d.cts +17 -0
- package/dist/edit/ods/editor.d.ts +17 -0
- package/dist/edit/ods/editor.js +81 -0
- package/dist/edit/ods/print-settings.cjs +90 -0
- package/dist/edit/ods/print-settings.d.cts +7 -0
- package/dist/edit/ods/print-settings.d.ts +7 -0
- package/dist/edit/ods/print-settings.js +88 -0
- package/dist/edit/ods/scaffold.cjs +129 -0
- package/dist/edit/ods/scaffold.d.cts +9 -0
- package/dist/edit/ods/scaffold.d.ts +9 -0
- package/dist/edit/ods/scaffold.js +124 -0
- package/dist/edit/ods/sheet.cjs +70 -0
- package/dist/edit/ods/sheet.d.cts +22 -0
- package/dist/edit/ods/sheet.d.ts +22 -0
- package/dist/edit/ods/sheet.js +69 -0
- package/dist/edit/odt/automatic-styles.cjs +49 -0
- package/dist/edit/odt/automatic-styles.d.cts +8 -0
- package/dist/edit/odt/automatic-styles.d.ts +8 -0
- package/dist/edit/odt/automatic-styles.js +45 -0
- package/dist/edit/odt/content.cjs +110 -0
- package/dist/edit/odt/content.d.cts +9 -0
- package/dist/edit/odt/content.d.ts +9 -0
- package/dist/edit/odt/content.js +108 -0
- package/dist/edit/odt/editor.cjs +98 -0
- package/dist/edit/odt/editor.d.cts +25 -0
- package/dist/edit/odt/editor.d.ts +25 -0
- package/dist/edit/odt/editor.js +95 -0
- package/dist/edit/odt/list.cjs +82 -0
- package/dist/edit/odt/list.d.cts +2 -0
- package/dist/edit/odt/list.d.ts +2 -0
- package/dist/edit/odt/list.js +79 -0
- package/dist/edit/odt/paragraph.cjs +84 -0
- package/dist/edit/odt/paragraph.d.cts +2 -0
- package/dist/edit/odt/paragraph.d.ts +2 -0
- package/dist/edit/odt/paragraph.js +82 -0
- package/dist/edit/odt/props.cjs +26 -0
- package/dist/edit/odt/props.d.cts +7 -0
- package/dist/edit/odt/props.d.ts +7 -0
- package/dist/edit/odt/props.js +23 -0
- package/dist/edit/odt/run.cjs +82 -0
- package/dist/edit/odt/run.d.cts +2 -0
- package/dist/edit/odt/run.d.ts +2 -0
- package/dist/edit/odt/run.js +80 -0
- package/dist/edit/odt/scaffold.cjs +109 -0
- package/dist/edit/odt/scaffold.d.cts +5 -0
- package/dist/edit/odt/scaffold.d.ts +5 -0
- package/dist/edit/odt/scaffold.js +108 -0
- package/dist/edit/odt/table.cjs +123 -0
- package/dist/edit/odt/table.d.cts +37 -0
- package/dist/edit/odt/table.d.ts +37 -0
- package/dist/edit/odt/table.js +119 -0
- package/dist/edit/pptx/content.cjs +49 -0
- package/dist/edit/pptx/content.d.cts +6 -0
- package/dist/edit/pptx/content.d.ts +6 -0
- package/dist/edit/pptx/content.js +48 -0
- package/dist/edit/pptx/editor.cjs +187 -0
- package/dist/edit/pptx/editor.d.cts +20 -0
- package/dist/edit/pptx/editor.d.ts +20 -0
- package/dist/edit/pptx/editor.js +184 -0
- package/dist/edit/pptx/image.cjs +27 -0
- package/dist/edit/pptx/image.d.cts +2 -0
- package/dist/edit/pptx/image.d.ts +2 -0
- package/dist/edit/pptx/image.js +26 -0
- package/dist/edit/pptx/scaffold.cjs +292 -0
- package/dist/edit/pptx/scaffold.d.cts +13 -0
- package/dist/edit/pptx/scaffold.d.ts +13 -0
- package/dist/edit/pptx/scaffold.js +283 -0
- package/dist/edit/pptx/shape.cjs +182 -0
- package/dist/edit/pptx/shape.d.cts +2 -0
- package/dist/edit/pptx/shape.d.ts +2 -0
- package/dist/edit/pptx/shape.js +179 -0
- package/dist/edit/pptx/slide.cjs +146 -0
- package/dist/edit/pptx/slide.d.cts +33 -0
- package/dist/edit/pptx/slide.d.ts +33 -0
- package/dist/edit/pptx/slide.js +145 -0
- package/dist/firebird/backup.cjs +150 -0
- package/dist/firebird/backup.d.cts +21 -0
- package/dist/firebird/backup.d.ts +21 -0
- package/dist/firebird/backup.js +145 -0
- package/dist/firebird/blr-types.cjs +118 -0
- package/dist/firebird/blr-types.d.cts +2 -0
- package/dist/firebird/blr-types.d.ts +2 -0
- package/dist/firebird/blr-types.js +90 -0
- package/dist/firebird/data.cjs +231 -0
- package/dist/firebird/data.d.cts +17 -0
- package/dist/firebird/data.d.ts +17 -0
- package/dist/firebird/data.js +228 -0
- package/dist/firebird/date.cjs +63 -0
- package/dist/firebird/date.d.cts +17 -0
- package/dist/firebird/date.d.ts +17 -0
- package/dist/firebird/date.js +58 -0
- package/dist/firebird/reader.cjs +157 -0
- package/dist/firebird/reader.d.cts +2 -0
- package/dist/firebird/reader.d.ts +2 -0
- package/dist/firebird/reader.js +154 -0
- package/dist/firebird/schema.cjs +91 -0
- package/dist/firebird/schema.d.cts +2 -0
- package/dist/firebird/schema.d.ts +2 -0
- package/dist/firebird/schema.js +89 -0
- package/dist/geometry-DvwdrIij.d.cts +5 -0
- package/dist/geometry-DvwdrIij.d.ts +5 -0
- package/dist/hsqldb/cache.cjs +88 -0
- package/dist/hsqldb/cache.d.cts +13 -0
- package/dist/hsqldb/cache.d.ts +13 -0
- package/dist/hsqldb/cache.js +84 -0
- package/dist/hsqldb/rowformat.cjs +222 -0
- package/dist/hsqldb/rowformat.d.cts +21 -0
- package/dist/hsqldb/rowformat.d.ts +21 -0
- package/dist/hsqldb/rowformat.js +218 -0
- package/dist/hsqldb/script.cjs +450 -0
- package/dist/hsqldb/script.d.cts +19 -0
- package/dist/hsqldb/script.d.ts +19 -0
- package/dist/hsqldb/script.js +447 -0
- package/dist/image-B-xQWYYS.d.ts +16 -0
- package/dist/image-BZDy72Jb.d.cts +16 -0
- package/dist/image-BfRLAD9B.d.cts +18 -0
- package/dist/image-BfRLAD9B.d.ts +18 -0
- package/dist/image-CeqwL-Qs.d.ts +14 -0
- package/dist/image-DWX6cNOD.d.cts +14 -0
- package/dist/index.cjs +201 -10863
- package/dist/index.d.cts +71 -1406
- package/dist/index.d.ts +71 -1406
- package/dist/index.js +67 -10727
- package/dist/layout/drawing.cjs +117 -0
- package/dist/layout/drawing.d.cts +13 -0
- package/dist/layout/drawing.d.ts +13 -0
- package/dist/layout/drawing.js +116 -0
- package/dist/layout/engine.cjs +216 -0
- package/dist/layout/engine.d.cts +19 -0
- package/dist/layout/engine.d.ts +19 -0
- package/dist/layout/engine.js +215 -0
- package/dist/layout/reconstruct.cjs +809 -0
- package/dist/layout/reconstruct.d.cts +12 -0
- package/dist/layout/reconstruct.d.ts +12 -0
- package/dist/layout/reconstruct.js +805 -0
- package/dist/layout/shared.cjs +104 -0
- package/dist/layout/shared.d.cts +15 -0
- package/dist/layout/shared.d.ts +15 -0
- package/dist/layout/shared.js +96 -0
- package/dist/layout/sheets.cjs +413 -0
- package/dist/layout/sheets.d.cts +14 -0
- package/dist/layout/sheets.d.ts +14 -0
- package/dist/layout/sheets.js +414 -0
- package/dist/layout/slides.cjs +194 -0
- package/dist/layout/slides.d.cts +25 -0
- package/dist/layout/slides.d.ts +25 -0
- package/dist/layout/slides.js +192 -0
- package/dist/list-BuBM9rwQ.d.cts +24 -0
- package/dist/list-CvKxhy3y.d.ts +24 -0
- package/dist/mathml/compose.cjs +53 -0
- package/dist/mathml/compose.d.cts +8 -0
- package/dist/mathml/compose.d.ts +8 -0
- package/dist/mathml/compose.js +49 -0
- package/dist/mathml/layout-types.cjs +0 -0
- package/dist/mathml/layout-types.d.cts +50 -0
- package/dist/mathml/layout-types.d.ts +50 -0
- package/dist/mathml/layout-types.js +0 -0
- package/dist/mathml/layout.cjs +373 -0
- package/dist/mathml/layout.d.cts +24 -0
- package/dist/mathml/layout.d.ts +24 -0
- package/dist/mathml/layout.js +371 -0
- package/dist/mathml/length.cjs +41 -0
- package/dist/mathml/length.d.cts +4 -0
- package/dist/mathml/length.d.ts +4 -0
- package/dist/mathml/length.js +40 -0
- package/dist/mathml/metrics.cjs +0 -0
- package/dist/mathml/metrics.d.cts +44 -0
- package/dist/mathml/metrics.d.ts +44 -0
- package/dist/mathml/metrics.js +0 -0
- package/dist/mathml/nodes.cjs +39 -0
- package/dist/mathml/nodes.d.cts +2 -0
- package/dist/mathml/nodes.d.ts +2 -0
- package/dist/mathml/nodes.js +32 -0
- package/dist/mathml/operators.cjs +189 -0
- package/dist/mathml/operators.d.cts +13 -0
- package/dist/mathml/operators.d.ts +13 -0
- package/dist/mathml/operators.js +188 -0
- package/dist/mathml/radical.cjs +46 -0
- package/dist/mathml/radical.d.cts +10 -0
- package/dist/mathml/radical.d.ts +10 -0
- package/dist/mathml/radical.js +45 -0
- package/dist/mathml/variant.cjs +1160 -0
- package/dist/mathml/variant.d.cts +7 -0
- package/dist/mathml/variant.d.ts +7 -0
- package/dist/mathml/variant.js +1157 -0
- package/dist/model/bytes.cjs +88 -0
- package/dist/model/bytes.d.cts +12 -0
- package/dist/model/bytes.d.ts +12 -0
- package/dist/model/bytes.js +80 -0
- package/dist/model/color.cjs +26 -0
- package/dist/model/color.d.cts +2 -0
- package/dist/model/color.d.ts +2 -0
- package/dist/model/color.js +2 -0
- package/dist/model/content.cjs +34 -0
- package/dist/model/content.d.cts +362 -0
- package/dist/model/content.d.ts +362 -0
- package/dist/model/content.js +32 -0
- package/dist/model/formula.cjs +0 -0
- package/dist/model/formula.d.cts +8 -0
- package/dist/model/formula.d.ts +8 -0
- package/dist/model/formula.js +0 -0
- package/dist/model/geometry.cjs +55 -0
- package/dist/model/geometry.d.cts +2 -0
- package/dist/model/geometry.d.ts +2 -0
- package/dist/model/geometry.js +12 -0
- package/dist/model/style.cjs +20 -0
- package/dist/model/style.d.cts +2 -0
- package/dist/model/style.d.ts +2 -0
- package/dist/model/style.js +2 -0
- package/dist/model/units.cjs +55 -0
- package/dist/model/units.d.cts +20 -0
- package/dist/model/units.d.ts +20 -0
- package/dist/model/units.js +38 -0
- package/dist/nodes-pArN9ilm.d.cts +27 -0
- package/dist/nodes-pArN9ilm.d.ts +27 -0
- package/dist/odb/csv.cjs +48 -0
- package/dist/odb/csv.d.cts +14 -0
- package/dist/odb/csv.d.ts +14 -0
- package/dist/odb/csv.js +45 -0
- package/dist/odb/read.cjs +87 -0
- package/dist/odb/read.d.cts +15 -0
- package/dist/odb/read.d.ts +15 -0
- package/dist/odb/read.js +85 -0
- package/dist/odb/spreadsheet.cjs +68 -0
- package/dist/odb/spreadsheet.d.cts +6 -0
- package/dist/odb/spreadsheet.d.ts +6 -0
- package/dist/odb/spreadsheet.js +67 -0
- package/dist/odf/formula/detect.cjs +29 -0
- package/dist/odf/formula/detect.d.cts +12 -0
- package/dist/odf/formula/detect.d.ts +12 -0
- package/dist/odf/formula/detect.js +28 -0
- package/dist/odf/formula/placeholder.cjs +37 -0
- package/dist/odf/formula/placeholder.d.cts +14 -0
- package/dist/odf/formula/placeholder.d.ts +14 -0
- package/dist/odf/formula/placeholder.js +36 -0
- package/dist/odf/formula/read.cjs +32 -0
- package/dist/odf/formula/read.d.cts +11 -0
- package/dist/odf/formula/read.d.ts +11 -0
- package/dist/odf/formula/read.js +30 -0
- package/dist/odf/odg/read.cjs +15 -0
- package/dist/odf/odg/read.d.cts +6 -0
- package/dist/odf/odg/read.d.ts +6 -0
- package/dist/odf/odg/read.js +14 -0
- package/dist/odf/odp/read.cjs +45 -0
- package/dist/odf/odp/read.d.cts +11 -0
- package/dist/odf/odp/read.d.ts +11 -0
- package/dist/odf/odp/read.js +44 -0
- package/dist/odf/ods/read.cjs +15 -0
- package/dist/odf/ods/read.d.cts +6 -0
- package/dist/odf/ods/read.d.ts +6 -0
- package/dist/odf/ods/read.js +14 -0
- package/dist/odf/odt/read.cjs +43 -0
- package/dist/odf/odt/read.d.cts +11 -0
- package/dist/odf/odt/read.d.ts +11 -0
- package/dist/odf/odt/read.js +42 -0
- package/dist/odf-package/manifest.cjs +62 -0
- package/dist/odf-package/manifest.d.cts +2 -0
- package/dist/odf-package/manifest.d.ts +2 -0
- package/dist/odf-package/manifest.js +2 -0
- package/dist/odf-package/media.cjs +34 -0
- package/dist/odf-package/media.d.cts +8 -0
- package/dist/odf-package/media.d.ts +8 -0
- package/dist/odf-package/media.js +34 -0
- package/dist/ooxml/docx/read.cjs +15 -0
- package/dist/ooxml/docx/read.d.cts +6 -0
- package/dist/ooxml/docx/read.d.ts +6 -0
- package/dist/ooxml/docx/read.js +14 -0
- package/dist/ooxml/pptx/read.cjs +15 -0
- package/dist/ooxml/pptx/read.d.cts +6 -0
- package/dist/ooxml/pptx/read.d.ts +6 -0
- package/dist/ooxml/pptx/read.js +14 -0
- package/dist/opc/content-types.cjs +47 -0
- package/dist/opc/content-types.d.cts +7 -0
- package/dist/opc/content-types.d.ts +7 -0
- package/dist/opc/content-types.js +44 -0
- package/dist/opc/media.cjs +45 -0
- package/dist/opc/media.d.cts +10 -0
- package/dist/opc/media.d.ts +10 -0
- package/dist/opc/media.js +44 -0
- package/dist/opc/paths.cjs +28 -0
- package/dist/opc/paths.d.cts +5 -0
- package/dist/opc/paths.d.ts +5 -0
- package/dist/opc/paths.js +26 -0
- package/dist/opc/rels.cjs +47 -0
- package/dist/opc/rels.d.cts +10 -0
- package/dist/opc/rels.d.ts +10 -0
- package/dist/opc/rels.js +46 -0
- package/dist/paragraph-BXbXKPy3.d.cts +30 -0
- package/dist/paragraph-CoUi_88j.d.ts +30 -0
- package/dist/ports/abort.cjs +7 -0
- package/dist/ports/abort.d.cts +4 -0
- package/dist/ports/abort.d.ts +4 -0
- package/dist/ports/abort.js +6 -0
- package/dist/ports/clock.cjs +9 -0
- package/dist/ports/clock.d.cts +8 -0
- package/dist/ports/clock.d.ts +8 -0
- package/dist/ports/clock.js +7 -0
- package/dist/reader-DP0Mbaj4.d.cts +41 -0
- package/dist/reader-DP0Mbaj4.d.ts +41 -0
- package/dist/run-B3GNScJH.d.cts +38 -0
- package/dist/run-CJfh8rv3.d.ts +38 -0
- package/dist/run-D2rTWHbt.d.ts +38 -0
- package/dist/run-F8JN7Vy4.d.cts +38 -0
- package/dist/schema-Acco3Ezi.d.cts +22 -0
- package/dist/schema-VkAA6pF5.d.ts +22 -0
- package/dist/shape-BUfjw5eZ.d.cts +35 -0
- package/dist/shape-BfN3m52m.d.ts +30 -0
- package/dist/shape-CN2ycxOo.d.cts +30 -0
- package/dist/shape-CTkl6kt8.d.ts +35 -0
- package/dist/style-DkamR3aY.d.cts +2 -0
- package/dist/style-DkamR3aY.d.ts +2 -0
- package/dist/vector-ClohqsOe.d.cts +76 -0
- package/dist/vector-ClohqsOe.d.ts +76 -0
- package/dist/xml/edit.cjs +65 -0
- package/dist/xml/edit.d.cts +12 -0
- package/dist/xml/edit.d.ts +12 -0
- package/dist/xml/edit.js +57 -0
- package/dist/xml/entities.cjs +12 -0
- package/dist/xml/entities.d.cts +5 -0
- package/dist/xml/entities.d.ts +5 -0
- package/dist/xml/entities.js +10 -0
- package/dist/xml/fragment.cjs +22 -0
- package/dist/xml/fragment.d.cts +6 -0
- package/dist/xml/fragment.d.ts +6 -0
- package/dist/xml/fragment.js +20 -0
- package/dist/xml/odf-text.cjs +53 -0
- package/dist/xml/odf-text.d.cts +6 -0
- package/dist/xml/odf-text.d.ts +6 -0
- package/dist/xml/odf-text.js +51 -0
- package/dist/xml/query.cjs +33 -0
- package/dist/xml/query.d.cts +12 -0
- package/dist/xml/query.d.ts +12 -0
- package/dist/xml/query.js +29 -0
- package/package.json +9 -1
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { el } from "../../xml/fragment.js";
|
|
2
|
+
import { removeChild, setAttr } from "../../xml/edit.js";
|
|
3
|
+
import { buildGraphicStyle, readGraphicFill, readGraphicStroke, setGraphicFill, setGraphicStroke } from "./style.js";
|
|
4
|
+
import { buildSvgPathData, buildSvgViewBox } from "./svg-path.js";
|
|
5
|
+
import { attr } from "ooxml.js";
|
|
6
|
+
import { buildOdfSubpaths, formatOdfLength, parseBox, parseLinePoints, parseOdfPathData, parseOdfViewBox } from "odf.js";
|
|
7
|
+
//#region src/edit/odg/vector.ts
|
|
8
|
+
function directTextP() {
|
|
9
|
+
return el("text:p");
|
|
10
|
+
}
|
|
11
|
+
function buildBoxVectorElement(pkg, tag, init) {
|
|
12
|
+
const styleName = buildGraphicStyle(pkg, {
|
|
13
|
+
fill: init.fill,
|
|
14
|
+
stroke: init.stroke
|
|
15
|
+
});
|
|
16
|
+
return el(tag, {
|
|
17
|
+
"draw:style-name": styleName,
|
|
18
|
+
"svg:x": formatOdfLength(init.frame.xPt),
|
|
19
|
+
"svg:y": formatOdfLength(init.frame.yPt),
|
|
20
|
+
"svg:width": formatOdfLength(init.frame.widthPt),
|
|
21
|
+
"svg:height": formatOdfLength(init.frame.heightPt)
|
|
22
|
+
}, [directTextP()]);
|
|
23
|
+
}
|
|
24
|
+
function buildRectElement(pkg, init) {
|
|
25
|
+
return buildBoxVectorElement(pkg, "draw:rect", init);
|
|
26
|
+
}
|
|
27
|
+
function buildEllipseElement(pkg, init) {
|
|
28
|
+
return buildBoxVectorElement(pkg, "draw:ellipse", init);
|
|
29
|
+
}
|
|
30
|
+
var OdgBoxVector = class {
|
|
31
|
+
container;
|
|
32
|
+
node;
|
|
33
|
+
pkg;
|
|
34
|
+
removed = false;
|
|
35
|
+
constructor(container, node, pkg) {
|
|
36
|
+
this.container = container;
|
|
37
|
+
this.node = node;
|
|
38
|
+
this.pkg = pkg;
|
|
39
|
+
}
|
|
40
|
+
live() {
|
|
41
|
+
if (this.removed) throw new Error("this OdgBoxVector has been removed from its page and can no longer be used");
|
|
42
|
+
return this.node;
|
|
43
|
+
}
|
|
44
|
+
get kind() {
|
|
45
|
+
return this.live().tag === "draw:ellipse" ? "ellipse" : "rect";
|
|
46
|
+
}
|
|
47
|
+
get name() {
|
|
48
|
+
return attr(this.live(), "draw:name");
|
|
49
|
+
}
|
|
50
|
+
get frame() {
|
|
51
|
+
return parseBox(this.live());
|
|
52
|
+
}
|
|
53
|
+
set frame(value) {
|
|
54
|
+
const node = this.live();
|
|
55
|
+
setAttr(node, "svg:x", formatOdfLength(value.xPt));
|
|
56
|
+
setAttr(node, "svg:y", formatOdfLength(value.yPt));
|
|
57
|
+
setAttr(node, "svg:width", formatOdfLength(value.widthPt));
|
|
58
|
+
setAttr(node, "svg:height", formatOdfLength(value.heightPt));
|
|
59
|
+
}
|
|
60
|
+
get fill() {
|
|
61
|
+
return readGraphicFill(this.pkg, this.live());
|
|
62
|
+
}
|
|
63
|
+
set fill(value) {
|
|
64
|
+
setGraphicFill(this.pkg, this.live(), value);
|
|
65
|
+
}
|
|
66
|
+
get stroke() {
|
|
67
|
+
return readGraphicStroke(this.pkg, this.live());
|
|
68
|
+
}
|
|
69
|
+
set stroke(value) {
|
|
70
|
+
setGraphicStroke(this.pkg, this.live(), value);
|
|
71
|
+
}
|
|
72
|
+
remove() {
|
|
73
|
+
removeChild(this.container, this.live());
|
|
74
|
+
this.removed = true;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
function buildLineElement(pkg, init) {
|
|
78
|
+
const styleName = buildGraphicStyle(pkg, { stroke: init.stroke });
|
|
79
|
+
return el("draw:line", {
|
|
80
|
+
"draw:style-name": styleName,
|
|
81
|
+
"svg:x1": formatOdfLength(init.from.xPt),
|
|
82
|
+
"svg:y1": formatOdfLength(init.from.yPt),
|
|
83
|
+
"svg:x2": formatOdfLength(init.to.xPt),
|
|
84
|
+
"svg:y2": formatOdfLength(init.to.yPt)
|
|
85
|
+
}, [directTextP()]);
|
|
86
|
+
}
|
|
87
|
+
var OdgLineVector = class {
|
|
88
|
+
container;
|
|
89
|
+
node;
|
|
90
|
+
pkg;
|
|
91
|
+
removed = false;
|
|
92
|
+
constructor(container, node, pkg) {
|
|
93
|
+
this.container = container;
|
|
94
|
+
this.node = node;
|
|
95
|
+
this.pkg = pkg;
|
|
96
|
+
}
|
|
97
|
+
live() {
|
|
98
|
+
if (this.removed) throw new Error("this OdgLineVector has been removed from its page and can no longer be used");
|
|
99
|
+
return this.node;
|
|
100
|
+
}
|
|
101
|
+
get name() {
|
|
102
|
+
return attr(this.live(), "draw:name");
|
|
103
|
+
}
|
|
104
|
+
get from() {
|
|
105
|
+
return parseLinePoints(this.live())?.from;
|
|
106
|
+
}
|
|
107
|
+
set from(value) {
|
|
108
|
+
const node = this.live();
|
|
109
|
+
setAttr(node, "svg:x1", formatOdfLength(value.xPt));
|
|
110
|
+
setAttr(node, "svg:y1", formatOdfLength(value.yPt));
|
|
111
|
+
}
|
|
112
|
+
get to() {
|
|
113
|
+
return parseLinePoints(this.live())?.to;
|
|
114
|
+
}
|
|
115
|
+
set to(value) {
|
|
116
|
+
const node = this.live();
|
|
117
|
+
setAttr(node, "svg:x2", formatOdfLength(value.xPt));
|
|
118
|
+
setAttr(node, "svg:y2", formatOdfLength(value.yPt));
|
|
119
|
+
}
|
|
120
|
+
get stroke() {
|
|
121
|
+
return readGraphicStroke(this.pkg, this.live());
|
|
122
|
+
}
|
|
123
|
+
set stroke(value) {
|
|
124
|
+
setGraphicStroke(this.pkg, this.live(), value);
|
|
125
|
+
}
|
|
126
|
+
remove() {
|
|
127
|
+
removeChild(this.container, this.live());
|
|
128
|
+
this.removed = true;
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
function buildPathElement(pkg, init) {
|
|
132
|
+
const styleName = buildGraphicStyle(pkg, {
|
|
133
|
+
fill: init.fill,
|
|
134
|
+
stroke: init.stroke
|
|
135
|
+
});
|
|
136
|
+
return el("draw:path", {
|
|
137
|
+
"draw:style-name": styleName,
|
|
138
|
+
"svg:x": formatOdfLength(init.frame.xPt),
|
|
139
|
+
"svg:y": formatOdfLength(init.frame.yPt),
|
|
140
|
+
"svg:width": formatOdfLength(init.frame.widthPt),
|
|
141
|
+
"svg:height": formatOdfLength(init.frame.heightPt),
|
|
142
|
+
"svg:viewBox": buildSvgViewBox(init.frame.widthPt, init.frame.heightPt),
|
|
143
|
+
"svg:d": buildSvgPathData(init.subpaths)
|
|
144
|
+
}, [directTextP()]);
|
|
145
|
+
}
|
|
146
|
+
var OdgPathVector = class {
|
|
147
|
+
container;
|
|
148
|
+
node;
|
|
149
|
+
pkg;
|
|
150
|
+
removed = false;
|
|
151
|
+
constructor(container, node, pkg) {
|
|
152
|
+
this.container = container;
|
|
153
|
+
this.node = node;
|
|
154
|
+
this.pkg = pkg;
|
|
155
|
+
}
|
|
156
|
+
live() {
|
|
157
|
+
if (this.removed) throw new Error("this OdgPathVector has been removed from its page and can no longer be used");
|
|
158
|
+
return this.node;
|
|
159
|
+
}
|
|
160
|
+
get name() {
|
|
161
|
+
return attr(this.live(), "draw:name");
|
|
162
|
+
}
|
|
163
|
+
get frame() {
|
|
164
|
+
return parseBox(this.live());
|
|
165
|
+
}
|
|
166
|
+
set frame(value) {
|
|
167
|
+
const node = this.live();
|
|
168
|
+
setAttr(node, "svg:x", formatOdfLength(value.xPt));
|
|
169
|
+
setAttr(node, "svg:y", formatOdfLength(value.yPt));
|
|
170
|
+
setAttr(node, "svg:width", formatOdfLength(value.widthPt));
|
|
171
|
+
setAttr(node, "svg:height", formatOdfLength(value.heightPt));
|
|
172
|
+
}
|
|
173
|
+
get fill() {
|
|
174
|
+
return readGraphicFill(this.pkg, this.live());
|
|
175
|
+
}
|
|
176
|
+
set fill(value) {
|
|
177
|
+
setGraphicFill(this.pkg, this.live(), value);
|
|
178
|
+
}
|
|
179
|
+
get stroke() {
|
|
180
|
+
return readGraphicStroke(this.pkg, this.live());
|
|
181
|
+
}
|
|
182
|
+
set stroke(value) {
|
|
183
|
+
setGraphicStroke(this.pkg, this.live(), value);
|
|
184
|
+
}
|
|
185
|
+
get subpaths() {
|
|
186
|
+
const node = this.live();
|
|
187
|
+
const viewBoxValue = attr(node, "svg:viewBox");
|
|
188
|
+
const dValue = attr(node, "svg:d");
|
|
189
|
+
const frame = parseBox(node);
|
|
190
|
+
if (viewBoxValue === void 0 || dValue === void 0 || frame === void 0) return [];
|
|
191
|
+
const viewBox = parseOdfViewBox(viewBoxValue);
|
|
192
|
+
if (viewBox === void 0) return [];
|
|
193
|
+
return buildOdfSubpaths(parseOdfPathData(dValue), viewBox, frame);
|
|
194
|
+
}
|
|
195
|
+
remove() {
|
|
196
|
+
removeChild(this.container, this.live());
|
|
197
|
+
this.removed = true;
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
//#endregion
|
|
201
|
+
export { OdgBoxVector, OdgLineVector, OdgPathVector, buildEllipseElement, buildLineElement, buildPathElement, buildRectElement };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_edit_odt_content = require("../odt/content.cjs");
|
|
3
|
+
const require_edit_odp_editor = require("./editor.cjs");
|
|
4
|
+
let odf_js = require("odf.js");
|
|
5
|
+
//#region src/edit/odp/content.ts
|
|
6
|
+
function buildOdpPackage(content) {
|
|
7
|
+
if (content.kind !== "presentation") throw new Error("buildOdpPackage requires a presentation ContentDocument");
|
|
8
|
+
const editor = require_edit_odp_editor.createOdp();
|
|
9
|
+
const firstSlide = content.slides[0];
|
|
10
|
+
if (firstSlide !== void 0) editor.slideSize = firstSlide.size;
|
|
11
|
+
for (const slide of content.slides) {
|
|
12
|
+
const odpSlide = editor.addSlide();
|
|
13
|
+
for (const shape of slide.shapes) appendShape(odpSlide, shape);
|
|
14
|
+
if (slide.notes.length > 0) odpSlide.notes = slide.notes;
|
|
15
|
+
}
|
|
16
|
+
return editor.toPackage();
|
|
17
|
+
}
|
|
18
|
+
function appendShape(slide, shape) {
|
|
19
|
+
const [onlyBlock] = shape.blocks;
|
|
20
|
+
if (shape.blocks.length === 1 && onlyBlock?.kind === "image") {
|
|
21
|
+
const imageShape = slide.addImage({
|
|
22
|
+
frame: shape.frame,
|
|
23
|
+
format: onlyBlock.format,
|
|
24
|
+
bytes: (0, odf_js.base64ToBytes)(onlyBlock.base64),
|
|
25
|
+
altText: onlyBlock.altText
|
|
26
|
+
});
|
|
27
|
+
if (shape.rotationDeg !== void 0) imageShape.rotationDeg = shape.rotationDeg;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const textShape = slide.addTextBox({
|
|
31
|
+
frame: shape.frame,
|
|
32
|
+
text: ""
|
|
33
|
+
});
|
|
34
|
+
if (shape.rotationDeg !== void 0) textShape.rotationDeg = shape.rotationDeg;
|
|
35
|
+
textShape.paragraphs()[0]?.remove();
|
|
36
|
+
for (const block of shape.blocks) {
|
|
37
|
+
if (block.kind !== "paragraph") continue;
|
|
38
|
+
require_edit_odt_content.populateParagraph(textShape.appendParagraph(), block);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
exports.buildOdpPackage = buildOdpPackage;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { populateParagraph } from "../odt/content.js";
|
|
2
|
+
import { createOdp } from "./editor.js";
|
|
3
|
+
import { base64ToBytes } from "odf.js";
|
|
4
|
+
//#region src/edit/odp/content.ts
|
|
5
|
+
function buildOdpPackage(content) {
|
|
6
|
+
if (content.kind !== "presentation") throw new Error("buildOdpPackage requires a presentation ContentDocument");
|
|
7
|
+
const editor = createOdp();
|
|
8
|
+
const firstSlide = content.slides[0];
|
|
9
|
+
if (firstSlide !== void 0) editor.slideSize = firstSlide.size;
|
|
10
|
+
for (const slide of content.slides) {
|
|
11
|
+
const odpSlide = editor.addSlide();
|
|
12
|
+
for (const shape of slide.shapes) appendShape(odpSlide, shape);
|
|
13
|
+
if (slide.notes.length > 0) odpSlide.notes = slide.notes;
|
|
14
|
+
}
|
|
15
|
+
return editor.toPackage();
|
|
16
|
+
}
|
|
17
|
+
function appendShape(slide, shape) {
|
|
18
|
+
const [onlyBlock] = shape.blocks;
|
|
19
|
+
if (shape.blocks.length === 1 && onlyBlock?.kind === "image") {
|
|
20
|
+
const imageShape = slide.addImage({
|
|
21
|
+
frame: shape.frame,
|
|
22
|
+
format: onlyBlock.format,
|
|
23
|
+
bytes: base64ToBytes(onlyBlock.base64),
|
|
24
|
+
altText: onlyBlock.altText
|
|
25
|
+
});
|
|
26
|
+
if (shape.rotationDeg !== void 0) imageShape.rotationDeg = shape.rotationDeg;
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const textShape = slide.addTextBox({
|
|
30
|
+
frame: shape.frame,
|
|
31
|
+
text: ""
|
|
32
|
+
});
|
|
33
|
+
if (shape.rotationDeg !== void 0) textShape.rotationDeg = shape.rotationDeg;
|
|
34
|
+
textShape.paragraphs()[0]?.remove();
|
|
35
|
+
for (const block of shape.blocks) {
|
|
36
|
+
if (block.kind !== "paragraph") continue;
|
|
37
|
+
populateParagraph(textShape.appendParagraph(), block);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
export { buildOdpPackage };
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_xml_fragment = require("../../xml/fragment.cjs");
|
|
3
|
+
const require_edit_odp_scaffold = require("./scaffold.cjs");
|
|
4
|
+
const require_edit_odp_slide = require("./slide.cjs");
|
|
5
|
+
let ooxml_js = require("ooxml.js");
|
|
6
|
+
let odf_js = require("odf.js");
|
|
7
|
+
//#region src/edit/odp/editor.ts
|
|
8
|
+
const CONTENT_PART_PATH = "content.xml";
|
|
9
|
+
const STYLES_PART_PATH = "styles.xml";
|
|
10
|
+
function directChild(parent, tag) {
|
|
11
|
+
for (const child of parent.children) if (child.type === "element" && child.tag === tag) return child;
|
|
12
|
+
}
|
|
13
|
+
function findRoot(pkg, partPath) {
|
|
14
|
+
const part = pkg.parts[partPath];
|
|
15
|
+
const root = part?.kind === "xml" ? part.nodes.find((n) => n.type === "element") : void 0;
|
|
16
|
+
if (root === void 0) throw new Error(`package has no root element at ${partPath}`);
|
|
17
|
+
return root;
|
|
18
|
+
}
|
|
19
|
+
function findOfficePresentation(pkg) {
|
|
20
|
+
const body = directChild(findRoot(pkg, CONTENT_PART_PATH), "office:body");
|
|
21
|
+
const presentation = body === void 0 ? void 0 : directChild(body, "office:presentation");
|
|
22
|
+
if (presentation === void 0) throw new Error(`${CONTENT_PART_PATH} has no office:body/office:presentation element`);
|
|
23
|
+
return presentation;
|
|
24
|
+
}
|
|
25
|
+
function findPageLayoutProperties(pkg) {
|
|
26
|
+
const pageLayout = directChild(findRoot(pkg, STYLES_PART_PATH), "office:automatic-styles")?.children.find((c) => c.type === "element" && c.tag === "style:page-layout" && (0, ooxml_js.attr)(c, "style:name") === "PM1");
|
|
27
|
+
const properties = pageLayout === void 0 ? void 0 : directChild(pageLayout, "style:page-layout-properties");
|
|
28
|
+
if (properties === void 0) throw new Error(`${STYLES_PART_PATH} has no style:page-layout[style:name="PM1"]/style:page-layout-properties element`);
|
|
29
|
+
return properties;
|
|
30
|
+
}
|
|
31
|
+
var OdpEditor = class {
|
|
32
|
+
pkg;
|
|
33
|
+
constructor(pkg) {
|
|
34
|
+
this.pkg = pkg;
|
|
35
|
+
}
|
|
36
|
+
slides() {
|
|
37
|
+
const presentation = findOfficePresentation(this.pkg);
|
|
38
|
+
const out = [];
|
|
39
|
+
for (const child of presentation.children) if (child.type === "element" && child.tag === "draw:page") {
|
|
40
|
+
const context = { pkg: this.pkg };
|
|
41
|
+
out.push(new require_edit_odp_slide.OdpSlide(presentation.children, child, context));
|
|
42
|
+
}
|
|
43
|
+
return out;
|
|
44
|
+
}
|
|
45
|
+
addSlide() {
|
|
46
|
+
const presentation = findOfficePresentation(this.pkg);
|
|
47
|
+
const pageElement = require_xml_fragment.el("draw:page", { "draw:master-page-name": require_edit_odp_scaffold.MASTER_PAGE_NAME });
|
|
48
|
+
presentation.children.push(pageElement);
|
|
49
|
+
const context = { pkg: this.pkg };
|
|
50
|
+
return new require_edit_odp_slide.OdpSlide(presentation.children, pageElement, context);
|
|
51
|
+
}
|
|
52
|
+
removeSlideAt(index) {
|
|
53
|
+
const presentation = findOfficePresentation(this.pkg);
|
|
54
|
+
const target = presentation.children.filter((c) => c.type === "element" && c.tag === "draw:page")[index];
|
|
55
|
+
if (target === void 0) throw new Error(`slide index ${index} does not exist`);
|
|
56
|
+
const listIndex = presentation.children.indexOf(target);
|
|
57
|
+
presentation.children.splice(listIndex, 1);
|
|
58
|
+
}
|
|
59
|
+
moveSlide(from, to) {
|
|
60
|
+
const presentation = findOfficePresentation(this.pkg);
|
|
61
|
+
const pageIndices = [];
|
|
62
|
+
presentation.children.forEach((child, i) => {
|
|
63
|
+
if (child.type === "element" && child.tag === "draw:page") pageIndices.push(i);
|
|
64
|
+
});
|
|
65
|
+
const fromChildIndex = pageIndices[from];
|
|
66
|
+
if (fromChildIndex === void 0) throw new Error(`slide index ${from} does not exist`);
|
|
67
|
+
const [moved] = presentation.children.splice(fromChildIndex, 1);
|
|
68
|
+
if (moved === void 0) throw new Error(`slide index ${from} does not exist`);
|
|
69
|
+
const updatedIndices = [];
|
|
70
|
+
presentation.children.forEach((child, i) => {
|
|
71
|
+
if (child.type === "element" && child.tag === "draw:page") updatedIndices.push(i);
|
|
72
|
+
});
|
|
73
|
+
const insertAt = to < updatedIndices.length ? updatedIndices[to] ?? presentation.children.length : presentation.children.length;
|
|
74
|
+
presentation.children.splice(insertAt, 0, moved);
|
|
75
|
+
}
|
|
76
|
+
get slideSize() {
|
|
77
|
+
const properties = findPageLayoutProperties(this.pkg);
|
|
78
|
+
const widthValue = (0, ooxml_js.attr)(properties, "fo:page-width");
|
|
79
|
+
const heightValue = (0, ooxml_js.attr)(properties, "fo:page-height");
|
|
80
|
+
const widthPt = widthValue === void 0 ? void 0 : (0, odf_js.parseOdfLength)(widthValue);
|
|
81
|
+
const heightPt = heightValue === void 0 ? void 0 : (0, odf_js.parseOdfLength)(heightValue);
|
|
82
|
+
return {
|
|
83
|
+
widthPt: widthPt ?? 0,
|
|
84
|
+
heightPt: heightPt ?? 0
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
set slideSize(size) {
|
|
88
|
+
const properties = findPageLayoutProperties(this.pkg);
|
|
89
|
+
properties.attributes = [{
|
|
90
|
+
name: "fo:page-width",
|
|
91
|
+
value: (0, odf_js.formatOdfLength)(size.widthPt)
|
|
92
|
+
}, {
|
|
93
|
+
name: "fo:page-height",
|
|
94
|
+
value: (0, odf_js.formatOdfLength)(size.heightPt)
|
|
95
|
+
}];
|
|
96
|
+
}
|
|
97
|
+
toPackage() {
|
|
98
|
+
return this.pkg;
|
|
99
|
+
}
|
|
100
|
+
toBytes() {
|
|
101
|
+
return (0, odf_js.encodePackage)(this.pkg);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
function openOdp(bytes) {
|
|
105
|
+
return new OdpEditor((0, odf_js.decodePackage)(bytes));
|
|
106
|
+
}
|
|
107
|
+
function createOdp() {
|
|
108
|
+
return new OdpEditor(require_edit_odp_scaffold.createEmptyOdpPackage());
|
|
109
|
+
}
|
|
110
|
+
//#endregion
|
|
111
|
+
exports.OdpEditor = OdpEditor;
|
|
112
|
+
exports.createOdp = createOdp;
|
|
113
|
+
exports.openOdp = openOdp;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { s as PageSize } from "../../geometry-DvwdrIij.cjs";
|
|
2
|
+
import { OdpSlide } from "./slide.cjs";
|
|
3
|
+
import { Package } from "odf.js";
|
|
4
|
+
//#region src/edit/odp/editor.d.ts
|
|
5
|
+
declare class OdpEditor {
|
|
6
|
+
private readonly pkg;
|
|
7
|
+
constructor(pkg: Package);
|
|
8
|
+
slides(): OdpSlide[];
|
|
9
|
+
addSlide(): OdpSlide;
|
|
10
|
+
removeSlideAt(index: number): void;
|
|
11
|
+
moveSlide(from: number, to: number): void;
|
|
12
|
+
get slideSize(): PageSize;
|
|
13
|
+
set slideSize(size: PageSize);
|
|
14
|
+
toPackage(): Package;
|
|
15
|
+
toBytes(): Uint8Array<ArrayBuffer>;
|
|
16
|
+
}
|
|
17
|
+
declare function openOdp(bytes: Uint8Array<ArrayBuffer>): OdpEditor;
|
|
18
|
+
declare function createOdp(): OdpEditor;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { OdpEditor, createOdp, openOdp };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { s as PageSize } from "../../geometry-DvwdrIij.js";
|
|
2
|
+
import { OdpSlide } from "./slide.js";
|
|
3
|
+
import { Package } from "odf.js";
|
|
4
|
+
//#region src/edit/odp/editor.d.ts
|
|
5
|
+
declare class OdpEditor {
|
|
6
|
+
private readonly pkg;
|
|
7
|
+
constructor(pkg: Package);
|
|
8
|
+
slides(): OdpSlide[];
|
|
9
|
+
addSlide(): OdpSlide;
|
|
10
|
+
removeSlideAt(index: number): void;
|
|
11
|
+
moveSlide(from: number, to: number): void;
|
|
12
|
+
get slideSize(): PageSize;
|
|
13
|
+
set slideSize(size: PageSize);
|
|
14
|
+
toPackage(): Package;
|
|
15
|
+
toBytes(): Uint8Array<ArrayBuffer>;
|
|
16
|
+
}
|
|
17
|
+
declare function openOdp(bytes: Uint8Array<ArrayBuffer>): OdpEditor;
|
|
18
|
+
declare function createOdp(): OdpEditor;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { OdpEditor, createOdp, openOdp };
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { el } from "../../xml/fragment.js";
|
|
2
|
+
import { MASTER_PAGE_NAME, createEmptyOdpPackage } from "./scaffold.js";
|
|
3
|
+
import { OdpSlide } from "./slide.js";
|
|
4
|
+
import { attr } from "ooxml.js";
|
|
5
|
+
import { decodePackage as decodePackage$1, encodePackage as encodePackage$1, formatOdfLength, parseOdfLength } from "odf.js";
|
|
6
|
+
//#region src/edit/odp/editor.ts
|
|
7
|
+
const CONTENT_PART_PATH = "content.xml";
|
|
8
|
+
const STYLES_PART_PATH = "styles.xml";
|
|
9
|
+
function directChild(parent, tag) {
|
|
10
|
+
for (const child of parent.children) if (child.type === "element" && child.tag === tag) return child;
|
|
11
|
+
}
|
|
12
|
+
function findRoot(pkg, partPath) {
|
|
13
|
+
const part = pkg.parts[partPath];
|
|
14
|
+
const root = part?.kind === "xml" ? part.nodes.find((n) => n.type === "element") : void 0;
|
|
15
|
+
if (root === void 0) throw new Error(`package has no root element at ${partPath}`);
|
|
16
|
+
return root;
|
|
17
|
+
}
|
|
18
|
+
function findOfficePresentation(pkg) {
|
|
19
|
+
const body = directChild(findRoot(pkg, CONTENT_PART_PATH), "office:body");
|
|
20
|
+
const presentation = body === void 0 ? void 0 : directChild(body, "office:presentation");
|
|
21
|
+
if (presentation === void 0) throw new Error(`${CONTENT_PART_PATH} has no office:body/office:presentation element`);
|
|
22
|
+
return presentation;
|
|
23
|
+
}
|
|
24
|
+
function findPageLayoutProperties(pkg) {
|
|
25
|
+
const pageLayout = directChild(findRoot(pkg, STYLES_PART_PATH), "office:automatic-styles")?.children.find((c) => c.type === "element" && c.tag === "style:page-layout" && attr(c, "style:name") === "PM1");
|
|
26
|
+
const properties = pageLayout === void 0 ? void 0 : directChild(pageLayout, "style:page-layout-properties");
|
|
27
|
+
if (properties === void 0) throw new Error(`${STYLES_PART_PATH} has no style:page-layout[style:name="PM1"]/style:page-layout-properties element`);
|
|
28
|
+
return properties;
|
|
29
|
+
}
|
|
30
|
+
var OdpEditor = class {
|
|
31
|
+
pkg;
|
|
32
|
+
constructor(pkg) {
|
|
33
|
+
this.pkg = pkg;
|
|
34
|
+
}
|
|
35
|
+
slides() {
|
|
36
|
+
const presentation = findOfficePresentation(this.pkg);
|
|
37
|
+
const out = [];
|
|
38
|
+
for (const child of presentation.children) if (child.type === "element" && child.tag === "draw:page") {
|
|
39
|
+
const context = { pkg: this.pkg };
|
|
40
|
+
out.push(new OdpSlide(presentation.children, child, context));
|
|
41
|
+
}
|
|
42
|
+
return out;
|
|
43
|
+
}
|
|
44
|
+
addSlide() {
|
|
45
|
+
const presentation = findOfficePresentation(this.pkg);
|
|
46
|
+
const pageElement = el("draw:page", { "draw:master-page-name": MASTER_PAGE_NAME });
|
|
47
|
+
presentation.children.push(pageElement);
|
|
48
|
+
const context = { pkg: this.pkg };
|
|
49
|
+
return new OdpSlide(presentation.children, pageElement, context);
|
|
50
|
+
}
|
|
51
|
+
removeSlideAt(index) {
|
|
52
|
+
const presentation = findOfficePresentation(this.pkg);
|
|
53
|
+
const target = presentation.children.filter((c) => c.type === "element" && c.tag === "draw:page")[index];
|
|
54
|
+
if (target === void 0) throw new Error(`slide index ${index} does not exist`);
|
|
55
|
+
const listIndex = presentation.children.indexOf(target);
|
|
56
|
+
presentation.children.splice(listIndex, 1);
|
|
57
|
+
}
|
|
58
|
+
moveSlide(from, to) {
|
|
59
|
+
const presentation = findOfficePresentation(this.pkg);
|
|
60
|
+
const pageIndices = [];
|
|
61
|
+
presentation.children.forEach((child, i) => {
|
|
62
|
+
if (child.type === "element" && child.tag === "draw:page") pageIndices.push(i);
|
|
63
|
+
});
|
|
64
|
+
const fromChildIndex = pageIndices[from];
|
|
65
|
+
if (fromChildIndex === void 0) throw new Error(`slide index ${from} does not exist`);
|
|
66
|
+
const [moved] = presentation.children.splice(fromChildIndex, 1);
|
|
67
|
+
if (moved === void 0) throw new Error(`slide index ${from} does not exist`);
|
|
68
|
+
const updatedIndices = [];
|
|
69
|
+
presentation.children.forEach((child, i) => {
|
|
70
|
+
if (child.type === "element" && child.tag === "draw:page") updatedIndices.push(i);
|
|
71
|
+
});
|
|
72
|
+
const insertAt = to < updatedIndices.length ? updatedIndices[to] ?? presentation.children.length : presentation.children.length;
|
|
73
|
+
presentation.children.splice(insertAt, 0, moved);
|
|
74
|
+
}
|
|
75
|
+
get slideSize() {
|
|
76
|
+
const properties = findPageLayoutProperties(this.pkg);
|
|
77
|
+
const widthValue = attr(properties, "fo:page-width");
|
|
78
|
+
const heightValue = attr(properties, "fo:page-height");
|
|
79
|
+
const widthPt = widthValue === void 0 ? void 0 : parseOdfLength(widthValue);
|
|
80
|
+
const heightPt = heightValue === void 0 ? void 0 : parseOdfLength(heightValue);
|
|
81
|
+
return {
|
|
82
|
+
widthPt: widthPt ?? 0,
|
|
83
|
+
heightPt: heightPt ?? 0
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
set slideSize(size) {
|
|
87
|
+
const properties = findPageLayoutProperties(this.pkg);
|
|
88
|
+
properties.attributes = [{
|
|
89
|
+
name: "fo:page-width",
|
|
90
|
+
value: formatOdfLength(size.widthPt)
|
|
91
|
+
}, {
|
|
92
|
+
name: "fo:page-height",
|
|
93
|
+
value: formatOdfLength(size.heightPt)
|
|
94
|
+
}];
|
|
95
|
+
}
|
|
96
|
+
toPackage() {
|
|
97
|
+
return this.pkg;
|
|
98
|
+
}
|
|
99
|
+
toBytes() {
|
|
100
|
+
return encodePackage$1(this.pkg);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
function openOdp(bytes) {
|
|
104
|
+
return new OdpEditor(decodePackage$1(bytes));
|
|
105
|
+
}
|
|
106
|
+
function createOdp() {
|
|
107
|
+
return new OdpEditor(createEmptyOdpPackage());
|
|
108
|
+
}
|
|
109
|
+
//#endregion
|
|
110
|
+
export { OdpEditor, createOdp, openOdp };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_odf_package_media = require("../../odf-package/media.cjs");
|
|
3
|
+
const require_edit_odp_shape = require("./shape.cjs");
|
|
4
|
+
//#region src/edit/odp/image.ts
|
|
5
|
+
function insertImageFrameMedia(context, frame, image) {
|
|
6
|
+
const { partPath } = require_odf_package_media.addImageMedia(context.pkg, image.bytes, image.format);
|
|
7
|
+
return require_edit_odp_shape.buildImageFrame(partPath, frame);
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
exports.insertImageFrameMedia = insertImageFrameMedia;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { addImageMedia } from "../../odf-package/media.js";
|
|
2
|
+
import { buildImageFrame } from "./shape.js";
|
|
3
|
+
//#region src/edit/odp/image.ts
|
|
4
|
+
function insertImageFrameMedia(context, frame, image) {
|
|
5
|
+
const { partPath } = addImageMedia(context.pkg, image.bytes, image.format);
|
|
6
|
+
return buildImageFrame(partPath, frame);
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { insertImageFrameMedia };
|