js.documents 1.57.1 → 1.59.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 +19 -7
- 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/capability.cjs +198 -0
- package/dist/convert/capability.d.cts +42 -0
- package/dist/convert/capability.d.ts +42 -0
- package/dist/convert/capability.js +195 -0
- package/dist/convert/codec.cjs +56 -0
- package/dist/convert/codec.d.cts +14 -0
- package/dist/convert/codec.d.ts +14 -0
- package/dist/convert/codec.js +46 -0
- package/dist/convert/convert.cjs +467 -0
- package/dist/convert/convert.d.cts +57 -0
- package/dist/convert/convert.d.ts +57 -0
- package/dist/convert/convert.js +441 -0
- package/dist/convert/local.cjs +84 -0
- package/dist/convert/local.d.cts +5 -0
- package/dist/convert/local.d.ts +5 -0
- package/dist/convert/local.js +83 -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/column-row.cjs +31 -0
- package/dist/edit/ods/column-row.d.cts +6 -0
- package/dist/edit/ods/column-row.d.ts +6 -0
- package/dist/edit/ods/column-row.js +29 -0
- package/dist/edit/ods/content.cjs +28 -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 +27 -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 +77 -0
- package/dist/edit/ods/sheet.d.cts +24 -0
- package/dist/edit/ods/sheet.d.ts +24 -0
- package/dist/edit/ods/sheet.js +76 -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 +204 -10863
- package/dist/index.d.cts +72 -1407
- package/dist/index.d.ts +72 -1407
- package/dist/index.js +68 -10728
- 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,176 @@
|
|
|
1
|
+
import { el } from "../../xml/fragment.js";
|
|
2
|
+
import { removeAttr, setAttr } from "../../xml/edit.js";
|
|
3
|
+
import { decodeOdfText, encodeOdfText } from "../../xml/odf-text.js";
|
|
4
|
+
import { OdtParagraph } from "../odt/paragraph.js";
|
|
5
|
+
import { populateParagraph } from "../odt/content.js";
|
|
6
|
+
import { attr } from "ooxml.js";
|
|
7
|
+
//#region src/edit/ods/cell.ts
|
|
8
|
+
const VALUE_TYPE_ATTR = "office:value-type";
|
|
9
|
+
const VALUE_ATTR = "office:value";
|
|
10
|
+
const BOOLEAN_VALUE_ATTR = "office:boolean-value";
|
|
11
|
+
const DATE_VALUE_ATTR = "office:date-value";
|
|
12
|
+
const TIME_VALUE_ATTR = "office:time-value";
|
|
13
|
+
const STRING_VALUE_ATTR = "office:string-value";
|
|
14
|
+
const CURRENCY_ATTR = "office:currency";
|
|
15
|
+
const FORMULA_ATTR = "table:formula";
|
|
16
|
+
const VALUE_ATTRS = [
|
|
17
|
+
VALUE_TYPE_ATTR,
|
|
18
|
+
VALUE_ATTR,
|
|
19
|
+
BOOLEAN_VALUE_ATTR,
|
|
20
|
+
DATE_VALUE_ATTR,
|
|
21
|
+
TIME_VALUE_ATTR,
|
|
22
|
+
STRING_VALUE_ATTR,
|
|
23
|
+
CURRENCY_ATTR
|
|
24
|
+
];
|
|
25
|
+
function parseNumber(raw) {
|
|
26
|
+
if (raw === void 0) return;
|
|
27
|
+
const value = Number(raw);
|
|
28
|
+
return Number.isNaN(value) ? void 0 : value;
|
|
29
|
+
}
|
|
30
|
+
var OdsCell = class {
|
|
31
|
+
node;
|
|
32
|
+
pkg;
|
|
33
|
+
constructor(node, pkg) {
|
|
34
|
+
this.node = node;
|
|
35
|
+
this.pkg = pkg;
|
|
36
|
+
}
|
|
37
|
+
get value() {
|
|
38
|
+
const valueType = attr(this.node, VALUE_TYPE_ATTR);
|
|
39
|
+
const displayText = this.displayText;
|
|
40
|
+
switch (valueType) {
|
|
41
|
+
case "float": {
|
|
42
|
+
const value = parseNumber(attr(this.node, VALUE_ATTR));
|
|
43
|
+
return value === void 0 ? {
|
|
44
|
+
kind: "string",
|
|
45
|
+
value: displayText
|
|
46
|
+
} : {
|
|
47
|
+
kind: "number",
|
|
48
|
+
value
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
case "percentage": {
|
|
52
|
+
const value = parseNumber(attr(this.node, VALUE_ATTR));
|
|
53
|
+
return value === void 0 ? {
|
|
54
|
+
kind: "string",
|
|
55
|
+
value: displayText
|
|
56
|
+
} : {
|
|
57
|
+
kind: "percentage",
|
|
58
|
+
value
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
case "currency": {
|
|
62
|
+
const value = parseNumber(attr(this.node, VALUE_ATTR));
|
|
63
|
+
if (value === void 0) return {
|
|
64
|
+
kind: "string",
|
|
65
|
+
value: displayText
|
|
66
|
+
};
|
|
67
|
+
const currency = attr(this.node, CURRENCY_ATTR);
|
|
68
|
+
return currency === void 0 ? {
|
|
69
|
+
kind: "currency",
|
|
70
|
+
value
|
|
71
|
+
} : {
|
|
72
|
+
kind: "currency",
|
|
73
|
+
value,
|
|
74
|
+
currency
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
case "boolean": {
|
|
78
|
+
const raw = attr(this.node, BOOLEAN_VALUE_ATTR);
|
|
79
|
+
return raw === void 0 ? {
|
|
80
|
+
kind: "string",
|
|
81
|
+
value: displayText
|
|
82
|
+
} : {
|
|
83
|
+
kind: "boolean",
|
|
84
|
+
value: raw === "true"
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
case "date": return {
|
|
88
|
+
kind: "date",
|
|
89
|
+
value: attr(this.node, DATE_VALUE_ATTR) ?? displayText
|
|
90
|
+
};
|
|
91
|
+
case "time": return {
|
|
92
|
+
kind: "time",
|
|
93
|
+
value: attr(this.node, TIME_VALUE_ATTR) ?? displayText
|
|
94
|
+
};
|
|
95
|
+
case "string": return {
|
|
96
|
+
kind: "string",
|
|
97
|
+
value: attr(this.node, STRING_VALUE_ATTR) ?? displayText
|
|
98
|
+
};
|
|
99
|
+
default: return { kind: "empty" };
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
set value(value) {
|
|
103
|
+
for (const name of VALUE_ATTRS) removeAttr(this.node, name);
|
|
104
|
+
switch (value.kind) {
|
|
105
|
+
case "number":
|
|
106
|
+
setAttr(this.node, VALUE_TYPE_ATTR, "float");
|
|
107
|
+
setAttr(this.node, VALUE_ATTR, String(value.value));
|
|
108
|
+
this.displayText = String(value.value);
|
|
109
|
+
break;
|
|
110
|
+
case "percentage":
|
|
111
|
+
setAttr(this.node, VALUE_TYPE_ATTR, "percentage");
|
|
112
|
+
setAttr(this.node, VALUE_ATTR, String(value.value));
|
|
113
|
+
this.displayText = `${value.value * 100}%`;
|
|
114
|
+
break;
|
|
115
|
+
case "currency":
|
|
116
|
+
setAttr(this.node, VALUE_TYPE_ATTR, "currency");
|
|
117
|
+
setAttr(this.node, VALUE_ATTR, String(value.value));
|
|
118
|
+
if (value.currency !== void 0) setAttr(this.node, CURRENCY_ATTR, value.currency);
|
|
119
|
+
this.displayText = value.currency === void 0 ? String(value.value) : `${value.value} ${value.currency}`;
|
|
120
|
+
break;
|
|
121
|
+
case "boolean":
|
|
122
|
+
setAttr(this.node, VALUE_TYPE_ATTR, "boolean");
|
|
123
|
+
setAttr(this.node, BOOLEAN_VALUE_ATTR, value.value ? "true" : "false");
|
|
124
|
+
this.displayText = value.value ? "TRUE" : "FALSE";
|
|
125
|
+
break;
|
|
126
|
+
case "date":
|
|
127
|
+
setAttr(this.node, VALUE_TYPE_ATTR, "date");
|
|
128
|
+
setAttr(this.node, DATE_VALUE_ATTR, value.value);
|
|
129
|
+
this.displayText = value.value;
|
|
130
|
+
break;
|
|
131
|
+
case "time":
|
|
132
|
+
setAttr(this.node, VALUE_TYPE_ATTR, "time");
|
|
133
|
+
setAttr(this.node, TIME_VALUE_ATTR, value.value);
|
|
134
|
+
this.displayText = value.value;
|
|
135
|
+
break;
|
|
136
|
+
case "string":
|
|
137
|
+
setAttr(this.node, VALUE_TYPE_ATTR, "string");
|
|
138
|
+
setAttr(this.node, STRING_VALUE_ATTR, value.value);
|
|
139
|
+
this.displayText = value.value;
|
|
140
|
+
break;
|
|
141
|
+
case "error":
|
|
142
|
+
setAttr(this.node, VALUE_TYPE_ATTR, "string");
|
|
143
|
+
setAttr(this.node, STRING_VALUE_ATTR, value.value);
|
|
144
|
+
this.displayText = value.value;
|
|
145
|
+
break;
|
|
146
|
+
case "empty": this.displayText = "";
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
get formula() {
|
|
150
|
+
return attr(this.node, FORMULA_ATTR);
|
|
151
|
+
}
|
|
152
|
+
set formula(value) {
|
|
153
|
+
if (value === void 0) {
|
|
154
|
+
removeAttr(this.node, FORMULA_ATTR);
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
setAttr(this.node, FORMULA_ATTR, value);
|
|
158
|
+
}
|
|
159
|
+
get displayText() {
|
|
160
|
+
return this.node.children.filter((child) => child.type === "element" && child.tag === "text:p").map((paragraph) => decodeOdfText(paragraph.children)).join("\n");
|
|
161
|
+
}
|
|
162
|
+
set displayText(value) {
|
|
163
|
+
this.node.children = [el("text:p", {}, encodeOdfText(value))];
|
|
164
|
+
}
|
|
165
|
+
setStyledRuns(runs) {
|
|
166
|
+
const textParagraph = el("text:p");
|
|
167
|
+
this.node.children = [textParagraph];
|
|
168
|
+
const paragraph = new OdtParagraph(this.node.children, textParagraph, this.pkg);
|
|
169
|
+
populateParagraph(paragraph, {
|
|
170
|
+
kind: "paragraph",
|
|
171
|
+
runs: [...runs]
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
//#endregion
|
|
176
|
+
export { OdsCell };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_xml_fragment = require("../../xml/fragment.cjs");
|
|
3
|
+
const require_xml_edit = require("../../xml/edit.cjs");
|
|
4
|
+
const require_edit_odt_automatic_styles = require("../odt/automatic-styles.cjs");
|
|
5
|
+
const require_edit_ods_address = require("./address.cjs");
|
|
6
|
+
let odf_js = require("odf.js");
|
|
7
|
+
//#region src/edit/ods/column-row.ts
|
|
8
|
+
function writeColumnWidth(pkg, tableElement, index, widthPt) {
|
|
9
|
+
require_edit_ods_address.ensureColumnCoverage(tableElement, index + 1);
|
|
10
|
+
const columnElement = require_edit_ods_address.replaceRun(tableElement.children, require_edit_ods_address.isElementWithTag(require_edit_ods_address.COLUMN_TAG), index, require_edit_ods_address.COLUMN_REPEAT_ATTR, () => require_xml_fragment.el(require_edit_ods_address.COLUMN_TAG));
|
|
11
|
+
const automaticStyles = require_edit_odt_automatic_styles.ensureAutomaticStyles(pkg);
|
|
12
|
+
const styleName = require_edit_odt_automatic_styles.nextStyleName(automaticStyles, "style:style", "OdsColumn");
|
|
13
|
+
automaticStyles.children.push(require_xml_fragment.el("style:style", {
|
|
14
|
+
"style:name": styleName,
|
|
15
|
+
"style:family": "table-column"
|
|
16
|
+
}, [require_xml_fragment.el("style:table-column-properties", { "style:column-width": (0, odf_js.formatOdfLength)(widthPt) })]));
|
|
17
|
+
require_xml_edit.setAttr(columnElement, "table:style-name", styleName);
|
|
18
|
+
}
|
|
19
|
+
function writeRowHeight(pkg, tableElement, index, heightPt) {
|
|
20
|
+
const rowElement = require_edit_ods_address.replaceRun(tableElement.children, require_edit_ods_address.isElementWithTag(require_edit_ods_address.ROW_TAG), index, require_edit_ods_address.ROW_REPEAT_ATTR, () => require_xml_fragment.el(require_edit_ods_address.ROW_TAG));
|
|
21
|
+
const automaticStyles = require_edit_odt_automatic_styles.ensureAutomaticStyles(pkg);
|
|
22
|
+
const styleName = require_edit_odt_automatic_styles.nextStyleName(automaticStyles, "style:style", "OdsRow");
|
|
23
|
+
automaticStyles.children.push(require_xml_fragment.el("style:style", {
|
|
24
|
+
"style:name": styleName,
|
|
25
|
+
"style:family": "table-row"
|
|
26
|
+
}, [require_xml_fragment.el("style:table-row-properties", { "style:row-height": (0, odf_js.formatOdfLength)(heightPt) })]));
|
|
27
|
+
require_xml_edit.setAttr(rowElement, "table:style-name", styleName);
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
exports.writeColumnWidth = writeColumnWidth;
|
|
31
|
+
exports.writeRowHeight = writeRowHeight;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Package, XmlElement } from "odf.js";
|
|
2
|
+
//#region src/edit/ods/column-row.d.ts
|
|
3
|
+
declare function writeColumnWidth(pkg: Package, tableElement: XmlElement, index: number, widthPt: number): void;
|
|
4
|
+
declare function writeRowHeight(pkg: Package, tableElement: XmlElement, index: number, heightPt: number): void;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { writeColumnWidth, writeRowHeight };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Package, XmlElement } from "odf.js";
|
|
2
|
+
//#region src/edit/ods/column-row.d.ts
|
|
3
|
+
declare function writeColumnWidth(pkg: Package, tableElement: XmlElement, index: number, widthPt: number): void;
|
|
4
|
+
declare function writeRowHeight(pkg: Package, tableElement: XmlElement, index: number, heightPt: number): void;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { writeColumnWidth, writeRowHeight };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { el } from "../../xml/fragment.js";
|
|
2
|
+
import { setAttr } from "../../xml/edit.js";
|
|
3
|
+
import { ensureAutomaticStyles, nextStyleName } from "../odt/automatic-styles.js";
|
|
4
|
+
import { COLUMN_REPEAT_ATTR, COLUMN_TAG, ROW_REPEAT_ATTR, ROW_TAG, ensureColumnCoverage, isElementWithTag, replaceRun } from "./address.js";
|
|
5
|
+
import { formatOdfLength } from "odf.js";
|
|
6
|
+
//#region src/edit/ods/column-row.ts
|
|
7
|
+
function writeColumnWidth(pkg, tableElement, index, widthPt) {
|
|
8
|
+
ensureColumnCoverage(tableElement, index + 1);
|
|
9
|
+
const columnElement = replaceRun(tableElement.children, isElementWithTag(COLUMN_TAG), index, COLUMN_REPEAT_ATTR, () => el(COLUMN_TAG));
|
|
10
|
+
const automaticStyles = ensureAutomaticStyles(pkg);
|
|
11
|
+
const styleName = nextStyleName(automaticStyles, "style:style", "OdsColumn");
|
|
12
|
+
automaticStyles.children.push(el("style:style", {
|
|
13
|
+
"style:name": styleName,
|
|
14
|
+
"style:family": "table-column"
|
|
15
|
+
}, [el("style:table-column-properties", { "style:column-width": formatOdfLength(widthPt) })]));
|
|
16
|
+
setAttr(columnElement, "table:style-name", styleName);
|
|
17
|
+
}
|
|
18
|
+
function writeRowHeight(pkg, tableElement, index, heightPt) {
|
|
19
|
+
const rowElement = replaceRun(tableElement.children, isElementWithTag(ROW_TAG), index, ROW_REPEAT_ATTR, () => el(ROW_TAG));
|
|
20
|
+
const automaticStyles = ensureAutomaticStyles(pkg);
|
|
21
|
+
const styleName = nextStyleName(automaticStyles, "style:style", "OdsRow");
|
|
22
|
+
automaticStyles.children.push(el("style:style", {
|
|
23
|
+
"style:name": styleName,
|
|
24
|
+
"style:family": "table-row"
|
|
25
|
+
}, [el("style:table-row-properties", { "style:row-height": formatOdfLength(heightPt) })]));
|
|
26
|
+
setAttr(rowElement, "table:style-name", styleName);
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { writeColumnWidth, writeRowHeight };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_edit_ods_editor = require("./editor.cjs");
|
|
3
|
+
//#region src/edit/ods/content.ts
|
|
4
|
+
function buildOdsPackage(content) {
|
|
5
|
+
if (content.kind !== "spreadsheet") throw new Error("buildOdsPackage requires a spreadsheet ContentDocument");
|
|
6
|
+
const editor = require_edit_ods_editor.createOds();
|
|
7
|
+
if (content.sheets.length > 0) editor.removeSheetAt(0);
|
|
8
|
+
for (const sheet of content.sheets) {
|
|
9
|
+
const odsSheet = editor.addSheet(sheet.name);
|
|
10
|
+
odsSheet.printSettings = sheet.printSettings;
|
|
11
|
+
for (const cell of sheet.cells) appendCell(odsSheet, cell);
|
|
12
|
+
for (const column of sheet.columns) odsSheet.setColumnWidth(column.index, column.widthPt);
|
|
13
|
+
for (const row of sheet.rows) odsSheet.setRowHeight(row.index, row.heightPt);
|
|
14
|
+
}
|
|
15
|
+
return editor.toPackage();
|
|
16
|
+
}
|
|
17
|
+
function appendCell(odsSheet, cell) {
|
|
18
|
+
const odsCell = odsSheet.cell(cell.row, cell.column);
|
|
19
|
+
odsCell.value = cell.value;
|
|
20
|
+
if (cell.formula !== void 0) odsCell.formula = cell.formula;
|
|
21
|
+
if (cell.runs !== void 0 && cell.runs.length > 0) odsCell.setStyledRuns(cell.runs);
|
|
22
|
+
else odsCell.displayText = cell.displayText;
|
|
23
|
+
const rowSpan = cell.rowSpan ?? 1;
|
|
24
|
+
const colSpan = cell.colSpan ?? 1;
|
|
25
|
+
if (rowSpan > 1 || colSpan > 1) odsSheet.mergeCells(cell.row, cell.column, rowSpan, colSpan);
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
exports.buildOdsPackage = buildOdsPackage;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createOds } from "./editor.js";
|
|
2
|
+
//#region src/edit/ods/content.ts
|
|
3
|
+
function buildOdsPackage(content) {
|
|
4
|
+
if (content.kind !== "spreadsheet") throw new Error("buildOdsPackage requires a spreadsheet ContentDocument");
|
|
5
|
+
const editor = createOds();
|
|
6
|
+
if (content.sheets.length > 0) editor.removeSheetAt(0);
|
|
7
|
+
for (const sheet of content.sheets) {
|
|
8
|
+
const odsSheet = editor.addSheet(sheet.name);
|
|
9
|
+
odsSheet.printSettings = sheet.printSettings;
|
|
10
|
+
for (const cell of sheet.cells) appendCell(odsSheet, cell);
|
|
11
|
+
for (const column of sheet.columns) odsSheet.setColumnWidth(column.index, column.widthPt);
|
|
12
|
+
for (const row of sheet.rows) odsSheet.setRowHeight(row.index, row.heightPt);
|
|
13
|
+
}
|
|
14
|
+
return editor.toPackage();
|
|
15
|
+
}
|
|
16
|
+
function appendCell(odsSheet, cell) {
|
|
17
|
+
const odsCell = odsSheet.cell(cell.row, cell.column);
|
|
18
|
+
odsCell.value = cell.value;
|
|
19
|
+
if (cell.formula !== void 0) odsCell.formula = cell.formula;
|
|
20
|
+
if (cell.runs !== void 0 && cell.runs.length > 0) odsCell.setStyledRuns(cell.runs);
|
|
21
|
+
else odsCell.displayText = cell.displayText;
|
|
22
|
+
const rowSpan = cell.rowSpan ?? 1;
|
|
23
|
+
const colSpan = cell.colSpan ?? 1;
|
|
24
|
+
if (rowSpan > 1 || colSpan > 1) odsSheet.mergeCells(cell.row, cell.column, rowSpan, colSpan);
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { buildOdsPackage };
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_xml_fragment = require("../../xml/fragment.cjs");
|
|
3
|
+
const require_edit_odt_automatic_styles = require("../odt/automatic-styles.cjs");
|
|
4
|
+
const require_edit_ods_scaffold = require("./scaffold.cjs");
|
|
5
|
+
const require_edit_ods_sheet = require("./sheet.cjs");
|
|
6
|
+
let ooxml_js = require("ooxml.js");
|
|
7
|
+
let odf_js = require("odf.js");
|
|
8
|
+
//#region src/edit/ods/editor.ts
|
|
9
|
+
const CONTENT_PART_PATH = "content.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) {
|
|
14
|
+
const part = pkg.parts[CONTENT_PART_PATH];
|
|
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 ${CONTENT_PART_PATH}`);
|
|
17
|
+
return root;
|
|
18
|
+
}
|
|
19
|
+
function findOfficeSpreadsheet(pkg) {
|
|
20
|
+
const body = directChild(findRoot(pkg), "office:body");
|
|
21
|
+
const spreadsheet = body === void 0 ? void 0 : directChild(body, "office:spreadsheet");
|
|
22
|
+
if (spreadsheet === void 0) throw new Error(`${CONTENT_PART_PATH} has no office:body/office:spreadsheet element`);
|
|
23
|
+
return spreadsheet;
|
|
24
|
+
}
|
|
25
|
+
function ensureSheetTableStyleName(pkg) {
|
|
26
|
+
const automaticStyles = require_edit_odt_automatic_styles.ensureAutomaticStyles(pkg);
|
|
27
|
+
if (automaticStyles.children.find((child) => child.type === "element" && child.tag === "style:style" && (0, ooxml_js.attr)(child, "style:name") === "OdsTable") !== void 0) return require_edit_ods_scaffold.SHEET_TABLE_STYLE_NAME;
|
|
28
|
+
automaticStyles.children.push(require_xml_fragment.el("style:style", {
|
|
29
|
+
"style:name": require_edit_ods_scaffold.SHEET_TABLE_STYLE_NAME,
|
|
30
|
+
"style:family": "table",
|
|
31
|
+
"style:master-page-name": require_edit_ods_scaffold.MASTER_PAGE_NAME
|
|
32
|
+
}));
|
|
33
|
+
return require_edit_ods_scaffold.SHEET_TABLE_STYLE_NAME;
|
|
34
|
+
}
|
|
35
|
+
var OdsEditor = class {
|
|
36
|
+
pkg;
|
|
37
|
+
constructor(pkg) {
|
|
38
|
+
this.pkg = pkg;
|
|
39
|
+
}
|
|
40
|
+
sheets() {
|
|
41
|
+
const spreadsheet = findOfficeSpreadsheet(this.pkg);
|
|
42
|
+
const out = [];
|
|
43
|
+
for (const child of spreadsheet.children) if (child.type === "element" && child.tag === "table:table") out.push(new require_edit_ods_sheet.OdsSheet(spreadsheet.children, child, this.pkg));
|
|
44
|
+
return out;
|
|
45
|
+
}
|
|
46
|
+
sheet(name) {
|
|
47
|
+
const found = this.sheets().find((candidate) => candidate.name === name);
|
|
48
|
+
if (found === void 0) throw new Error(`no sheet named "${name}" exists in this spreadsheet`);
|
|
49
|
+
return found;
|
|
50
|
+
}
|
|
51
|
+
addSheet(name) {
|
|
52
|
+
const spreadsheet = findOfficeSpreadsheet(this.pkg);
|
|
53
|
+
const styleName = ensureSheetTableStyleName(this.pkg);
|
|
54
|
+
const tableElement = require_xml_fragment.el("table:table", {
|
|
55
|
+
"table:name": name,
|
|
56
|
+
"table:style-name": styleName
|
|
57
|
+
});
|
|
58
|
+
spreadsheet.children.push(tableElement);
|
|
59
|
+
return new require_edit_ods_sheet.OdsSheet(spreadsheet.children, tableElement, this.pkg);
|
|
60
|
+
}
|
|
61
|
+
removeSheetAt(index) {
|
|
62
|
+
const spreadsheet = findOfficeSpreadsheet(this.pkg);
|
|
63
|
+
const target = spreadsheet.children.filter((child) => child.type === "element" && child.tag === "table:table")[index];
|
|
64
|
+
if (target === void 0) throw new Error(`sheet index ${index} does not exist`);
|
|
65
|
+
const listIndex = spreadsheet.children.indexOf(target);
|
|
66
|
+
spreadsheet.children.splice(listIndex, 1);
|
|
67
|
+
}
|
|
68
|
+
toPackage() {
|
|
69
|
+
return this.pkg;
|
|
70
|
+
}
|
|
71
|
+
toBytes() {
|
|
72
|
+
return (0, odf_js.encodePackage)(this.pkg);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
function openOds(bytes) {
|
|
76
|
+
return new OdsEditor((0, odf_js.decodePackage)(bytes));
|
|
77
|
+
}
|
|
78
|
+
function createOds() {
|
|
79
|
+
return new OdsEditor(require_edit_ods_scaffold.createEmptyOdsPackage());
|
|
80
|
+
}
|
|
81
|
+
//#endregion
|
|
82
|
+
exports.OdsEditor = OdsEditor;
|
|
83
|
+
exports.createOds = createOds;
|
|
84
|
+
exports.openOds = openOds;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { OdsSheet } from "./sheet.cjs";
|
|
2
|
+
import { Package } from "odf.js";
|
|
3
|
+
//#region src/edit/ods/editor.d.ts
|
|
4
|
+
declare class OdsEditor {
|
|
5
|
+
private readonly pkg;
|
|
6
|
+
constructor(pkg: Package);
|
|
7
|
+
sheets(): OdsSheet[];
|
|
8
|
+
sheet(name: string): OdsSheet;
|
|
9
|
+
addSheet(name: string): OdsSheet;
|
|
10
|
+
removeSheetAt(index: number): void;
|
|
11
|
+
toPackage(): Package;
|
|
12
|
+
toBytes(): Uint8Array<ArrayBuffer>;
|
|
13
|
+
}
|
|
14
|
+
declare function openOds(bytes: Uint8Array<ArrayBuffer>): OdsEditor;
|
|
15
|
+
declare function createOds(): OdsEditor;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { OdsEditor, createOds, openOds };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { OdsSheet } from "./sheet.js";
|
|
2
|
+
import { Package } from "odf.js";
|
|
3
|
+
//#region src/edit/ods/editor.d.ts
|
|
4
|
+
declare class OdsEditor {
|
|
5
|
+
private readonly pkg;
|
|
6
|
+
constructor(pkg: Package);
|
|
7
|
+
sheets(): OdsSheet[];
|
|
8
|
+
sheet(name: string): OdsSheet;
|
|
9
|
+
addSheet(name: string): OdsSheet;
|
|
10
|
+
removeSheetAt(index: number): void;
|
|
11
|
+
toPackage(): Package;
|
|
12
|
+
toBytes(): Uint8Array<ArrayBuffer>;
|
|
13
|
+
}
|
|
14
|
+
declare function openOds(bytes: Uint8Array<ArrayBuffer>): OdsEditor;
|
|
15
|
+
declare function createOds(): OdsEditor;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { OdsEditor, createOds, openOds };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { el } from "../../xml/fragment.js";
|
|
2
|
+
import { ensureAutomaticStyles } from "../odt/automatic-styles.js";
|
|
3
|
+
import { MASTER_PAGE_NAME, SHEET_TABLE_STYLE_NAME, createEmptyOdsPackage } from "./scaffold.js";
|
|
4
|
+
import { OdsSheet } from "./sheet.js";
|
|
5
|
+
import { attr } from "ooxml.js";
|
|
6
|
+
import { decodePackage as decodePackage$1, encodePackage as encodePackage$1 } from "odf.js";
|
|
7
|
+
//#region src/edit/ods/editor.ts
|
|
8
|
+
const CONTENT_PART_PATH = "content.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) {
|
|
13
|
+
const part = pkg.parts[CONTENT_PART_PATH];
|
|
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 ${CONTENT_PART_PATH}`);
|
|
16
|
+
return root;
|
|
17
|
+
}
|
|
18
|
+
function findOfficeSpreadsheet(pkg) {
|
|
19
|
+
const body = directChild(findRoot(pkg), "office:body");
|
|
20
|
+
const spreadsheet = body === void 0 ? void 0 : directChild(body, "office:spreadsheet");
|
|
21
|
+
if (spreadsheet === void 0) throw new Error(`${CONTENT_PART_PATH} has no office:body/office:spreadsheet element`);
|
|
22
|
+
return spreadsheet;
|
|
23
|
+
}
|
|
24
|
+
function ensureSheetTableStyleName(pkg) {
|
|
25
|
+
const automaticStyles = ensureAutomaticStyles(pkg);
|
|
26
|
+
if (automaticStyles.children.find((child) => child.type === "element" && child.tag === "style:style" && attr(child, "style:name") === "OdsTable") !== void 0) return SHEET_TABLE_STYLE_NAME;
|
|
27
|
+
automaticStyles.children.push(el("style:style", {
|
|
28
|
+
"style:name": SHEET_TABLE_STYLE_NAME,
|
|
29
|
+
"style:family": "table",
|
|
30
|
+
"style:master-page-name": MASTER_PAGE_NAME
|
|
31
|
+
}));
|
|
32
|
+
return SHEET_TABLE_STYLE_NAME;
|
|
33
|
+
}
|
|
34
|
+
var OdsEditor = class {
|
|
35
|
+
pkg;
|
|
36
|
+
constructor(pkg) {
|
|
37
|
+
this.pkg = pkg;
|
|
38
|
+
}
|
|
39
|
+
sheets() {
|
|
40
|
+
const spreadsheet = findOfficeSpreadsheet(this.pkg);
|
|
41
|
+
const out = [];
|
|
42
|
+
for (const child of spreadsheet.children) if (child.type === "element" && child.tag === "table:table") out.push(new OdsSheet(spreadsheet.children, child, this.pkg));
|
|
43
|
+
return out;
|
|
44
|
+
}
|
|
45
|
+
sheet(name) {
|
|
46
|
+
const found = this.sheets().find((candidate) => candidate.name === name);
|
|
47
|
+
if (found === void 0) throw new Error(`no sheet named "${name}" exists in this spreadsheet`);
|
|
48
|
+
return found;
|
|
49
|
+
}
|
|
50
|
+
addSheet(name) {
|
|
51
|
+
const spreadsheet = findOfficeSpreadsheet(this.pkg);
|
|
52
|
+
const styleName = ensureSheetTableStyleName(this.pkg);
|
|
53
|
+
const tableElement = el("table:table", {
|
|
54
|
+
"table:name": name,
|
|
55
|
+
"table:style-name": styleName
|
|
56
|
+
});
|
|
57
|
+
spreadsheet.children.push(tableElement);
|
|
58
|
+
return new OdsSheet(spreadsheet.children, tableElement, this.pkg);
|
|
59
|
+
}
|
|
60
|
+
removeSheetAt(index) {
|
|
61
|
+
const spreadsheet = findOfficeSpreadsheet(this.pkg);
|
|
62
|
+
const target = spreadsheet.children.filter((child) => child.type === "element" && child.tag === "table:table")[index];
|
|
63
|
+
if (target === void 0) throw new Error(`sheet index ${index} does not exist`);
|
|
64
|
+
const listIndex = spreadsheet.children.indexOf(target);
|
|
65
|
+
spreadsheet.children.splice(listIndex, 1);
|
|
66
|
+
}
|
|
67
|
+
toPackage() {
|
|
68
|
+
return this.pkg;
|
|
69
|
+
}
|
|
70
|
+
toBytes() {
|
|
71
|
+
return encodePackage$1(this.pkg);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
function openOds(bytes) {
|
|
75
|
+
return new OdsEditor(decodePackage$1(bytes));
|
|
76
|
+
}
|
|
77
|
+
function createOds() {
|
|
78
|
+
return new OdsEditor(createEmptyOdsPackage());
|
|
79
|
+
}
|
|
80
|
+
//#endregion
|
|
81
|
+
export { OdsEditor, createOds, openOds };
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_xml_fragment = require("../../xml/fragment.cjs");
|
|
3
|
+
const require_xml_edit = require("../../xml/edit.cjs");
|
|
4
|
+
const require_edit_odt_automatic_styles = require("../odt/automatic-styles.cjs");
|
|
5
|
+
let ooxml_js = require("ooxml.js");
|
|
6
|
+
let odf_js = require("odf.js");
|
|
7
|
+
let document_schema_js = require("document-schema.js");
|
|
8
|
+
//#region src/edit/ods/print-settings.ts
|
|
9
|
+
const STYLES_PART_PATH = "styles.xml";
|
|
10
|
+
const CONTENT_PART_PATH = "content.xml";
|
|
11
|
+
function findRoot(pkg, partPath) {
|
|
12
|
+
const part = pkg.parts[partPath];
|
|
13
|
+
const root = part?.kind === "xml" ? part.nodes.find((n) => n.type === "element") : void 0;
|
|
14
|
+
if (root === void 0) throw new Error(`package has no root element at ${partPath}`);
|
|
15
|
+
return root;
|
|
16
|
+
}
|
|
17
|
+
function directChild(parent, tag) {
|
|
18
|
+
for (const child of parent.children) if (child.type === "element" && child.tag === tag) return child;
|
|
19
|
+
}
|
|
20
|
+
function findStylesAutomaticStyles(pkg) {
|
|
21
|
+
const found = directChild(findRoot(pkg, STYLES_PART_PATH), "office:automatic-styles");
|
|
22
|
+
if (found === void 0) throw new Error(`${STYLES_PART_PATH} has no office:automatic-styles element`);
|
|
23
|
+
return found;
|
|
24
|
+
}
|
|
25
|
+
function findMasterStyles(pkg) {
|
|
26
|
+
const found = directChild(findRoot(pkg, STYLES_PART_PATH), "office:master-styles");
|
|
27
|
+
if (found === void 0) throw new Error(`${STYLES_PART_PATH} has no office:master-styles element`);
|
|
28
|
+
return found;
|
|
29
|
+
}
|
|
30
|
+
function findContentAutomaticStyles(pkg) {
|
|
31
|
+
const found = directChild(findRoot(pkg, CONTENT_PART_PATH), "office:automatic-styles");
|
|
32
|
+
if (found === void 0) throw new Error(`${CONTENT_PART_PATH} has no office:automatic-styles element`);
|
|
33
|
+
return found;
|
|
34
|
+
}
|
|
35
|
+
const DEFAULT_MARGIN_PT = 56.69291338582677;
|
|
36
|
+
const DEFAULT_MARGINS = {
|
|
37
|
+
topPt: DEFAULT_MARGIN_PT,
|
|
38
|
+
rightPt: DEFAULT_MARGIN_PT,
|
|
39
|
+
bottomPt: DEFAULT_MARGIN_PT,
|
|
40
|
+
leftPt: DEFAULT_MARGIN_PT
|
|
41
|
+
};
|
|
42
|
+
function readSheetPrintSettings(pkg, tableElement) {
|
|
43
|
+
const tableStyleName = (0, ooxml_js.attr)(tableElement, "table:style-name");
|
|
44
|
+
const tableStyleElement = tableStyleName === void 0 ? void 0 : (0, odf_js.findStyleElement)(tableStyleName, "table", pkg);
|
|
45
|
+
const masterPageName = tableStyleElement === void 0 ? void 0 : (0, ooxml_js.attr)(tableStyleElement, "style:master-page-name");
|
|
46
|
+
const layoutProperties = (0, odf_js.resolvePageLayoutProperties)(pkg, masterPageName);
|
|
47
|
+
const pageSize = layoutProperties === void 0 ? void 0 : (0, odf_js.parsePageSize)(layoutProperties);
|
|
48
|
+
const margins = layoutProperties === void 0 ? void 0 : (0, odf_js.parseMargins)(layoutProperties);
|
|
49
|
+
const printTokens = new Set((layoutProperties === void 0 ? void 0 : (0, ooxml_js.attr)(layoutProperties, "style:print"))?.split(" ").filter((token) => token.length > 0) ?? []);
|
|
50
|
+
const pageOrder = (layoutProperties === void 0 ? void 0 : (0, ooxml_js.attr)(layoutProperties, "style:print-page-order")) === "ltr" ? "overThenDown" : "downThenOver";
|
|
51
|
+
return {
|
|
52
|
+
pageSize: pageSize ?? document_schema_js.PAGE_SIZE_A4,
|
|
53
|
+
margins: margins ?? DEFAULT_MARGINS,
|
|
54
|
+
gridlines: printTokens.has("grid"),
|
|
55
|
+
headers: printTokens.has("headers"),
|
|
56
|
+
pageOrder
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function writeSheetPrintSettings(pkg, tableElement, settings) {
|
|
60
|
+
const stylesAutomaticStyles = findStylesAutomaticStyles(pkg);
|
|
61
|
+
const masterStyles = findMasterStyles(pkg);
|
|
62
|
+
const contentAutomaticStyles = findContentAutomaticStyles(pkg);
|
|
63
|
+
const printTokens = [settings.gridlines ? "grid" : void 0, settings.headers ? "headers" : void 0].filter((token) => token !== void 0);
|
|
64
|
+
const pageLayoutName = require_edit_odt_automatic_styles.nextStyleName(stylesAutomaticStyles, "style:page-layout", "OdsPageLayout");
|
|
65
|
+
stylesAutomaticStyles.children.push(require_xml_fragment.el("style:page-layout", { "style:name": pageLayoutName }, [require_xml_fragment.el("style:page-layout-properties", {
|
|
66
|
+
"fo:page-width": (0, odf_js.formatOdfLength)(settings.pageSize.widthPt),
|
|
67
|
+
"fo:page-height": (0, odf_js.formatOdfLength)(settings.pageSize.heightPt),
|
|
68
|
+
"fo:margin-top": (0, odf_js.formatOdfLength)(settings.margins.topPt),
|
|
69
|
+
"fo:margin-right": (0, odf_js.formatOdfLength)(settings.margins.rightPt),
|
|
70
|
+
"fo:margin-bottom": (0, odf_js.formatOdfLength)(settings.margins.bottomPt),
|
|
71
|
+
"fo:margin-left": (0, odf_js.formatOdfLength)(settings.margins.leftPt),
|
|
72
|
+
...printTokens.length > 0 ? { "style:print": printTokens.join(" ") } : {},
|
|
73
|
+
"style:print-page-order": settings.pageOrder === "overThenDown" ? "ltr" : "ttb"
|
|
74
|
+
})]));
|
|
75
|
+
const masterPageName = require_edit_odt_automatic_styles.nextStyleName(masterStyles, "style:master-page", "OdsMasterPage");
|
|
76
|
+
masterStyles.children.push(require_xml_fragment.el("style:master-page", {
|
|
77
|
+
"style:name": masterPageName,
|
|
78
|
+
"style:page-layout-name": pageLayoutName
|
|
79
|
+
}));
|
|
80
|
+
const tableStyleName = require_edit_odt_automatic_styles.nextStyleName(contentAutomaticStyles, "style:style", "OdsSheetPrint");
|
|
81
|
+
contentAutomaticStyles.children.push(require_xml_fragment.el("style:style", {
|
|
82
|
+
"style:name": tableStyleName,
|
|
83
|
+
"style:family": "table",
|
|
84
|
+
"style:master-page-name": masterPageName
|
|
85
|
+
}));
|
|
86
|
+
require_xml_edit.setAttr(tableElement, "table:style-name", tableStyleName);
|
|
87
|
+
}
|
|
88
|
+
//#endregion
|
|
89
|
+
exports.readSheetPrintSettings = readSheetPrintSettings;
|
|
90
|
+
exports.writeSheetPrintSettings = writeSheetPrintSettings;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ContentSheetPrintSettings } from "document-schema.js";
|
|
2
|
+
import { Package, XmlElement } from "odf.js";
|
|
3
|
+
//#region src/edit/ods/print-settings.d.ts
|
|
4
|
+
declare function readSheetPrintSettings(pkg: Package, tableElement: XmlElement): ContentSheetPrintSettings;
|
|
5
|
+
declare function writeSheetPrintSettings(pkg: Package, tableElement: XmlElement, settings: ContentSheetPrintSettings): void;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { readSheetPrintSettings, writeSheetPrintSettings };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ContentSheetPrintSettings } from "document-schema.js";
|
|
2
|
+
import { Package, XmlElement } from "odf.js";
|
|
3
|
+
//#region src/edit/ods/print-settings.d.ts
|
|
4
|
+
declare function readSheetPrintSettings(pkg: Package, tableElement: XmlElement): ContentSheetPrintSettings;
|
|
5
|
+
declare function writeSheetPrintSettings(pkg: Package, tableElement: XmlElement, settings: ContentSheetPrintSettings): void;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { readSheetPrintSettings, writeSheetPrintSettings };
|