abstract-sheet 0.0.2
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/CHANGELOG.md +7 -0
- package/LICENSE +21 -0
- package/README.md +7 -0
- package/lib/abstract-3d.d.ts +313 -0
- package/lib/abstract-3d.d.ts.map +1 -0
- package/lib/abstract-3d.js +333 -0
- package/lib/abstract-3d.js.map +1 -0
- package/lib/abstract-sheet/abstract-sheet-xsd.d.ts +2 -0
- package/lib/abstract-sheet/abstract-sheet-xsd.d.ts.map +1 -0
- package/lib/abstract-sheet/abstract-sheet-xsd.js +150 -0
- package/lib/abstract-sheet/abstract-sheet-xsd.js.map +1 -0
- package/lib/abstract-sheet/abstract-sheet.d.ts +68 -0
- package/lib/abstract-sheet/abstract-sheet.d.ts.map +1 -0
- package/lib/abstract-sheet/abstract-sheet.js +19 -0
- package/lib/abstract-sheet/abstract-sheet.js.map +1 -0
- package/lib/abstract-sheet/index.d.ts +3 -0
- package/lib/abstract-sheet/index.d.ts.map +1 -0
- package/lib/abstract-sheet/index.js +19 -0
- package/lib/abstract-sheet/index.js.map +1 -0
- package/lib/abstract-sheet-exporters/_xlsx-sheet.d.ts +5 -0
- package/lib/abstract-sheet-exporters/_xlsx-sheet.d.ts.map +1 -0
- package/lib/abstract-sheet-exporters/_xlsx-sheet.js +171 -0
- package/lib/abstract-sheet-exporters/_xlsx-sheet.js.map +1 -0
- package/lib/abstract-sheet-exporters/csv.d.ts +16 -0
- package/lib/abstract-sheet-exporters/csv.d.ts.map +1 -0
- package/lib/abstract-sheet-exporters/csv.js +47 -0
- package/lib/abstract-sheet-exporters/csv.js.map +1 -0
- package/lib/abstract-sheet-exporters/index.d.ts +3 -0
- package/lib/abstract-sheet-exporters/index.d.ts.map +1 -0
- package/lib/abstract-sheet-exporters/index.js +19 -0
- package/lib/abstract-sheet-exporters/index.js.map +1 -0
- package/lib/abstract-sheet-exporters/xlsx.d.ts +4 -0
- package/lib/abstract-sheet-exporters/xlsx.d.ts.map +1 -0
- package/lib/abstract-sheet-exporters/xlsx.js +42 -0
- package/lib/abstract-sheet-exporters/xlsx.js.map +1 -0
- package/lib/abstract-sheet-xml/abstract-sheet-of-xml.d.ts +3 -0
- package/lib/abstract-sheet-xml/abstract-sheet-of-xml.d.ts.map +1 -0
- package/lib/abstract-sheet-xml/abstract-sheet-of-xml.js +21 -0
- package/lib/abstract-sheet-xml/abstract-sheet-of-xml.js.map +1 -0
- package/lib/abstract-sheet-xml/abstract-sheet-xml.d.ts +4 -0
- package/lib/abstract-sheet-xml/abstract-sheet-xml.d.ts.map +1 -0
- package/lib/abstract-sheet-xml/abstract-sheet-xml.js +122 -0
- package/lib/abstract-sheet-xml/abstract-sheet-xml.js.map +1 -0
- package/lib/abstract-sheet-xml/creator.d.ts +3 -0
- package/lib/abstract-sheet-xml/creator.d.ts.map +1 -0
- package/lib/abstract-sheet-xml/creator.js +118 -0
- package/lib/abstract-sheet-xml/creator.js.map +1 -0
- package/lib/abstract-sheet-xml/index.d.ts +3 -0
- package/lib/abstract-sheet-xml/index.d.ts.map +1 -0
- package/lib/abstract-sheet-xml/index.js +19 -0
- package/lib/abstract-sheet-xml/index.js.map +1 -0
- package/lib/abstract-sheet-xml/mustache-xml/index.d.ts +3 -0
- package/lib/abstract-sheet-xml/mustache-xml/index.d.ts.map +1 -0
- package/lib/abstract-sheet-xml/mustache-xml/index.js +19 -0
- package/lib/abstract-sheet-xml/mustache-xml/index.js.map +1 -0
- package/lib/abstract-sheet-xml/mustache-xml/parse-mustache-xml.d.ts +14 -0
- package/lib/abstract-sheet-xml/mustache-xml/parse-mustache-xml.d.ts.map +1 -0
- package/lib/abstract-sheet-xml/mustache-xml/parse-mustache-xml.js +140 -0
- package/lib/abstract-sheet-xml/mustache-xml/parse-mustache-xml.js.map +1 -0
- package/lib/abstract-sheet-xml/mustache-xml/validate-mustache-xml.d.ts +21 -0
- package/lib/abstract-sheet-xml/mustache-xml/validate-mustache-xml.d.ts.map +1 -0
- package/lib/abstract-sheet-xml/mustache-xml/validate-mustache-xml.js +219 -0
- package/lib/abstract-sheet-xml/mustache-xml/validate-mustache-xml.js.map +1 -0
- package/lib/abstract-sheet-xml/xsd.d.ts +2 -0
- package/lib/abstract-sheet-xml/xsd.d.ts.map +1 -0
- package/lib/abstract-sheet-xml/xsd.js +14 -0
- package/lib/abstract-sheet-xml/xsd.js.map +1 -0
- package/lib/abstract-sheet.d.ts +59 -0
- package/lib/abstract-sheet.d.ts.map +1 -0
- package/lib/abstract-sheet.js +3 -0
- package/lib/abstract-sheet.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +20 -0
- package/lib/index.js.map +1 -0
- package/lib/renderers/_xlsx-sheet.d.ts +5 -0
- package/lib/renderers/_xlsx-sheet.d.ts.map +1 -0
- package/lib/renderers/_xlsx-sheet.js +171 -0
- package/lib/renderers/_xlsx-sheet.js.map +1 -0
- package/lib/renderers/csv.d.ts +7 -0
- package/lib/renderers/csv.d.ts.map +1 -0
- package/lib/renderers/csv.js +35 -0
- package/lib/renderers/csv.js.map +1 -0
- package/lib/renderers/dxf/color.d.ts +2 -0
- package/lib/renderers/dxf/color.d.ts.map +1 -0
- package/lib/renderers/dxf/color.js +6 -0
- package/lib/renderers/dxf/color.js.map +1 -0
- package/lib/renderers/dxf/dxf-encoding.d.ts +7 -0
- package/lib/renderers/dxf/dxf-encoding.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-encoding.js +343 -0
- package/lib/renderers/dxf/dxf-encoding.js.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-box.d.ts +3 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-box.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-box.js +54 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-box.js.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.d.ts +3 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.js +55 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.js.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.d.ts +3 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js +64 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.d.ts +3 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.js +39 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.js.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts +3 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js +62 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts +3 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.js +63 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.js.map +1 -0
- package/lib/renderers/dxf/dxf.d.ts +3 -0
- package/lib/renderers/dxf/dxf.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf.js +64 -0
- package/lib/renderers/dxf/dxf.js.map +1 -0
- package/lib/renderers/dxf/index.d.ts +2 -0
- package/lib/renderers/dxf/index.d.ts.map +1 -0
- package/lib/renderers/dxf/index.js +18 -0
- package/lib/renderers/dxf/index.js.map +1 -0
- package/lib/renderers/index.d.ts +3 -0
- package/lib/renderers/index.d.ts.map +1 -0
- package/lib/renderers/index.js +19 -0
- package/lib/renderers/index.js.map +1 -0
- package/lib/renderers/react/index.d.ts +6 -0
- package/lib/renderers/react/index.d.ts.map +1 -0
- package/lib/renderers/react/index.js +21 -0
- package/lib/renderers/react/index.js.map +1 -0
- package/lib/renderers/react/react-camera.d.ts +60 -0
- package/lib/renderers/react/react-camera.d.ts.map +1 -0
- package/lib/renderers/react/react-camera.js +156 -0
- package/lib/renderers/react/react-camera.js.map +1 -0
- package/lib/renderers/react/react-dimension.d.ts +16 -0
- package/lib/renderers/react/react-dimension.d.ts.map +1 -0
- package/lib/renderers/react/react-dimension.js +59 -0
- package/lib/renderers/react/react-dimension.js.map +1 -0
- package/lib/renderers/react/react-group.d.ts +18 -0
- package/lib/renderers/react/react-group.d.ts.map +1 -0
- package/lib/renderers/react/react-group.js +62 -0
- package/lib/renderers/react/react-group.js.map +1 -0
- package/lib/renderers/react/react-hotspot.d.ts +30 -0
- package/lib/renderers/react/react-hotspot.d.ts.map +1 -0
- package/lib/renderers/react/react-hotspot.js +71 -0
- package/lib/renderers/react/react-hotspot.js.map +1 -0
- package/lib/renderers/react/react-material.d.ts +14 -0
- package/lib/renderers/react/react-material.d.ts.map +1 -0
- package/lib/renderers/react/react-material.js +54 -0
- package/lib/renderers/react/react-material.js.map +1 -0
- package/lib/renderers/react/react-mesh.d.ts +10 -0
- package/lib/renderers/react/react-mesh.d.ts.map +1 -0
- package/lib/renderers/react/react-mesh.js +238 -0
- package/lib/renderers/react/react-mesh.js.map +1 -0
- package/lib/renderers/react/react-scene.d.ts +20 -0
- package/lib/renderers/react/react-scene.d.ts.map +1 -0
- package/lib/renderers/react/react-scene.js +50 -0
- package/lib/renderers/react/react-scene.js.map +1 -0
- package/lib/renderers/react/react.d.ts +30 -0
- package/lib/renderers/react/react.d.ts.map +1 -0
- package/lib/renderers/react/react.js +64 -0
- package/lib/renderers/react/react.js.map +1 -0
- package/lib/renderers/shared.d.ts +27 -0
- package/lib/renderers/shared.d.ts.map +1 -0
- package/lib/renderers/shared.js +174 -0
- package/lib/renderers/shared.js.map +1 -0
- package/lib/renderers/step/index.d.ts +2 -0
- package/lib/renderers/step/index.d.ts.map +1 -0
- package/lib/renderers/step/index.js +18 -0
- package/lib/renderers/step/index.js.map +1 -0
- package/lib/renderers/step/step-defintion.d.ts +1 -0
- package/lib/renderers/step/step-defintion.d.ts.map +1 -0
- package/lib/renderers/step/step-defintion.js +7 -0
- package/lib/renderers/step/step-defintion.js.map +1 -0
- package/lib/renderers/step/step-encoding.d.ts +53 -0
- package/lib/renderers/step/step-encoding.d.ts.map +1 -0
- package/lib/renderers/step/step-encoding.js +118 -0
- package/lib/renderers/step/step-encoding.js.map +1 -0
- package/lib/renderers/step/step-geometries/step-box.d.ts +4 -0
- package/lib/renderers/step/step-geometries/step-box.d.ts.map +1 -0
- package/lib/renderers/step/step-geometries/step-box.js +75 -0
- package/lib/renderers/step/step-geometries/step-box.js.map +1 -0
- package/lib/renderers/step/step-geometries/step-cylinder.d.ts +4 -0
- package/lib/renderers/step/step-geometries/step-cylinder.d.ts.map +1 -0
- package/lib/renderers/step/step-geometries/step-cylinder.js +39 -0
- package/lib/renderers/step/step-geometries/step-cylinder.js.map +1 -0
- package/lib/renderers/step/step-geometries/step-plane.d.ts +4 -0
- package/lib/renderers/step/step-geometries/step-plane.d.ts.map +1 -0
- package/lib/renderers/step/step-geometries/step-plane.js +32 -0
- package/lib/renderers/step/step-geometries/step-plane.js.map +1 -0
- package/lib/renderers/step/step.d.ts +3 -0
- package/lib/renderers/step/step.d.ts.map +1 -0
- package/lib/renderers/step/step.js +73 -0
- package/lib/renderers/step/step.js.map +1 -0
- package/lib/renderers/stl/index.d.ts +2 -0
- package/lib/renderers/stl/index.d.ts.map +1 -0
- package/lib/renderers/stl/index.js +18 -0
- package/lib/renderers/stl/index.js.map +1 -0
- package/lib/renderers/stl/stl-encoding.d.ts +4 -0
- package/lib/renderers/stl/stl-encoding.d.ts.map +1 -0
- package/lib/renderers/stl/stl-encoding.js +26 -0
- package/lib/renderers/stl/stl-encoding.js.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-box.d.ts +3 -0
- package/lib/renderers/stl/stl-geometries/stl-box.d.ts.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-box.js +57 -0
- package/lib/renderers/stl/stl-geometries/stl-box.js.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-cone.d.ts +3 -0
- package/lib/renderers/stl/stl-geometries/stl-cone.d.ts.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-cone.js +54 -0
- package/lib/renderers/stl/stl-geometries/stl-cone.js.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-cylinder.d.ts +3 -0
- package/lib/renderers/stl/stl-geometries/stl-cylinder.d.ts.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-cylinder.js +62 -0
- package/lib/renderers/stl/stl-geometries/stl-cylinder.js.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-plane.d.ts +3 -0
- package/lib/renderers/stl/stl-geometries/stl-plane.d.ts.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-plane.js +44 -0
- package/lib/renderers/stl/stl-geometries/stl-plane.js.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-polygon.d.ts +3 -0
- package/lib/renderers/stl/stl-geometries/stl-polygon.d.ts.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-polygon.js +59 -0
- package/lib/renderers/stl/stl-geometries/stl-polygon.js.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-shape.d.ts +3 -0
- package/lib/renderers/stl/stl-geometries/stl-shape.d.ts.map +1 -0
- package/lib/renderers/stl/stl-geometries/stl-shape.js +59 -0
- package/lib/renderers/stl/stl-geometries/stl-shape.js.map +1 -0
- package/lib/renderers/stl/stl.d.ts +3 -0
- package/lib/renderers/stl/stl.d.ts.map +1 -0
- package/lib/renderers/stl/stl.js +58 -0
- package/lib/renderers/stl/stl.js.map +1 -0
- package/lib/renderers/svg/index.d.ts +3 -0
- package/lib/renderers/svg/index.d.ts.map +1 -0
- package/lib/renderers/svg/index.js +18 -0
- package/lib/renderers/svg/index.js.map +1 -0
- package/lib/renderers/svg/svg-encoding.d.ts +15 -0
- package/lib/renderers/svg/svg-encoding.d.ts.map +1 -0
- package/lib/renderers/svg/svg-encoding.js +29 -0
- package/lib/renderers/svg/svg-encoding.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/shared.d.ts +12 -0
- package/lib/renderers/svg/svg-geometries/shared.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/shared.js +12 -0
- package/lib/renderers/svg/svg-geometries/shared.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-box.d.ts +4 -0
- package/lib/renderers/svg/svg-geometries/svg-box.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-box.js +70 -0
- package/lib/renderers/svg/svg-geometries/svg-box.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-cone.d.ts +4 -0
- package/lib/renderers/svg/svg-geometries/svg-cone.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-cone.js +70 -0
- package/lib/renderers/svg/svg-geometries/svg-cone.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-cylinder.d.ts +4 -0
- package/lib/renderers/svg/svg-geometries/svg-cylinder.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-cylinder.js +76 -0
- package/lib/renderers/svg/svg-geometries/svg-cylinder.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-line.d.ts +4 -0
- package/lib/renderers/svg/svg-geometries/svg-line.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-line.js +39 -0
- package/lib/renderers/svg/svg-geometries/svg-line.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-plane.d.ts +5 -0
- package/lib/renderers/svg/svg-geometries/svg-plane.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-plane.js +57 -0
- package/lib/renderers/svg/svg-geometries/svg-plane.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-polygon.d.ts +4 -0
- package/lib/renderers/svg/svg-geometries/svg-polygon.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-polygon.js +20 -0
- package/lib/renderers/svg/svg-geometries/svg-polygon.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-shape.d.ts +4 -0
- package/lib/renderers/svg/svg-geometries/svg-shape.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-shape.js +20 -0
- package/lib/renderers/svg/svg-geometries/svg-shape.js.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-text.d.ts +4 -0
- package/lib/renderers/svg/svg-geometries/svg-text.d.ts.map +1 -0
- package/lib/renderers/svg/svg-geometries/svg-text.js +46 -0
- package/lib/renderers/svg/svg-geometries/svg-text.js.map +1 -0
- package/lib/renderers/svg/svg.d.ts +10 -0
- package/lib/renderers/svg/svg.d.ts.map +1 -0
- package/lib/renderers/svg/svg.js +117 -0
- package/lib/renderers/svg/svg.js.map +1 -0
- package/lib/renderers/xlsx.d.ts +4 -0
- package/lib/renderers/xlsx.d.ts.map +1 -0
- package/lib/renderers/xlsx.js +43 -0
- package/lib/renderers/xlsx.js.map +1 -0
- package/package.json +28 -0
- package/src/abstract-sheet/abstract-sheet-xsd.ts +146 -0
- package/src/abstract-sheet/abstract-sheet-xsd.xml +146 -0
- package/src/abstract-sheet/abstract-sheet.ts +85 -0
- package/src/abstract-sheet/index.ts +2 -0
- package/src/abstract-sheet-exporters/_xlsx-sheet.ts +156 -0
- package/src/abstract-sheet-exporters/csv.ts +36 -0
- package/src/abstract-sheet-exporters/index.ts +2 -0
- package/src/abstract-sheet-exporters/xlsx.ts +15 -0
- package/src/abstract-sheet-xml/abstract-sheet-xml.ts +128 -0
- package/src/abstract-sheet-xml/index.ts +2 -0
- package/src/abstract-sheet-xml/mustache-xml/index.ts +2 -0
- package/src/abstract-sheet-xml/mustache-xml/parse-mustache-xml.ts +134 -0
- package/src/abstract-sheet-xml/mustache-xml/validate-mustache-xml.ts +272 -0
- package/src/custom-typings/xml.d.ts +1 -0
- package/src/index.ts +3 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toSvg = void 0;
|
|
4
|
+
const ts_exhaustive_check_1 = require("ts-exhaustive-check");
|
|
5
|
+
const abstract_3d_1 = require("../../abstract-3d");
|
|
6
|
+
const svg_box_1 = require("./svg-geometries/svg-box");
|
|
7
|
+
const svg_cylinder_1 = require("./svg-geometries/svg-cylinder");
|
|
8
|
+
const svg_line_1 = require("./svg-geometries/svg-line");
|
|
9
|
+
const svg_plane_1 = require("./svg-geometries/svg-plane");
|
|
10
|
+
const svg_shape_1 = require("./svg-geometries/svg-shape");
|
|
11
|
+
const svg_polygon_1 = require("./svg-geometries/svg-polygon");
|
|
12
|
+
const svg_text_1 = require("./svg-geometries/svg-text");
|
|
13
|
+
const svg_cone_1 = require("./svg-geometries/svg-cone");
|
|
14
|
+
const shared_1 = require("../shared");
|
|
15
|
+
const svg_encoding_1 = require("./svg-encoding");
|
|
16
|
+
function toSvg(scene, view, stroke, scale, onlyStroke, grayScale, onlyStrokeFill = "rgba(255,255,255,0)", font = "", buffers) {
|
|
17
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
18
|
+
const factor = scale
|
|
19
|
+
? scale.size /
|
|
20
|
+
(scale.scaleByWidth
|
|
21
|
+
? view === "right" || view === "left"
|
|
22
|
+
? scene.size_deprecated.z
|
|
23
|
+
: scene.size_deprecated.x
|
|
24
|
+
: view === "top" || view === "bottom"
|
|
25
|
+
? scene.size_deprecated.z
|
|
26
|
+
: scene.size_deprecated.y)
|
|
27
|
+
: 1;
|
|
28
|
+
const unitRot = (0, abstract_3d_1.vec3RotCombine)((0, shared_1.rotationForCameraPos)(view), (_a = scene.rotation_deprecated) !== null && _a !== void 0 ? _a : abstract_3d_1.vec3Zero);
|
|
29
|
+
const unitPos = (0, abstract_3d_1.vec3Rot)((_b = scene.center_deprecated) !== null && _b !== void 0 ? _b : abstract_3d_1.vec3Zero, abstract_3d_1.vec3Zero, (_c = scene.rotation_deprecated) !== null && _c !== void 0 ? _c : abstract_3d_1.vec3Zero);
|
|
30
|
+
const [size, center] = (0, shared_1.sizeCenterForCameraPos)(scene.size_deprecated, unitPos, unitRot, factor);
|
|
31
|
+
const unitHalfSize = (0, abstract_3d_1.vec3Scale)(size, 0.5);
|
|
32
|
+
const centerAdj = (0, abstract_3d_1.vec3)(center.x - stroke * 0.75, center.y + stroke * 0.75, center.z);
|
|
33
|
+
const width = size.x + 1.5 * stroke;
|
|
34
|
+
const height = size.y + 1.5 * stroke;
|
|
35
|
+
const elements = Array();
|
|
36
|
+
const point = (x, y) => (0, abstract_3d_1.vec2)(-centerAdj.x + unitHalfSize.x + x * factor, centerAdj.y + unitHalfSize.y - y * factor);
|
|
37
|
+
for (const g of scene.groups) {
|
|
38
|
+
const pos = (0, abstract_3d_1.vec3Rot)(g.pos, unitPos, unitRot);
|
|
39
|
+
const rot = (0, abstract_3d_1.vec3RotCombine)(unitRot, (_d = g.rot) !== null && _d !== void 0 ? _d : abstract_3d_1.vec3Zero);
|
|
40
|
+
elements.push(...svgGroup(g, pos, rot, point, view, factor, onlyStroke, grayScale, onlyStrokeFill, font, stroke, buffers));
|
|
41
|
+
}
|
|
42
|
+
elements.sort((a, b) => a.zOrder - b.zOrder);
|
|
43
|
+
const cameraPos = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(1, 1, 1), abstract_3d_1.vec3Zero, (_e = scene.rotation_deprecated) !== null && _e !== void 0 ? _e : abstract_3d_1.vec3Zero);
|
|
44
|
+
for (const d of (_g = (_f = scene.dimensions_deprecated) === null || _f === void 0 ? void 0 : _f.dimensions) !== null && _g !== void 0 ? _g : []) {
|
|
45
|
+
if (flipViews(d.views[0], cameraPos) === view) {
|
|
46
|
+
const pos = (0, abstract_3d_1.vec3Rot)(d.pos, unitPos, unitRot);
|
|
47
|
+
const rot = (0, abstract_3d_1.vec3RotCombine)(unitRot, d.rot);
|
|
48
|
+
for (const m of d.meshes) {
|
|
49
|
+
elements.push(...svgMesh(m, pos, rot, point, view, factor, (_j = (_h = scene.dimensions_deprecated) === null || _h === void 0 ? void 0 : _h.material.normal) !== null && _j !== void 0 ? _j : "", false, false, onlyStrokeFill, font, stroke));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const image = (0, svg_encoding_1.svg)(width, height, elements.reduce((a, { element }) => `${a} ${element}`, ""));
|
|
54
|
+
return { image, width, height };
|
|
55
|
+
}
|
|
56
|
+
exports.toSvg = toSvg;
|
|
57
|
+
function svgGroup(g, pos, rot, point, view, factor, onlyStroke, grayScale, onlyStrokeFill, font, stroke, buffers) {
|
|
58
|
+
var _a, _b, _c, _d, _e;
|
|
59
|
+
const elements = Array();
|
|
60
|
+
for (const m of (_a = g.meshes) !== null && _a !== void 0 ? _a : []) {
|
|
61
|
+
elements.push(...svgMesh(m, pos, rot, point, view, factor, m.material.normal, onlyStroke, grayScale, onlyStrokeFill, font, stroke, ((_b = m.material.image) === null || _b === void 0 ? void 0 : _b.type) === "HashImage" && (buffers === null || buffers === void 0 ? void 0 : buffers[m.material.image.hash])
|
|
62
|
+
? { type: "svg", svg: buffers[m.material.image.hash] }
|
|
63
|
+
: ((_c = m.material.image) === null || _c === void 0 ? void 0 : _c.type) === "UrlImage"
|
|
64
|
+
? { type: "url", url: m.material.image.url }
|
|
65
|
+
: undefined));
|
|
66
|
+
}
|
|
67
|
+
for (const sg of (_d = g.groups) !== null && _d !== void 0 ? _d : []) {
|
|
68
|
+
const sPos = (0, abstract_3d_1.vec3TransRot)(sg.pos, pos, rot);
|
|
69
|
+
const sRot = (0, abstract_3d_1.vec3RotCombine)(rot, (_e = sg.rot) !== null && _e !== void 0 ? _e : abstract_3d_1.vec3Zero);
|
|
70
|
+
elements.push(...svgGroup(sg, sPos, sRot, point, view, factor, onlyStroke, grayScale, onlyStrokeFill, font, stroke, buffers));
|
|
71
|
+
}
|
|
72
|
+
return elements;
|
|
73
|
+
}
|
|
74
|
+
function svgMesh(mesh, parentPos, parentRot, point, view, factor, color, onlyStroke, grayScale, background, font, stroke, image) {
|
|
75
|
+
switch (mesh.geometry.type) {
|
|
76
|
+
case "Box":
|
|
77
|
+
return (0, svg_box_1.box)(mesh.geometry, point, color, onlyStroke, grayScale, stroke, background, parentPos, parentRot);
|
|
78
|
+
case "Plane":
|
|
79
|
+
return (0, svg_plane_1.plane)(mesh.geometry, point, color, onlyStroke, grayScale, stroke, background, parentPos, parentRot, view, image);
|
|
80
|
+
case "Cylinder":
|
|
81
|
+
return (0, svg_cylinder_1.cylinder)(mesh.geometry, point, color, onlyStroke, grayScale, stroke, background, parentPos, parentRot, factor);
|
|
82
|
+
case "Cone":
|
|
83
|
+
return (0, svg_cone_1.cone)(mesh.geometry, point, color, onlyStroke, grayScale, stroke, background, parentPos, parentRot, factor);
|
|
84
|
+
case "Line":
|
|
85
|
+
return (0, svg_line_1.line)(mesh.geometry, point, color, grayScale, stroke, parentPos, parentRot);
|
|
86
|
+
case "Polygon":
|
|
87
|
+
return (0, svg_polygon_1.polygon)(mesh.geometry, point, color, onlyStroke, grayScale, background, stroke, parentPos, parentRot);
|
|
88
|
+
case "Shape":
|
|
89
|
+
return (0, svg_shape_1.shape)(mesh.geometry, point, color, onlyStroke, grayScale, background, stroke, parentPos, parentRot);
|
|
90
|
+
case "Text":
|
|
91
|
+
return (0, svg_text_1.text)(mesh.geometry, point, color, parentPos, parentRot, factor, font);
|
|
92
|
+
case "Tube":
|
|
93
|
+
case "Sphere":
|
|
94
|
+
return [];
|
|
95
|
+
default:
|
|
96
|
+
return (0, ts_exhaustive_check_1.exhaustiveCheck)(mesh.geometry);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
const flipViews = (v, pos) => {
|
|
100
|
+
switch (v) {
|
|
101
|
+
case "front":
|
|
102
|
+
return pos.z < 0 ? "back" : "front";
|
|
103
|
+
case "back":
|
|
104
|
+
return pos.z < 0 ? "front" : "back";
|
|
105
|
+
case "right":
|
|
106
|
+
return pos.x < 0 ? "left" : "right";
|
|
107
|
+
case "left":
|
|
108
|
+
return pos.x < 0 ? "right" : "left";
|
|
109
|
+
case "top":
|
|
110
|
+
return pos.y < 0 ? "bottom" : "top";
|
|
111
|
+
case "bottom":
|
|
112
|
+
return pos.y < 0 ? "top" : "bottom";
|
|
113
|
+
default:
|
|
114
|
+
return v;
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
//# sourceMappingURL=svg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg.js","sourceRoot":"","sources":["../../../src/renderers/svg/svg.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xlsx.d.ts","sourceRoot":"","sources":["../../src/renderers/xlsx.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,wBAAgB,MAAM,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,CAWhD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.toXlsx = void 0;
|
|
27
|
+
const XLSX = __importStar(require("xlsx-js-style"));
|
|
28
|
+
const _xlsx_sheet_1 = require("./_xlsx-sheet");
|
|
29
|
+
function toXlsx(as) {
|
|
30
|
+
var _a, _b;
|
|
31
|
+
const sheets = {};
|
|
32
|
+
const sheetNames = Array();
|
|
33
|
+
const styles = Object.fromEntries((_b = (_a = as.styles) === null || _a === void 0 ? void 0 : _a.map((s) => [s.name, (0, _xlsx_sheet_1.createStyle)(s)])) !== null && _b !== void 0 ? _b : []);
|
|
34
|
+
console.log("styles", styles);
|
|
35
|
+
for (const s of as.sheets) {
|
|
36
|
+
sheetNames.push(s.name);
|
|
37
|
+
sheets[s.name] = (0, _xlsx_sheet_1.xlsxWorkSheet)(s, styles);
|
|
38
|
+
}
|
|
39
|
+
const wb = { Sheets: sheets, SheetNames: Object.keys(sheets) };
|
|
40
|
+
return XLSX.write(wb, { bookType: "xlsx", bookSST: false, type: "buffer" });
|
|
41
|
+
}
|
|
42
|
+
exports.toXlsx = toXlsx;
|
|
43
|
+
//# sourceMappingURL=xlsx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xlsx.js","sourceRoot":"","sources":["../../src/renderers/xlsx.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AAEtC,+CAA2D;AAE3D,SAAgB,MAAM,CAAC,EAAiB;;IACtC,MAAM,MAAM,GAAmC,EAAE,CAAC;IAClD,MAAM,UAAU,GAAG,KAAK,EAAU,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAA,MAAA,EAAE,CAAC,MAAM,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC1B,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAA,2BAAa,EAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,EAAE,GAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9E,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC9E,CAAC;AAXD,wBAWC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "abstract-sheet",
|
|
3
|
+
"version": "0.0.2",
|
|
4
|
+
"description": "Abstract sheet",
|
|
5
|
+
"author": "Divid AB <info@divid.se>",
|
|
6
|
+
"repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-sheet",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"main": "lib/index.js",
|
|
9
|
+
"types": "lib/index",
|
|
10
|
+
"files": [
|
|
11
|
+
"/lib",
|
|
12
|
+
"/src",
|
|
13
|
+
"CHANGELOG.md",
|
|
14
|
+
"README.md",
|
|
15
|
+
"package.json"
|
|
16
|
+
],
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"fast-xml-parser": "^4.5.0",
|
|
19
|
+
"mustache": "^4.2.0",
|
|
20
|
+
"ts-exhaustive-check": "^1.0.0",
|
|
21
|
+
"xlsx-js-style": "^1.2.0"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@types/mustache": "^4.2.5",
|
|
25
|
+
"@types/xml": "^1.0.11"
|
|
26
|
+
},
|
|
27
|
+
"gitHead": "1731caff7bec34130c94beffae8dc2e1bf792c16"
|
|
28
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
export const xsd = `<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
3
|
+
|
|
4
|
+
<xs:element name="AbstractSheet">
|
|
5
|
+
<xs:complexType>
|
|
6
|
+
<xs:sequence>
|
|
7
|
+
<xs:element name="Styles" type="Styles" minOccurs="0" />
|
|
8
|
+
<xs:element name="Sheets" type="Sheets" minOccurs="0" />
|
|
9
|
+
</xs:sequence>
|
|
10
|
+
</xs:complexType>
|
|
11
|
+
</xs:element>
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
<xs:complexType name="Sheets">
|
|
15
|
+
<xs:sequence>
|
|
16
|
+
<xs:element name="Sheet" type="Sheet" minOccurs="0" />
|
|
17
|
+
</xs:sequence>
|
|
18
|
+
</xs:complexType>
|
|
19
|
+
|
|
20
|
+
<xs:complexType name="Sheet">
|
|
21
|
+
<xs:sequence>
|
|
22
|
+
<xs:element name="Rows" type="Rows" minOccurs="0" maxOccurs="1" />
|
|
23
|
+
<xs:element name="RowInfos" type="RowInfos" minOccurs="0" maxOccurs="1" />
|
|
24
|
+
<xs:element name="ColInfos" type="ColInfos" minOccurs="0" maxOccurs="1" />
|
|
25
|
+
</xs:sequence>
|
|
26
|
+
<xs:attribute name="name" type="xs:string" use="required" />
|
|
27
|
+
</xs:complexType>
|
|
28
|
+
|
|
29
|
+
<xs:complexType name="ColInfos">
|
|
30
|
+
<xs:sequence>
|
|
31
|
+
<xs:element name="ColInfo" type="ColInfo" />
|
|
32
|
+
</xs:sequence>
|
|
33
|
+
</xs:complexType>
|
|
34
|
+
|
|
35
|
+
<xs:complexType name="ColInfo">
|
|
36
|
+
<xs:attribute name="hidden" type="xs:boolean" />
|
|
37
|
+
<xs:attribute name="widthPixels" type="xs:integer" />
|
|
38
|
+
</xs:complexType>
|
|
39
|
+
|
|
40
|
+
<xs:complexType name="RowInfos">
|
|
41
|
+
<xs:sequence>
|
|
42
|
+
<xs:element name="RowInfo" type="RowInfo" />
|
|
43
|
+
</xs:sequence>
|
|
44
|
+
</xs:complexType>
|
|
45
|
+
|
|
46
|
+
<xs:complexType name="RowInfo">
|
|
47
|
+
<xs:attribute name="hidden" type="xs:boolean" />
|
|
48
|
+
<xs:attribute name="heightPixels" type="xs:integer" />
|
|
49
|
+
</xs:complexType>
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
<xs:complexType name="Rows">
|
|
53
|
+
<xs:sequence>
|
|
54
|
+
<xs:element name="Row" type="Row" />
|
|
55
|
+
</xs:sequence>
|
|
56
|
+
</xs:complexType>
|
|
57
|
+
|
|
58
|
+
<xs:complexType name="Row">
|
|
59
|
+
<xs:sequence>
|
|
60
|
+
<xs:element name="Cell" type="Cell" />
|
|
61
|
+
</xs:sequence>
|
|
62
|
+
</xs:complexType>
|
|
63
|
+
|
|
64
|
+
<xs:complexType name="Cell">
|
|
65
|
+
<xs:attribute name="value" type="NumberOrString" use="required" />
|
|
66
|
+
<xs:attribute name="styles" type="xs:string" />
|
|
67
|
+
<xs:attribute name="type">
|
|
68
|
+
<xs:simpleType>
|
|
69
|
+
<xs:restriction base="xs:string">
|
|
70
|
+
<xs:enumeration value="string" />
|
|
71
|
+
<xs:enumeration value="number" />
|
|
72
|
+
</xs:restriction>
|
|
73
|
+
</xs:simpleType>
|
|
74
|
+
</xs:attribute>
|
|
75
|
+
</xs:complexType>
|
|
76
|
+
|
|
77
|
+
<xs:simpleType name="NumberOrString">
|
|
78
|
+
<xs:union>
|
|
79
|
+
<xs:simpleType>
|
|
80
|
+
<xs:restriction base="xs:double" />
|
|
81
|
+
</xs:simpleType>
|
|
82
|
+
<xs:simpleType>
|
|
83
|
+
<xs:restriction base="xs:string" />
|
|
84
|
+
</xs:simpleType>
|
|
85
|
+
</xs:union>
|
|
86
|
+
</xs:simpleType>
|
|
87
|
+
|
|
88
|
+
<xs:complexType name="Styles">
|
|
89
|
+
<xs:sequence>
|
|
90
|
+
<xs:element name="Style" minOccurs="0" maxOccurs="unbounded" />
|
|
91
|
+
</xs:sequence>
|
|
92
|
+
</xs:complexType>
|
|
93
|
+
|
|
94
|
+
<xs:complexType name="Style">
|
|
95
|
+
<xs:attribute name="name" type="xs:string" use="required" />
|
|
96
|
+
<xs:attribute name="vertical">
|
|
97
|
+
<xs:simpleType>
|
|
98
|
+
<xs:restriction base="xs:string">
|
|
99
|
+
<xs:enumeration value="top" />
|
|
100
|
+
<xs:enumeration value="center" />
|
|
101
|
+
<xs:enumeration value="bottom" />
|
|
102
|
+
</xs:restriction>
|
|
103
|
+
</xs:simpleType>
|
|
104
|
+
</xs:attribute>
|
|
105
|
+
<xs:attribute name="horizontal">
|
|
106
|
+
<xs:simpleType>
|
|
107
|
+
<xs:restriction base="xs:string">
|
|
108
|
+
<xs:enumeration value="left" />
|
|
109
|
+
<xs:enumeration value="center" />
|
|
110
|
+
<xs:enumeration value="right" />
|
|
111
|
+
</xs:restriction>
|
|
112
|
+
</xs:simpleType>
|
|
113
|
+
</xs:attribute>
|
|
114
|
+
<xs:attribute name="wrapText" type="xs:boolean" />
|
|
115
|
+
<xs:attribute name="textRotation" type="xs:boolean" />
|
|
116
|
+
<xs:attribute name="borderStyle" type="xs:string" />
|
|
117
|
+
<xs:attribute name="borderColor" type="xs:string" />
|
|
118
|
+
<xs:attribute name="fillType">
|
|
119
|
+
<xs:simpleType>
|
|
120
|
+
<xs:restriction base="xs:string">
|
|
121
|
+
<xs:enumeration value="solid" />
|
|
122
|
+
<xs:enumeration value="none" />
|
|
123
|
+
</xs:restriction>
|
|
124
|
+
</xs:simpleType>
|
|
125
|
+
</xs:attribute>
|
|
126
|
+
<xs:attribute name="foreground" type="xs:string" />
|
|
127
|
+
<xs:attribute name="background" type="xs:string" />
|
|
128
|
+
<xs:attribute name="bold" type="xs:boolean" />
|
|
129
|
+
<xs:attribute name="color" type="xs:string" />
|
|
130
|
+
<xs:attribute name="italic" type="xs:boolean" />
|
|
131
|
+
<xs:attribute name="font" type="xs:string" />
|
|
132
|
+
<xs:attribute name="strike" type="xs:boolean" />
|
|
133
|
+
<xs:attribute name="size" type="xs:double" />
|
|
134
|
+
<xs:attribute name="underline" type="xs:boolean" />
|
|
135
|
+
<xs:attribute name="script">
|
|
136
|
+
<xs:simpleType>
|
|
137
|
+
<xs:restriction base="xs:string">
|
|
138
|
+
<xs:enumeration value="superscript" />
|
|
139
|
+
<xs:enumeration value="subscript" />
|
|
140
|
+
</xs:restriction>
|
|
141
|
+
</xs:simpleType>
|
|
142
|
+
</xs:attribute>
|
|
143
|
+
<xs:attribute name="numberFormat" type="xs:string" />
|
|
144
|
+
</xs:complexType>
|
|
145
|
+
|
|
146
|
+
</xs:schema>`;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
3
|
+
|
|
4
|
+
<xs:element name="AbstractSheet">
|
|
5
|
+
<xs:complexType>
|
|
6
|
+
<xs:sequence>
|
|
7
|
+
<xs:element name="Styles" type="Styles" minOccurs="0" />
|
|
8
|
+
<xs:element name="Sheets" type="Sheets" minOccurs="0" />
|
|
9
|
+
</xs:sequence>
|
|
10
|
+
</xs:complexType>
|
|
11
|
+
</xs:element>
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
<xs:complexType name="Sheets">
|
|
15
|
+
<xs:sequence>
|
|
16
|
+
<xs:element name="Sheet" type="Sheet" minOccurs="0" />
|
|
17
|
+
</xs:sequence>
|
|
18
|
+
</xs:complexType>
|
|
19
|
+
|
|
20
|
+
<xs:complexType name="Sheet">
|
|
21
|
+
<xs:sequence>
|
|
22
|
+
<xs:element name="Rows" type="Rows" minOccurs="0" maxOccurs="1" />
|
|
23
|
+
<xs:element name="RowInfos" type="RowInfos" minOccurs="0" maxOccurs="1" />
|
|
24
|
+
<xs:element name="ColInfos" type="ColInfos" minOccurs="0" maxOccurs="1" />
|
|
25
|
+
</xs:sequence>
|
|
26
|
+
<xs:attribute name="name" type="xs:string" use="required" />
|
|
27
|
+
</xs:complexType>
|
|
28
|
+
|
|
29
|
+
<xs:complexType name="ColInfos">
|
|
30
|
+
<xs:sequence>
|
|
31
|
+
<xs:element name="ColInfo" type="ColInfo" />
|
|
32
|
+
</xs:sequence>
|
|
33
|
+
</xs:complexType>
|
|
34
|
+
|
|
35
|
+
<xs:complexType name="ColInfo">
|
|
36
|
+
<xs:attribute name="hidden" type="xs:boolean" />
|
|
37
|
+
<xs:attribute name="widthPixels" type="xs:integer" />
|
|
38
|
+
</xs:complexType>
|
|
39
|
+
|
|
40
|
+
<xs:complexType name="RowInfos">
|
|
41
|
+
<xs:sequence>
|
|
42
|
+
<xs:element name="RowInfo" type="RowInfo" />
|
|
43
|
+
</xs:sequence>
|
|
44
|
+
</xs:complexType>
|
|
45
|
+
|
|
46
|
+
<xs:complexType name="RowInfo">
|
|
47
|
+
<xs:attribute name="hidden" type="xs:boolean" />
|
|
48
|
+
<xs:attribute name="heightPixels" type="xs:integer" />
|
|
49
|
+
</xs:complexType>
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
<xs:complexType name="Rows">
|
|
53
|
+
<xs:sequence>
|
|
54
|
+
<xs:element name="Row" type="Row" />
|
|
55
|
+
</xs:sequence>
|
|
56
|
+
</xs:complexType>
|
|
57
|
+
|
|
58
|
+
<xs:complexType name="Row">
|
|
59
|
+
<xs:sequence>
|
|
60
|
+
<xs:element name="Cell" type="Cell" />
|
|
61
|
+
</xs:sequence>
|
|
62
|
+
</xs:complexType>
|
|
63
|
+
|
|
64
|
+
<xs:complexType name="Cell">
|
|
65
|
+
<xs:attribute name="value" type="NumberOrString" use="required" />
|
|
66
|
+
<xs:attribute name="styles" type="xs:string" />
|
|
67
|
+
<xs:attribute name="type">
|
|
68
|
+
<xs:simpleType>
|
|
69
|
+
<xs:restriction base="xs:string">
|
|
70
|
+
<xs:enumeration value="string" />
|
|
71
|
+
<xs:enumeration value="number" />
|
|
72
|
+
</xs:restriction>
|
|
73
|
+
</xs:simpleType>
|
|
74
|
+
</xs:attribute>
|
|
75
|
+
</xs:complexType>
|
|
76
|
+
|
|
77
|
+
<xs:simpleType name="NumberOrString">
|
|
78
|
+
<xs:union>
|
|
79
|
+
<xs:simpleType>
|
|
80
|
+
<xs:restriction base="xs:double" />
|
|
81
|
+
</xs:simpleType>
|
|
82
|
+
<xs:simpleType>
|
|
83
|
+
<xs:restriction base="xs:string" />
|
|
84
|
+
</xs:simpleType>
|
|
85
|
+
</xs:union>
|
|
86
|
+
</xs:simpleType>
|
|
87
|
+
|
|
88
|
+
<xs:complexType name="Styles">
|
|
89
|
+
<xs:sequence>
|
|
90
|
+
<xs:element name="Style" minOccurs="0" maxOccurs="unbounded" />
|
|
91
|
+
</xs:sequence>
|
|
92
|
+
</xs:complexType>
|
|
93
|
+
|
|
94
|
+
<xs:complexType name="Style">
|
|
95
|
+
<xs:attribute name="name" type="xs:string" use="required" />
|
|
96
|
+
<xs:attribute name="vertical">
|
|
97
|
+
<xs:simpleType>
|
|
98
|
+
<xs:restriction base="xs:string">
|
|
99
|
+
<xs:enumeration value="top" />
|
|
100
|
+
<xs:enumeration value="center" />
|
|
101
|
+
<xs:enumeration value="bottom" />
|
|
102
|
+
</xs:restriction>
|
|
103
|
+
</xs:simpleType>
|
|
104
|
+
</xs:attribute>
|
|
105
|
+
<xs:attribute name="horizontal">
|
|
106
|
+
<xs:simpleType>
|
|
107
|
+
<xs:restriction base="xs:string">
|
|
108
|
+
<xs:enumeration value="left" />
|
|
109
|
+
<xs:enumeration value="center" />
|
|
110
|
+
<xs:enumeration value="right" />
|
|
111
|
+
</xs:restriction>
|
|
112
|
+
</xs:simpleType>
|
|
113
|
+
</xs:attribute>
|
|
114
|
+
<xs:attribute name="wrapText" type="xs:boolean" />
|
|
115
|
+
<xs:attribute name="textRotation" type="xs:boolean" />
|
|
116
|
+
<xs:attribute name="borderStyle" type="xs:string" />
|
|
117
|
+
<xs:attribute name="borderColor" type="xs:string" />
|
|
118
|
+
<xs:attribute name="fillType">
|
|
119
|
+
<xs:simpleType>
|
|
120
|
+
<xs:restriction base="xs:string">
|
|
121
|
+
<xs:enumeration value="solid" />
|
|
122
|
+
<xs:enumeration value="none" />
|
|
123
|
+
</xs:restriction>
|
|
124
|
+
</xs:simpleType>
|
|
125
|
+
</xs:attribute>
|
|
126
|
+
<xs:attribute name="foreground" type="xs:string" />
|
|
127
|
+
<xs:attribute name="background" type="xs:string" />
|
|
128
|
+
<xs:attribute name="bold" type="xs:boolean" />
|
|
129
|
+
<xs:attribute name="color" type="xs:string" />
|
|
130
|
+
<xs:attribute name="italic" type="xs:boolean" />
|
|
131
|
+
<xs:attribute name="font" type="xs:string" />
|
|
132
|
+
<xs:attribute name="strike" type="xs:boolean" />
|
|
133
|
+
<xs:attribute name="size" type="xs:double" />
|
|
134
|
+
<xs:attribute name="underline" type="xs:boolean" />
|
|
135
|
+
<xs:attribute name="script">
|
|
136
|
+
<xs:simpleType>
|
|
137
|
+
<xs:restriction base="xs:string">
|
|
138
|
+
<xs:enumeration value="superscript" />
|
|
139
|
+
<xs:enumeration value="subscript" />
|
|
140
|
+
</xs:restriction>
|
|
141
|
+
</xs:simpleType>
|
|
142
|
+
</xs:attribute>
|
|
143
|
+
<xs:attribute name="numberFormat" type="xs:string" />
|
|
144
|
+
</xs:complexType>
|
|
145
|
+
|
|
146
|
+
</xs:schema>
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export type AbstractSheet = {
|
|
2
|
+
readonly sheets: Sheets;
|
|
3
|
+
readonly styles?: Styles;
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
export type Sheets = ReadonlyArray<Sheet>;
|
|
7
|
+
|
|
8
|
+
export type Sheet = {
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly rows: Rows;
|
|
11
|
+
readonly colInfo?: ColInfos;
|
|
12
|
+
readonly rowInfo?: RowInfos;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export type ColInfos = ReadonlyArray<ColInfo>;
|
|
16
|
+
|
|
17
|
+
export type ColInfo = { readonly hidden?: boolean; readonly widthPixels?: number };
|
|
18
|
+
|
|
19
|
+
export type RowInfos = ReadonlyArray<RowInfo>;
|
|
20
|
+
|
|
21
|
+
export type RowInfo = { readonly hidden?: boolean; readonly heightPixels?: number };
|
|
22
|
+
|
|
23
|
+
export type Rows = ReadonlyArray<Row>;
|
|
24
|
+
|
|
25
|
+
export type Row = ReadonlyArray<Cell>;
|
|
26
|
+
|
|
27
|
+
export type Cell = {
|
|
28
|
+
readonly value: string | number;
|
|
29
|
+
readonly styles?: ReadonlyArray<string>;
|
|
30
|
+
readonly type: CellType;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export type CellType = "string" | "number";
|
|
34
|
+
|
|
35
|
+
export type Styles = ReadonlyArray<Style>;
|
|
36
|
+
|
|
37
|
+
export type Style = {
|
|
38
|
+
readonly name: string;
|
|
39
|
+
readonly vertical?: "top" | "center" | "bottom";
|
|
40
|
+
readonly horizontal?: "left" | "center" | "right";
|
|
41
|
+
readonly wrapText?: boolean;
|
|
42
|
+
readonly textRotation?: number;
|
|
43
|
+
readonly borderStyle?: {
|
|
44
|
+
readonly top?: BorderStyle;
|
|
45
|
+
readonly right?: BorderStyle;
|
|
46
|
+
readonly bottom?: BorderStyle;
|
|
47
|
+
readonly left?: BorderStyle;
|
|
48
|
+
};
|
|
49
|
+
readonly borderColor?: {
|
|
50
|
+
readonly top?: string;
|
|
51
|
+
readonly right?: string;
|
|
52
|
+
readonly bottom?: string;
|
|
53
|
+
readonly left?: string;
|
|
54
|
+
};
|
|
55
|
+
readonly fillType?: "solid" | "none";
|
|
56
|
+
readonly foreground?: string;
|
|
57
|
+
readonly background?: string;
|
|
58
|
+
readonly bold?: boolean;
|
|
59
|
+
readonly color?: string;
|
|
60
|
+
readonly italic?: boolean;
|
|
61
|
+
readonly font?: string;
|
|
62
|
+
readonly strike?: boolean;
|
|
63
|
+
readonly size?: number;
|
|
64
|
+
readonly underline?: boolean;
|
|
65
|
+
readonly script?: "superscript" | "subscript";
|
|
66
|
+
readonly numberFormat?: string;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const borderStyles = [
|
|
70
|
+
"dashDotDot",
|
|
71
|
+
"dashDot",
|
|
72
|
+
"dashed",
|
|
73
|
+
"dotted",
|
|
74
|
+
"hair",
|
|
75
|
+
"mediumDashDotDot",
|
|
76
|
+
"mediumDashDot",
|
|
77
|
+
"mediumDashed",
|
|
78
|
+
"medium",
|
|
79
|
+
"slantDashDot",
|
|
80
|
+
"thick",
|
|
81
|
+
"thin",
|
|
82
|
+
] as const;
|
|
83
|
+
|
|
84
|
+
export type BorderStyle = (typeof borderStyles)[number];
|
|
85
|
+
export const borderStyleRecord = Object.fromEntries(borderStyles.map((s) => [s, s]));
|