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.
Files changed (299) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE +21 -0
  3. package/README.md +7 -0
  4. package/lib/abstract-3d.d.ts +313 -0
  5. package/lib/abstract-3d.d.ts.map +1 -0
  6. package/lib/abstract-3d.js +333 -0
  7. package/lib/abstract-3d.js.map +1 -0
  8. package/lib/abstract-sheet/abstract-sheet-xsd.d.ts +2 -0
  9. package/lib/abstract-sheet/abstract-sheet-xsd.d.ts.map +1 -0
  10. package/lib/abstract-sheet/abstract-sheet-xsd.js +150 -0
  11. package/lib/abstract-sheet/abstract-sheet-xsd.js.map +1 -0
  12. package/lib/abstract-sheet/abstract-sheet.d.ts +68 -0
  13. package/lib/abstract-sheet/abstract-sheet.d.ts.map +1 -0
  14. package/lib/abstract-sheet/abstract-sheet.js +19 -0
  15. package/lib/abstract-sheet/abstract-sheet.js.map +1 -0
  16. package/lib/abstract-sheet/index.d.ts +3 -0
  17. package/lib/abstract-sheet/index.d.ts.map +1 -0
  18. package/lib/abstract-sheet/index.js +19 -0
  19. package/lib/abstract-sheet/index.js.map +1 -0
  20. package/lib/abstract-sheet-exporters/_xlsx-sheet.d.ts +5 -0
  21. package/lib/abstract-sheet-exporters/_xlsx-sheet.d.ts.map +1 -0
  22. package/lib/abstract-sheet-exporters/_xlsx-sheet.js +171 -0
  23. package/lib/abstract-sheet-exporters/_xlsx-sheet.js.map +1 -0
  24. package/lib/abstract-sheet-exporters/csv.d.ts +16 -0
  25. package/lib/abstract-sheet-exporters/csv.d.ts.map +1 -0
  26. package/lib/abstract-sheet-exporters/csv.js +47 -0
  27. package/lib/abstract-sheet-exporters/csv.js.map +1 -0
  28. package/lib/abstract-sheet-exporters/index.d.ts +3 -0
  29. package/lib/abstract-sheet-exporters/index.d.ts.map +1 -0
  30. package/lib/abstract-sheet-exporters/index.js +19 -0
  31. package/lib/abstract-sheet-exporters/index.js.map +1 -0
  32. package/lib/abstract-sheet-exporters/xlsx.d.ts +4 -0
  33. package/lib/abstract-sheet-exporters/xlsx.d.ts.map +1 -0
  34. package/lib/abstract-sheet-exporters/xlsx.js +42 -0
  35. package/lib/abstract-sheet-exporters/xlsx.js.map +1 -0
  36. package/lib/abstract-sheet-xml/abstract-sheet-of-xml.d.ts +3 -0
  37. package/lib/abstract-sheet-xml/abstract-sheet-of-xml.d.ts.map +1 -0
  38. package/lib/abstract-sheet-xml/abstract-sheet-of-xml.js +21 -0
  39. package/lib/abstract-sheet-xml/abstract-sheet-of-xml.js.map +1 -0
  40. package/lib/abstract-sheet-xml/abstract-sheet-xml.d.ts +4 -0
  41. package/lib/abstract-sheet-xml/abstract-sheet-xml.d.ts.map +1 -0
  42. package/lib/abstract-sheet-xml/abstract-sheet-xml.js +122 -0
  43. package/lib/abstract-sheet-xml/abstract-sheet-xml.js.map +1 -0
  44. package/lib/abstract-sheet-xml/creator.d.ts +3 -0
  45. package/lib/abstract-sheet-xml/creator.d.ts.map +1 -0
  46. package/lib/abstract-sheet-xml/creator.js +118 -0
  47. package/lib/abstract-sheet-xml/creator.js.map +1 -0
  48. package/lib/abstract-sheet-xml/index.d.ts +3 -0
  49. package/lib/abstract-sheet-xml/index.d.ts.map +1 -0
  50. package/lib/abstract-sheet-xml/index.js +19 -0
  51. package/lib/abstract-sheet-xml/index.js.map +1 -0
  52. package/lib/abstract-sheet-xml/mustache-xml/index.d.ts +3 -0
  53. package/lib/abstract-sheet-xml/mustache-xml/index.d.ts.map +1 -0
  54. package/lib/abstract-sheet-xml/mustache-xml/index.js +19 -0
  55. package/lib/abstract-sheet-xml/mustache-xml/index.js.map +1 -0
  56. package/lib/abstract-sheet-xml/mustache-xml/parse-mustache-xml.d.ts +14 -0
  57. package/lib/abstract-sheet-xml/mustache-xml/parse-mustache-xml.d.ts.map +1 -0
  58. package/lib/abstract-sheet-xml/mustache-xml/parse-mustache-xml.js +140 -0
  59. package/lib/abstract-sheet-xml/mustache-xml/parse-mustache-xml.js.map +1 -0
  60. package/lib/abstract-sheet-xml/mustache-xml/validate-mustache-xml.d.ts +21 -0
  61. package/lib/abstract-sheet-xml/mustache-xml/validate-mustache-xml.d.ts.map +1 -0
  62. package/lib/abstract-sheet-xml/mustache-xml/validate-mustache-xml.js +219 -0
  63. package/lib/abstract-sheet-xml/mustache-xml/validate-mustache-xml.js.map +1 -0
  64. package/lib/abstract-sheet-xml/xsd.d.ts +2 -0
  65. package/lib/abstract-sheet-xml/xsd.d.ts.map +1 -0
  66. package/lib/abstract-sheet-xml/xsd.js +14 -0
  67. package/lib/abstract-sheet-xml/xsd.js.map +1 -0
  68. package/lib/abstract-sheet.d.ts +59 -0
  69. package/lib/abstract-sheet.d.ts.map +1 -0
  70. package/lib/abstract-sheet.js +3 -0
  71. package/lib/abstract-sheet.js.map +1 -0
  72. package/lib/index.d.ts +4 -0
  73. package/lib/index.d.ts.map +1 -0
  74. package/lib/index.js +20 -0
  75. package/lib/index.js.map +1 -0
  76. package/lib/renderers/_xlsx-sheet.d.ts +5 -0
  77. package/lib/renderers/_xlsx-sheet.d.ts.map +1 -0
  78. package/lib/renderers/_xlsx-sheet.js +171 -0
  79. package/lib/renderers/_xlsx-sheet.js.map +1 -0
  80. package/lib/renderers/csv.d.ts +7 -0
  81. package/lib/renderers/csv.d.ts.map +1 -0
  82. package/lib/renderers/csv.js +35 -0
  83. package/lib/renderers/csv.js.map +1 -0
  84. package/lib/renderers/dxf/color.d.ts +2 -0
  85. package/lib/renderers/dxf/color.d.ts.map +1 -0
  86. package/lib/renderers/dxf/color.js +6 -0
  87. package/lib/renderers/dxf/color.js.map +1 -0
  88. package/lib/renderers/dxf/dxf-encoding.d.ts +7 -0
  89. package/lib/renderers/dxf/dxf-encoding.d.ts.map +1 -0
  90. package/lib/renderers/dxf/dxf-encoding.js +343 -0
  91. package/lib/renderers/dxf/dxf-encoding.js.map +1 -0
  92. package/lib/renderers/dxf/dxf-geometries/dxf-box.d.ts +3 -0
  93. package/lib/renderers/dxf/dxf-geometries/dxf-box.d.ts.map +1 -0
  94. package/lib/renderers/dxf/dxf-geometries/dxf-box.js +54 -0
  95. package/lib/renderers/dxf/dxf-geometries/dxf-box.js.map +1 -0
  96. package/lib/renderers/dxf/dxf-geometries/dxf-cone.d.ts +3 -0
  97. package/lib/renderers/dxf/dxf-geometries/dxf-cone.d.ts.map +1 -0
  98. package/lib/renderers/dxf/dxf-geometries/dxf-cone.js +55 -0
  99. package/lib/renderers/dxf/dxf-geometries/dxf-cone.js.map +1 -0
  100. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.d.ts +3 -0
  101. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.d.ts.map +1 -0
  102. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js +64 -0
  103. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js.map +1 -0
  104. package/lib/renderers/dxf/dxf-geometries/dxf-plane.d.ts +3 -0
  105. package/lib/renderers/dxf/dxf-geometries/dxf-plane.d.ts.map +1 -0
  106. package/lib/renderers/dxf/dxf-geometries/dxf-plane.js +39 -0
  107. package/lib/renderers/dxf/dxf-geometries/dxf-plane.js.map +1 -0
  108. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts +3 -0
  109. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts.map +1 -0
  110. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js +62 -0
  111. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js.map +1 -0
  112. package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts +3 -0
  113. package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts.map +1 -0
  114. package/lib/renderers/dxf/dxf-geometries/dxf-shape.js +63 -0
  115. package/lib/renderers/dxf/dxf-geometries/dxf-shape.js.map +1 -0
  116. package/lib/renderers/dxf/dxf.d.ts +3 -0
  117. package/lib/renderers/dxf/dxf.d.ts.map +1 -0
  118. package/lib/renderers/dxf/dxf.js +64 -0
  119. package/lib/renderers/dxf/dxf.js.map +1 -0
  120. package/lib/renderers/dxf/index.d.ts +2 -0
  121. package/lib/renderers/dxf/index.d.ts.map +1 -0
  122. package/lib/renderers/dxf/index.js +18 -0
  123. package/lib/renderers/dxf/index.js.map +1 -0
  124. package/lib/renderers/index.d.ts +3 -0
  125. package/lib/renderers/index.d.ts.map +1 -0
  126. package/lib/renderers/index.js +19 -0
  127. package/lib/renderers/index.js.map +1 -0
  128. package/lib/renderers/react/index.d.ts +6 -0
  129. package/lib/renderers/react/index.d.ts.map +1 -0
  130. package/lib/renderers/react/index.js +21 -0
  131. package/lib/renderers/react/index.js.map +1 -0
  132. package/lib/renderers/react/react-camera.d.ts +60 -0
  133. package/lib/renderers/react/react-camera.d.ts.map +1 -0
  134. package/lib/renderers/react/react-camera.js +156 -0
  135. package/lib/renderers/react/react-camera.js.map +1 -0
  136. package/lib/renderers/react/react-dimension.d.ts +16 -0
  137. package/lib/renderers/react/react-dimension.d.ts.map +1 -0
  138. package/lib/renderers/react/react-dimension.js +59 -0
  139. package/lib/renderers/react/react-dimension.js.map +1 -0
  140. package/lib/renderers/react/react-group.d.ts +18 -0
  141. package/lib/renderers/react/react-group.d.ts.map +1 -0
  142. package/lib/renderers/react/react-group.js +62 -0
  143. package/lib/renderers/react/react-group.js.map +1 -0
  144. package/lib/renderers/react/react-hotspot.d.ts +30 -0
  145. package/lib/renderers/react/react-hotspot.d.ts.map +1 -0
  146. package/lib/renderers/react/react-hotspot.js +71 -0
  147. package/lib/renderers/react/react-hotspot.js.map +1 -0
  148. package/lib/renderers/react/react-material.d.ts +14 -0
  149. package/lib/renderers/react/react-material.d.ts.map +1 -0
  150. package/lib/renderers/react/react-material.js +54 -0
  151. package/lib/renderers/react/react-material.js.map +1 -0
  152. package/lib/renderers/react/react-mesh.d.ts +10 -0
  153. package/lib/renderers/react/react-mesh.d.ts.map +1 -0
  154. package/lib/renderers/react/react-mesh.js +238 -0
  155. package/lib/renderers/react/react-mesh.js.map +1 -0
  156. package/lib/renderers/react/react-scene.d.ts +20 -0
  157. package/lib/renderers/react/react-scene.d.ts.map +1 -0
  158. package/lib/renderers/react/react-scene.js +50 -0
  159. package/lib/renderers/react/react-scene.js.map +1 -0
  160. package/lib/renderers/react/react.d.ts +30 -0
  161. package/lib/renderers/react/react.d.ts.map +1 -0
  162. package/lib/renderers/react/react.js +64 -0
  163. package/lib/renderers/react/react.js.map +1 -0
  164. package/lib/renderers/shared.d.ts +27 -0
  165. package/lib/renderers/shared.d.ts.map +1 -0
  166. package/lib/renderers/shared.js +174 -0
  167. package/lib/renderers/shared.js.map +1 -0
  168. package/lib/renderers/step/index.d.ts +2 -0
  169. package/lib/renderers/step/index.d.ts.map +1 -0
  170. package/lib/renderers/step/index.js +18 -0
  171. package/lib/renderers/step/index.js.map +1 -0
  172. package/lib/renderers/step/step-defintion.d.ts +1 -0
  173. package/lib/renderers/step/step-defintion.d.ts.map +1 -0
  174. package/lib/renderers/step/step-defintion.js +7 -0
  175. package/lib/renderers/step/step-defintion.js.map +1 -0
  176. package/lib/renderers/step/step-encoding.d.ts +53 -0
  177. package/lib/renderers/step/step-encoding.d.ts.map +1 -0
  178. package/lib/renderers/step/step-encoding.js +118 -0
  179. package/lib/renderers/step/step-encoding.js.map +1 -0
  180. package/lib/renderers/step/step-geometries/step-box.d.ts +4 -0
  181. package/lib/renderers/step/step-geometries/step-box.d.ts.map +1 -0
  182. package/lib/renderers/step/step-geometries/step-box.js +75 -0
  183. package/lib/renderers/step/step-geometries/step-box.js.map +1 -0
  184. package/lib/renderers/step/step-geometries/step-cylinder.d.ts +4 -0
  185. package/lib/renderers/step/step-geometries/step-cylinder.d.ts.map +1 -0
  186. package/lib/renderers/step/step-geometries/step-cylinder.js +39 -0
  187. package/lib/renderers/step/step-geometries/step-cylinder.js.map +1 -0
  188. package/lib/renderers/step/step-geometries/step-plane.d.ts +4 -0
  189. package/lib/renderers/step/step-geometries/step-plane.d.ts.map +1 -0
  190. package/lib/renderers/step/step-geometries/step-plane.js +32 -0
  191. package/lib/renderers/step/step-geometries/step-plane.js.map +1 -0
  192. package/lib/renderers/step/step.d.ts +3 -0
  193. package/lib/renderers/step/step.d.ts.map +1 -0
  194. package/lib/renderers/step/step.js +73 -0
  195. package/lib/renderers/step/step.js.map +1 -0
  196. package/lib/renderers/stl/index.d.ts +2 -0
  197. package/lib/renderers/stl/index.d.ts.map +1 -0
  198. package/lib/renderers/stl/index.js +18 -0
  199. package/lib/renderers/stl/index.js.map +1 -0
  200. package/lib/renderers/stl/stl-encoding.d.ts +4 -0
  201. package/lib/renderers/stl/stl-encoding.d.ts.map +1 -0
  202. package/lib/renderers/stl/stl-encoding.js +26 -0
  203. package/lib/renderers/stl/stl-encoding.js.map +1 -0
  204. package/lib/renderers/stl/stl-geometries/stl-box.d.ts +3 -0
  205. package/lib/renderers/stl/stl-geometries/stl-box.d.ts.map +1 -0
  206. package/lib/renderers/stl/stl-geometries/stl-box.js +57 -0
  207. package/lib/renderers/stl/stl-geometries/stl-box.js.map +1 -0
  208. package/lib/renderers/stl/stl-geometries/stl-cone.d.ts +3 -0
  209. package/lib/renderers/stl/stl-geometries/stl-cone.d.ts.map +1 -0
  210. package/lib/renderers/stl/stl-geometries/stl-cone.js +54 -0
  211. package/lib/renderers/stl/stl-geometries/stl-cone.js.map +1 -0
  212. package/lib/renderers/stl/stl-geometries/stl-cylinder.d.ts +3 -0
  213. package/lib/renderers/stl/stl-geometries/stl-cylinder.d.ts.map +1 -0
  214. package/lib/renderers/stl/stl-geometries/stl-cylinder.js +62 -0
  215. package/lib/renderers/stl/stl-geometries/stl-cylinder.js.map +1 -0
  216. package/lib/renderers/stl/stl-geometries/stl-plane.d.ts +3 -0
  217. package/lib/renderers/stl/stl-geometries/stl-plane.d.ts.map +1 -0
  218. package/lib/renderers/stl/stl-geometries/stl-plane.js +44 -0
  219. package/lib/renderers/stl/stl-geometries/stl-plane.js.map +1 -0
  220. package/lib/renderers/stl/stl-geometries/stl-polygon.d.ts +3 -0
  221. package/lib/renderers/stl/stl-geometries/stl-polygon.d.ts.map +1 -0
  222. package/lib/renderers/stl/stl-geometries/stl-polygon.js +59 -0
  223. package/lib/renderers/stl/stl-geometries/stl-polygon.js.map +1 -0
  224. package/lib/renderers/stl/stl-geometries/stl-shape.d.ts +3 -0
  225. package/lib/renderers/stl/stl-geometries/stl-shape.d.ts.map +1 -0
  226. package/lib/renderers/stl/stl-geometries/stl-shape.js +59 -0
  227. package/lib/renderers/stl/stl-geometries/stl-shape.js.map +1 -0
  228. package/lib/renderers/stl/stl.d.ts +3 -0
  229. package/lib/renderers/stl/stl.d.ts.map +1 -0
  230. package/lib/renderers/stl/stl.js +58 -0
  231. package/lib/renderers/stl/stl.js.map +1 -0
  232. package/lib/renderers/svg/index.d.ts +3 -0
  233. package/lib/renderers/svg/index.d.ts.map +1 -0
  234. package/lib/renderers/svg/index.js +18 -0
  235. package/lib/renderers/svg/index.js.map +1 -0
  236. package/lib/renderers/svg/svg-encoding.d.ts +15 -0
  237. package/lib/renderers/svg/svg-encoding.d.ts.map +1 -0
  238. package/lib/renderers/svg/svg-encoding.js +29 -0
  239. package/lib/renderers/svg/svg-encoding.js.map +1 -0
  240. package/lib/renderers/svg/svg-geometries/shared.d.ts +12 -0
  241. package/lib/renderers/svg/svg-geometries/shared.d.ts.map +1 -0
  242. package/lib/renderers/svg/svg-geometries/shared.js +12 -0
  243. package/lib/renderers/svg/svg-geometries/shared.js.map +1 -0
  244. package/lib/renderers/svg/svg-geometries/svg-box.d.ts +4 -0
  245. package/lib/renderers/svg/svg-geometries/svg-box.d.ts.map +1 -0
  246. package/lib/renderers/svg/svg-geometries/svg-box.js +70 -0
  247. package/lib/renderers/svg/svg-geometries/svg-box.js.map +1 -0
  248. package/lib/renderers/svg/svg-geometries/svg-cone.d.ts +4 -0
  249. package/lib/renderers/svg/svg-geometries/svg-cone.d.ts.map +1 -0
  250. package/lib/renderers/svg/svg-geometries/svg-cone.js +70 -0
  251. package/lib/renderers/svg/svg-geometries/svg-cone.js.map +1 -0
  252. package/lib/renderers/svg/svg-geometries/svg-cylinder.d.ts +4 -0
  253. package/lib/renderers/svg/svg-geometries/svg-cylinder.d.ts.map +1 -0
  254. package/lib/renderers/svg/svg-geometries/svg-cylinder.js +76 -0
  255. package/lib/renderers/svg/svg-geometries/svg-cylinder.js.map +1 -0
  256. package/lib/renderers/svg/svg-geometries/svg-line.d.ts +4 -0
  257. package/lib/renderers/svg/svg-geometries/svg-line.d.ts.map +1 -0
  258. package/lib/renderers/svg/svg-geometries/svg-line.js +39 -0
  259. package/lib/renderers/svg/svg-geometries/svg-line.js.map +1 -0
  260. package/lib/renderers/svg/svg-geometries/svg-plane.d.ts +5 -0
  261. package/lib/renderers/svg/svg-geometries/svg-plane.d.ts.map +1 -0
  262. package/lib/renderers/svg/svg-geometries/svg-plane.js +57 -0
  263. package/lib/renderers/svg/svg-geometries/svg-plane.js.map +1 -0
  264. package/lib/renderers/svg/svg-geometries/svg-polygon.d.ts +4 -0
  265. package/lib/renderers/svg/svg-geometries/svg-polygon.d.ts.map +1 -0
  266. package/lib/renderers/svg/svg-geometries/svg-polygon.js +20 -0
  267. package/lib/renderers/svg/svg-geometries/svg-polygon.js.map +1 -0
  268. package/lib/renderers/svg/svg-geometries/svg-shape.d.ts +4 -0
  269. package/lib/renderers/svg/svg-geometries/svg-shape.d.ts.map +1 -0
  270. package/lib/renderers/svg/svg-geometries/svg-shape.js +20 -0
  271. package/lib/renderers/svg/svg-geometries/svg-shape.js.map +1 -0
  272. package/lib/renderers/svg/svg-geometries/svg-text.d.ts +4 -0
  273. package/lib/renderers/svg/svg-geometries/svg-text.d.ts.map +1 -0
  274. package/lib/renderers/svg/svg-geometries/svg-text.js +46 -0
  275. package/lib/renderers/svg/svg-geometries/svg-text.js.map +1 -0
  276. package/lib/renderers/svg/svg.d.ts +10 -0
  277. package/lib/renderers/svg/svg.d.ts.map +1 -0
  278. package/lib/renderers/svg/svg.js +117 -0
  279. package/lib/renderers/svg/svg.js.map +1 -0
  280. package/lib/renderers/xlsx.d.ts +4 -0
  281. package/lib/renderers/xlsx.d.ts.map +1 -0
  282. package/lib/renderers/xlsx.js +43 -0
  283. package/lib/renderers/xlsx.js.map +1 -0
  284. package/package.json +28 -0
  285. package/src/abstract-sheet/abstract-sheet-xsd.ts +146 -0
  286. package/src/abstract-sheet/abstract-sheet-xsd.xml +146 -0
  287. package/src/abstract-sheet/abstract-sheet.ts +85 -0
  288. package/src/abstract-sheet/index.ts +2 -0
  289. package/src/abstract-sheet-exporters/_xlsx-sheet.ts +156 -0
  290. package/src/abstract-sheet-exporters/csv.ts +36 -0
  291. package/src/abstract-sheet-exporters/index.ts +2 -0
  292. package/src/abstract-sheet-exporters/xlsx.ts +15 -0
  293. package/src/abstract-sheet-xml/abstract-sheet-xml.ts +128 -0
  294. package/src/abstract-sheet-xml/index.ts +2 -0
  295. package/src/abstract-sheet-xml/mustache-xml/index.ts +2 -0
  296. package/src/abstract-sheet-xml/mustache-xml/parse-mustache-xml.ts +134 -0
  297. package/src/abstract-sheet-xml/mustache-xml/validate-mustache-xml.ts +272 -0
  298. package/src/custom-typings/xml.d.ts +1 -0
  299. 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,4 @@
1
+ /// <reference types="node" />
2
+ import { AbstractSheet } from "../abstract-sheet";
3
+ export declare function toXlsx(as: AbstractSheet): Buffer;
4
+ //# sourceMappingURL=xlsx.d.ts.map
@@ -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]));
@@ -0,0 +1,2 @@
1
+ export * from "./abstract-sheet.js";
2
+ export * from "./abstract-sheet-xsd.xml";