abstract-image 3.1.3 → 3.2.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.
Files changed (333) hide show
  1. package/CHANGELOG.md +27 -21
  2. package/LICENSE +21 -21
  3. package/README.md +71 -71
  4. package/lib/__stories__/react-svg-export/example-1.stories.d.ts.map +1 -1
  5. package/lib/__stories__/react-svg-export/example-1.stories.js +1 -1
  6. package/lib/__stories__/react-svg-export/example-1.stories.js.map +1 -1
  7. package/lib/_tests_/exporters/svg-export-image.test.d.ts +2 -0
  8. package/lib/_tests_/exporters/svg-export-image.test.d.ts.map +1 -0
  9. package/lib/_tests_/exporters/svg-export-image.test.js +35 -0
  10. package/lib/_tests_/exporters/svg-export-image.test.js.map +1 -0
  11. package/lib/exporters/__tests__/dxf/export-test-def.d.ts +11 -0
  12. package/lib/exporters/__tests__/dxf/export-test-def.d.ts.map +1 -0
  13. package/lib/exporters/__tests__/dxf/export-test-def.js +6 -0
  14. package/lib/exporters/__tests__/dxf/export-test-def.js.map +1 -0
  15. package/lib/exporters/__tests__/dxf/export.test.d.ts +3 -0
  16. package/lib/exporters/__tests__/dxf/export.test.d.ts.map +1 -0
  17. package/lib/exporters/__tests__/dxf/export.test.js +17 -0
  18. package/lib/exporters/__tests__/dxf/export.test.js.map +1 -0
  19. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-ellipse.d.ts +3 -0
  20. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-ellipse.d.ts.map +1 -0
  21. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-ellipse.js +413 -0
  22. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-ellipse.js.map +1 -0
  23. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-group.d.ts +3 -0
  24. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-group.d.ts.map +1 -0
  25. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-group.js +160 -0
  26. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-group.js.map +1 -0
  27. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-line.d.ts +3 -0
  28. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-line.d.ts.map +1 -0
  29. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-line.js +89 -0
  30. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-line.js.map +1 -0
  31. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-polygon.d.ts +3 -0
  32. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-polygon.d.ts.map +1 -0
  33. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-polygon.js +123 -0
  34. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-polygon.js.map +1 -0
  35. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-polyline.d.ts +3 -0
  36. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-polyline.d.ts.map +1 -0
  37. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-polyline.js +113 -0
  38. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-polyline.js.map +1 -0
  39. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-rectangle.d.ts +3 -0
  40. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-rectangle.d.ts.map +1 -0
  41. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-rectangle.js +133 -0
  42. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-rectangle.js.map +1 -0
  43. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-text-growth-directions.d.ts +3 -0
  44. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-text-growth-directions.d.ts.map +1 -0
  45. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-text-growth-directions.js +172 -0
  46. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-text-growth-directions.js.map +1 -0
  47. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-text.d.ts +3 -0
  48. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-text.d.ts.map +1 -0
  49. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-text.js +97 -0
  50. package/lib/exporters/__tests__/dxf/test-defs/dxf2d-text.js.map +1 -0
  51. package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-ellipse.js +379 -379
  52. package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-group.d.ts.map +1 -1
  53. package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-group.js +124 -124
  54. package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-group.js.map +1 -1
  55. package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-line.js +55 -55
  56. package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-polygon.js +89 -89
  57. package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-polyline.js +79 -79
  58. package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-rectangle.js +99 -99
  59. package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-text-growth-directions.d.ts.map +1 -1
  60. package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-text-growth-directions.js +139 -139
  61. package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-text-growth-directions.js.map +1 -1
  62. package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-text.d.ts.map +1 -1
  63. package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-text.js +64 -64
  64. package/lib/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-text.js.map +1 -1
  65. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-ellipse.js +24 -24
  66. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-empty-text.d.ts.map +1 -1
  67. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-empty-text.js +27 -27
  68. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-empty-text.js.map +1 -1
  69. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-group.d.ts.map +1 -1
  70. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-group.js +32 -32
  71. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-group.js.map +1 -1
  72. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-line.js +20 -20
  73. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-polygon.js +34 -34
  74. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-polyline.js +26 -26
  75. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-rectangle.js +20 -20
  76. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-text-growth-directions.d.ts.map +1 -1
  77. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-text-growth-directions.js +63 -63
  78. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-text-growth-directions.js.map +1 -1
  79. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-text.d.ts.map +1 -1
  80. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-text.js +27 -27
  81. package/lib/exporters/__tests__/eps-export-image/test-defs/eps-text.js.map +1 -1
  82. package/lib/exporters/__tests__/exception/react-svg-direction-exception.test.js +2 -2
  83. package/lib/exporters/__tests__/exception/react-svg-direction-exception.test.js.map +1 -1
  84. package/lib/exporters/__tests__/exception/svg-direction-exception.test.js +2 -2
  85. package/lib/exporters/__tests__/exception/svg-direction-exception.test.js.map +1 -1
  86. package/lib/exporters/__tests__/export-test-def.d.ts +8 -0
  87. package/lib/exporters/__tests__/export-test-def.d.ts.map +1 -0
  88. package/lib/exporters/__tests__/export-test-def.js +3 -0
  89. package/lib/exporters/__tests__/export-test-def.js.map +1 -0
  90. package/lib/exporters/__tests__/export.test.d.ts +3 -0
  91. package/lib/exporters/__tests__/export.test.d.ts.map +1 -0
  92. package/lib/exporters/__tests__/export.test.js +18 -0
  93. package/lib/exporters/__tests__/export.test.js.map +1 -0
  94. package/lib/exporters/__tests__/react-svg/export-test-def.d.ts +12 -0
  95. package/lib/exporters/__tests__/react-svg/export-test-def.d.ts.map +1 -0
  96. package/lib/exporters/__tests__/react-svg/export-test-def.js +6 -0
  97. package/lib/exporters/__tests__/react-svg/export-test-def.js.map +1 -0
  98. package/lib/exporters/__tests__/react-svg/export.test.d.ts +3 -0
  99. package/lib/exporters/__tests__/react-svg/export.test.d.ts.map +1 -0
  100. package/lib/exporters/__tests__/react-svg/export.test.js +17 -0
  101. package/lib/exporters/__tests__/react-svg/export.test.js.map +1 -0
  102. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-binary-png.d.ts +3 -0
  103. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-binary-png.d.ts.map +1 -0
  104. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-binary-png.js +33 -0
  105. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-binary-png.js.map +1 -0
  106. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-binary.d.ts +3 -0
  107. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-binary.d.ts.map +1 -0
  108. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-binary.js +33 -0
  109. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-binary.js.map +1 -0
  110. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-callback.d.ts +3 -0
  111. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-callback.d.ts.map +1 -0
  112. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-callback.js +38 -0
  113. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-callback.js.map +1 -0
  114. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-ellipse.d.ts +3 -0
  115. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-ellipse.d.ts.map +1 -0
  116. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-ellipse.js +34 -0
  117. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-ellipse.js.map +1 -0
  118. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-empty-text.d.ts +3 -0
  119. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-empty-text.d.ts.map +1 -0
  120. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-empty-text.js +34 -0
  121. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-empty-text.js.map +1 -0
  122. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-group.d.ts +3 -0
  123. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-group.d.ts.map +1 -0
  124. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-group.js +37 -0
  125. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-group.js.map +1 -0
  126. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-line.d.ts +3 -0
  127. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-line.d.ts.map +1 -0
  128. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-line.js +34 -0
  129. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-line.js.map +1 -0
  130. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-polygon.d.ts +3 -0
  131. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-polygon.d.ts.map +1 -0
  132. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-polygon.js +40 -0
  133. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-polygon.js.map +1 -0
  134. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-polyline.d.ts +3 -0
  135. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-polyline.d.ts.map +1 -0
  136. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-polyline.js +42 -0
  137. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-polyline.js.map +1 -0
  138. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-rectangle.d.ts +3 -0
  139. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-rectangle.d.ts.map +1 -0
  140. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-rectangle.js +34 -0
  141. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-rectangle.js.map +1 -0
  142. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-subimage.d.ts +3 -0
  143. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-subimage.d.ts.map +1 -0
  144. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-subimage.js +33 -0
  145. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-subimage.js.map +1 -0
  146. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-text-growth-directions.d.ts +3 -0
  147. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-text-growth-directions.d.ts.map +1 -0
  148. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-text-growth-directions.js +37 -0
  149. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-text-growth-directions.js.map +1 -0
  150. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-text-sub.d.ts +3 -0
  151. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-text-sub.d.ts.map +1 -0
  152. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-text-sub.js +34 -0
  153. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-text-sub.js.map +1 -0
  154. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-text.d.ts +3 -0
  155. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-text.d.ts.map +1 -0
  156. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-text.js +34 -0
  157. package/lib/exporters/__tests__/react-svg/test-defs/react-svg-text.js.map +1 -0
  158. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-callback.d.ts.map +1 -1
  159. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-callback.js +1 -1
  160. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-callback.js.map +1 -1
  161. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-empty-text.d.ts.map +1 -1
  162. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-empty-text.js +1 -1
  163. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-empty-text.js.map +1 -1
  164. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-group.d.ts.map +1 -1
  165. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-group.js +1 -1
  166. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-group.js.map +1 -1
  167. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-subimage.d.ts.map +1 -1
  168. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-subimage.js +1 -1
  169. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-subimage.js.map +1 -1
  170. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-growth-directions.d.ts.map +1 -1
  171. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-growth-directions.js +4 -4
  172. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-growth-directions.js.map +1 -1
  173. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-sub.d.ts.map +1 -1
  174. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-sub.js +1 -1
  175. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-sub.js.map +1 -1
  176. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text.d.ts.map +1 -1
  177. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text.js +1 -1
  178. package/lib/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text.js.map +1 -1
  179. package/lib/exporters/__tests__/svg/export-test-def.d.ts +11 -0
  180. package/lib/exporters/__tests__/svg/export-test-def.d.ts.map +1 -0
  181. package/lib/exporters/__tests__/svg/export-test-def.js +6 -0
  182. package/lib/exporters/__tests__/svg/export-test-def.js.map +1 -0
  183. package/lib/exporters/__tests__/svg/export.test.d.ts +3 -0
  184. package/lib/exporters/__tests__/svg/export.test.d.ts.map +1 -0
  185. package/lib/exporters/__tests__/svg/export.test.js +17 -0
  186. package/lib/exporters/__tests__/svg/export.test.js.map +1 -0
  187. package/lib/exporters/__tests__/svg/test-defs/svg-ellipse.d.ts +3 -0
  188. package/lib/exporters/__tests__/svg/test-defs/svg-ellipse.d.ts.map +1 -0
  189. package/lib/exporters/__tests__/svg/test-defs/svg-ellipse.js +34 -0
  190. package/lib/exporters/__tests__/svg/test-defs/svg-ellipse.js.map +1 -0
  191. package/lib/exporters/__tests__/svg/test-defs/svg-empty-text.d.ts +3 -0
  192. package/lib/exporters/__tests__/svg/test-defs/svg-empty-text.d.ts.map +1 -0
  193. package/lib/exporters/__tests__/svg/test-defs/svg-empty-text.js +34 -0
  194. package/lib/exporters/__tests__/svg/test-defs/svg-empty-text.js.map +1 -0
  195. package/lib/exporters/__tests__/svg/test-defs/svg-group.d.ts +3 -0
  196. package/lib/exporters/__tests__/svg/test-defs/svg-group.d.ts.map +1 -0
  197. package/lib/exporters/__tests__/svg/test-defs/svg-group.js +37 -0
  198. package/lib/exporters/__tests__/svg/test-defs/svg-group.js.map +1 -0
  199. package/lib/exporters/__tests__/svg/test-defs/svg-line.d.ts +3 -0
  200. package/lib/exporters/__tests__/svg/test-defs/svg-line.d.ts.map +1 -0
  201. package/lib/exporters/__tests__/svg/test-defs/svg-line.js +34 -0
  202. package/lib/exporters/__tests__/svg/test-defs/svg-line.js.map +1 -0
  203. package/lib/exporters/__tests__/svg/test-defs/svg-polygon.d.ts +3 -0
  204. package/lib/exporters/__tests__/svg/test-defs/svg-polygon.d.ts.map +1 -0
  205. package/lib/exporters/__tests__/svg/test-defs/svg-polygon.js +40 -0
  206. package/lib/exporters/__tests__/svg/test-defs/svg-polygon.js.map +1 -0
  207. package/lib/exporters/__tests__/svg/test-defs/svg-polyline.d.ts +3 -0
  208. package/lib/exporters/__tests__/svg/test-defs/svg-polyline.d.ts.map +1 -0
  209. package/lib/exporters/__tests__/svg/test-defs/svg-polyline.js +42 -0
  210. package/lib/exporters/__tests__/svg/test-defs/svg-polyline.js.map +1 -0
  211. package/lib/exporters/__tests__/svg/test-defs/svg-rectangle.d.ts +3 -0
  212. package/lib/exporters/__tests__/svg/test-defs/svg-rectangle.d.ts.map +1 -0
  213. package/lib/exporters/__tests__/svg/test-defs/svg-rectangle.js +34 -0
  214. package/lib/exporters/__tests__/svg/test-defs/svg-rectangle.js.map +1 -0
  215. package/lib/exporters/__tests__/svg/test-defs/svg-text-growth-directions.d.ts +3 -0
  216. package/lib/exporters/__tests__/svg/test-defs/svg-text-growth-directions.d.ts.map +1 -0
  217. package/lib/exporters/__tests__/svg/test-defs/svg-text-growth-directions.js +37 -0
  218. package/lib/exporters/__tests__/svg/test-defs/svg-text-growth-directions.js.map +1 -0
  219. package/lib/exporters/__tests__/svg/test-defs/svg-text-unknown-direction.d.ts +3 -0
  220. package/lib/exporters/__tests__/svg/test-defs/svg-text-unknown-direction.d.ts.map +1 -0
  221. package/lib/exporters/__tests__/svg/test-defs/svg-text-unknown-direction.js +34 -0
  222. package/lib/exporters/__tests__/svg/test-defs/svg-text-unknown-direction.js.map +1 -0
  223. package/lib/exporters/__tests__/svg/test-defs/svg-text.d.ts +3 -0
  224. package/lib/exporters/__tests__/svg/test-defs/svg-text.d.ts.map +1 -0
  225. package/lib/exporters/__tests__/svg/test-defs/svg-text.js +34 -0
  226. package/lib/exporters/__tests__/svg/test-defs/svg-text.js.map +1 -0
  227. package/lib/exporters/__tests__/svg-export-image/test-defs/svg-empty-text.d.ts.map +1 -1
  228. package/lib/exporters/__tests__/svg-export-image/test-defs/svg-empty-text.js +1 -1
  229. package/lib/exporters/__tests__/svg-export-image/test-defs/svg-empty-text.js.map +1 -1
  230. package/lib/exporters/__tests__/svg-export-image/test-defs/svg-group.d.ts.map +1 -1
  231. package/lib/exporters/__tests__/svg-export-image/test-defs/svg-group.js +1 -1
  232. package/lib/exporters/__tests__/svg-export-image/test-defs/svg-group.js.map +1 -1
  233. package/lib/exporters/__tests__/svg-export-image/test-defs/svg-text-growth-directions.d.ts.map +1 -1
  234. package/lib/exporters/__tests__/svg-export-image/test-defs/svg-text-growth-directions.js +4 -4
  235. package/lib/exporters/__tests__/svg-export-image/test-defs/svg-text-growth-directions.js.map +1 -1
  236. package/lib/exporters/__tests__/svg-export-image/test-defs/svg-text.d.ts.map +1 -1
  237. package/lib/exporters/__tests__/svg-export-image/test-defs/svg-text.js +1 -1
  238. package/lib/exporters/__tests__/svg-export-image/test-defs/svg-text.js.map +1 -1
  239. package/lib/exporters/__tests__/test-defs/png-export-image.d.ts +3 -0
  240. package/lib/exporters/__tests__/test-defs/png-export-image.d.ts.map +1 -0
  241. package/lib/exporters/__tests__/test-defs/png-export-image.js +9 -0
  242. package/lib/exporters/__tests__/test-defs/png-export-image.js.map +1 -0
  243. package/lib/exporters/__tests__/test-defs/svg-export-image.d.ts +3 -0
  244. package/lib/exporters/__tests__/test-defs/svg-export-image.d.ts.map +1 -0
  245. package/lib/exporters/__tests__/test-defs/svg-export-image.js +54 -0
  246. package/lib/exporters/__tests__/test-defs/svg-export-image.js.map +1 -0
  247. package/lib/exporters/react-svg-export-image.js +2 -2
  248. package/lib/exporters/react-svg-export-image.js.map +1 -1
  249. package/lib/model/__tests__/color/test-defs/color-from-string-6-digits.d.ts +3 -0
  250. package/lib/model/__tests__/color/test-defs/color-from-string-6-digits.d.ts.map +1 -0
  251. package/lib/model/__tests__/color/test-defs/color-from-string-6-digits.js +66 -0
  252. package/lib/model/__tests__/color/test-defs/color-from-string-6-digits.js.map +1 -0
  253. package/lib/model/component.d.ts +3 -2
  254. package/lib/model/component.d.ts.map +1 -1
  255. package/lib/model/component.js +12 -11
  256. package/lib/model/component.js.map +1 -1
  257. package/package.json +2 -2
  258. package/src/__stories__/react-svg-export/example-1.stories.tsx +54 -53
  259. package/src/__stories__/svg-export/example-1.stories.tsx +42 -42
  260. package/src/exporters/__tests__/dxf2d-export-image/export-test-def.ts +11 -11
  261. package/src/exporters/__tests__/dxf2d-export-image/export.test.tsx +13 -13
  262. package/src/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-ellipse.ts +405 -405
  263. package/src/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-group.ts +166 -165
  264. package/src/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-line.ts +80 -80
  265. package/src/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-polygon.ts +114 -114
  266. package/src/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-polyline.ts +103 -103
  267. package/src/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-rectangle.ts +125 -125
  268. package/src/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-text-growth-directions.ts +214 -210
  269. package/src/exporters/__tests__/dxf2d-export-image/test-defs/dxf2d-text.ts +97 -96
  270. package/src/exporters/__tests__/eps-export-image/export-test-def.ts +11 -11
  271. package/src/exporters/__tests__/eps-export-image/export.test.tsx +13 -13
  272. package/src/exporters/__tests__/eps-export-image/test-defs/eps-ellipse.ts +50 -50
  273. package/src/exporters/__tests__/eps-export-image/test-defs/eps-empty-text.ts +60 -59
  274. package/src/exporters/__tests__/eps-export-image/test-defs/eps-group.ts +74 -73
  275. package/src/exporters/__tests__/eps-export-image/test-defs/eps-line.ts +45 -45
  276. package/src/exporters/__tests__/eps-export-image/test-defs/eps-polygon.ts +65 -65
  277. package/src/exporters/__tests__/eps-export-image/test-defs/eps-polyline.ts +58 -58
  278. package/src/exporters/__tests__/eps-export-image/test-defs/eps-rectangle.ts +46 -46
  279. package/src/exporters/__tests__/eps-export-image/test-defs/eps-text-growth-directions.ts +138 -134
  280. package/src/exporters/__tests__/eps-export-image/test-defs/eps-text.ts +60 -59
  281. package/src/exporters/__tests__/exception/png-unsupported.test.tsx +25 -25
  282. package/src/exporters/__tests__/exception/react-svg-direction-exception.test.tsx +65 -63
  283. package/src/exporters/__tests__/exception/svg-direction-exception.test.tsx +65 -63
  284. package/src/exporters/__tests__/png-export-image/export-test-def.ts +11 -11
  285. package/src/exporters/__tests__/png-export-image/export.test.tsx +13 -13
  286. package/src/exporters/__tests__/png-export-image/test-defs/png-createPNG.tsx +26 -26
  287. package/src/exporters/__tests__/react-svg-export-image/export-test-def.tsx +13 -13
  288. package/src/exporters/__tests__/react-svg-export-image/export.test.tsx +13 -13
  289. package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary-png.tsx +27 -27
  290. package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-binary.tsx +26 -26
  291. package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-callback.tsx +60 -59
  292. package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-ellipse.tsx +28 -28
  293. package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-empty-text.tsx +35 -34
  294. package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-group.tsx +44 -43
  295. package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-line.tsx +26 -26
  296. package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-polygon.tsx +32 -32
  297. package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-polyline.tsx +33 -33
  298. package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-rectangle.tsx +27 -27
  299. package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-subimage.tsx +36 -35
  300. package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-growth-directions.tsx +80 -76
  301. package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text-sub.tsx +35 -34
  302. package/src/exporters/__tests__/react-svg-export-image/test-defs/react-svg-text.tsx +35 -34
  303. package/src/exporters/__tests__/svg-export-image/export-test-def.ts +11 -11
  304. package/src/exporters/__tests__/svg-export-image/export.test.tsx +13 -13
  305. package/src/exporters/__tests__/svg-export-image/test-defs/svg-binary.tsx +26 -26
  306. package/src/exporters/__tests__/svg-export-image/test-defs/svg-ellipse.ts +27 -27
  307. package/src/exporters/__tests__/svg-export-image/test-defs/svg-empty-text.ts +34 -33
  308. package/src/exporters/__tests__/svg-export-image/test-defs/svg-group.ts +44 -43
  309. package/src/exporters/__tests__/svg-export-image/test-defs/svg-line.ts +26 -26
  310. package/src/exporters/__tests__/svg-export-image/test-defs/svg-polygon.ts +32 -32
  311. package/src/exporters/__tests__/svg-export-image/test-defs/svg-polyline.ts +33 -33
  312. package/src/exporters/__tests__/svg-export-image/test-defs/svg-rectangle.ts +27 -27
  313. package/src/exporters/__tests__/svg-export-image/test-defs/svg-text-growth-directions.ts +80 -76
  314. package/src/exporters/__tests__/svg-export-image/test-defs/svg-text.ts +35 -34
  315. package/src/exporters/dxf2d-export-image.ts +218 -218
  316. package/src/exporters/eps-export-image.ts +154 -154
  317. package/src/exporters/index.ts +3 -3
  318. package/src/exporters/png-export-image.ts +12 -12
  319. package/src/exporters/react-svg-export-image.tsx +298 -298
  320. package/src/exporters/svg-export-image.ts +334 -334
  321. package/src/index.ts +11 -11
  322. package/src/model/__tests__/color/export-test-def.ts +13 -13
  323. package/src/model/__tests__/color/export.test.tsx +14 -14
  324. package/src/model/__tests__/color/test-defs/color-from-string.ts +46 -46
  325. package/src/model/__tests__/color/test-defs/color-to-string.ts +35 -35
  326. package/src/model/__tests__/color/test-defs/color-undefined-2.ts +8 -8
  327. package/src/model/__tests__/color/test-defs/color-undefined.ts +8 -8
  328. package/src/model/abstract-image.ts +25 -25
  329. package/src/model/color.ts +52 -52
  330. package/src/model/component.ts +266 -279
  331. package/src/model/index.ts +5 -5
  332. package/src/model/point.ts +11 -11
  333. package/src/model/size.ts +11 -11
@@ -1,154 +1,154 @@
1
- import * as AI from "../model/index";
2
- import * as R from "ramda";
3
-
4
- export function epsExportImage(root: AI.AbstractImage): string {
5
- return [
6
- "%!PS-Adobe-3.0 EPSF-3.0",
7
- `%%BoundingBox: 0 0 ${root.size.width} ${root.size.height}`,
8
- "/ellipse {7 dict begin",
9
- "/endangle exch def",
10
- "/startangle exch def",
11
- "/yradius exch def",
12
- "/xradius exch def",
13
- "/yC exch def",
14
- "/xC exch def",
15
- "/savematrix matrix currentmatrix def",
16
- "xC yC translate",
17
- "xradius yradius scale",
18
- "0 0 1 startangle endangle arc",
19
- "savematrix setmatrix",
20
- "end",
21
- "} def",
22
- ...R.unnest<string>(
23
- root.components.map(c => epsExportComponent(c, root.size.height))
24
- )
25
- ].join("\n");
26
- }
27
-
28
- function epsExportComponent(c: AI.Component, height: number): Array<string> {
29
- switch (c.type) {
30
- case "ellipse": {
31
- const cx = (c.topLeft.x + c.bottomRight.x) * 0.5;
32
- const cy = height - (c.topLeft.y + c.bottomRight.y) * 0.5;
33
- const rx = 0.5 * (c.bottomRight.x - c.topLeft.x);
34
- const ry = 0.5 * (c.bottomRight.y - c.topLeft.y);
35
- return [
36
- ...getColored(c.fillColor, [
37
- `${cx} ${cy} ${rx} ${ry} 0 360 ellipse`,
38
- "closepath",
39
- "fill"
40
- ]),
41
- ...getColored(c.strokeColor, [
42
- `${cx} ${cy} ${rx} ${ry} 0 360 ellipse`,
43
- "closepath",
44
- `${c.strokeThickness} setlinewidth`,
45
- "stroke"
46
- ])
47
- ];
48
- }
49
- case "group": {
50
- return R.unnest<string>(
51
- c.children.map(cc => epsExportComponent(cc, height))
52
- );
53
- }
54
- case "line": {
55
- return getColored(c.strokeColor, [
56
- `${c.start.x} ${height - c.start.y} moveto`,
57
- `${c.end.x} ${height - c.end.y} lineto`,
58
- `${c.strokeThickness} setlinewidth`,
59
- "stroke"
60
- ]);
61
- }
62
- case "polygon": {
63
- return [
64
- ...getColored(c.fillColor, [
65
- `${c.points[0].x} ${height - c.points[0].y} moveto`,
66
- ...c.points.map(p => `${p.x} ${height - p.y} lineto`),
67
- "closepath",
68
- `${c.strokeThickness} setlinewidth`,
69
- "fill"
70
- ]),
71
- ...getColored(c.strokeColor, [
72
- `${c.points[0].x} ${height - c.points[0].y} moveto`,
73
- ...c.points.map(p => `${p.x} ${height - p.y} lineto`),
74
- "closepath",
75
- "stroke"
76
- ])
77
- ];
78
- }
79
- case "polyline": {
80
- return getColored(c.strokeColor, [
81
- `${c.points[0].x} ${height - c.points[0].y} moveto`,
82
- ...c.points.map(p => `${p.x} ${height - p.y} lineto`),
83
- `${c.strokeThickness} setlinewidth`,
84
- "stroke"
85
- ]);
86
- }
87
- case "rectangle": {
88
- const w = c.bottomRight.x - c.topLeft.x;
89
- const h = c.bottomRight.y - c.topLeft.y;
90
- return [
91
- ...getColored(c.fillColor, [
92
- `${c.topLeft.x} ${height - c.bottomRight.y} ${w} ${h} rectfill`
93
- ]),
94
- ...getColored(c.strokeColor, [
95
- `${c.strokeThickness} setlinewidth`,
96
- `${c.topLeft.x} ${height - c.bottomRight.y} ${w} ${h} rectstroke`
97
- ])
98
- ];
99
- }
100
- case "text": {
101
- return getColored(c.textColor, [
102
- `gsave`,
103
- `/${c.fontFamily} findfont`,
104
- `${c.fontSize} scalefont setfont`,
105
- `${c.position.x} ${height - c.position.y} moveto`,
106
- getTextXOffset(c),
107
- getTextYOffset(c),
108
- `rmoveto`,
109
- `${-c.clockwiseRotationDegrees} rotate`,
110
- `(${c.text}) show`,
111
- `grestore`
112
- ]);
113
- }
114
- default:
115
- return [];
116
- }
117
- }
118
-
119
- function getTextXOffset(c: AI.Text): string {
120
- if (c.horizontalGrowthDirection === "left") {
121
- return `(${c.text}) stringwidth pop neg`;
122
- } else if (c.horizontalGrowthDirection === "uniform") {
123
- return `(${c.text}) stringwidth pop neg 0.5 mul`;
124
- } else {
125
- return `0`;
126
- }
127
- }
128
-
129
- function getTextYOffset(c: AI.Text): string {
130
- if (c.verticalGrowthDirection === "down") {
131
- return `gsave (${
132
- c.text
133
- }) true charpath pathbbox exch pop 3 -1 roll pop sub grestore`;
134
- } else if (c.verticalGrowthDirection === "uniform") {
135
- return `gsave (${
136
- c.text
137
- }) true charpath pathbbox exch pop 3 -1 roll pop sub 0.5 mul grestore`;
138
- } else {
139
- return `0`;
140
- }
141
- }
142
-
143
- function getColored(
144
- color: AI.Color,
145
- instructions: Array<string>
146
- ): Array<string> {
147
- if (color.a === 0) {
148
- return [];
149
- }
150
- return [
151
- `${color.r / 255} ${color.g / 255} ${color.b / 255} setrgbcolor`,
152
- ...instructions
153
- ];
154
- }
1
+ import * as AI from "../model/index";
2
+ import * as R from "ramda";
3
+
4
+ export function epsExportImage(root: AI.AbstractImage): string {
5
+ return [
6
+ "%!PS-Adobe-3.0 EPSF-3.0",
7
+ `%%BoundingBox: 0 0 ${root.size.width} ${root.size.height}`,
8
+ "/ellipse {7 dict begin",
9
+ "/endangle exch def",
10
+ "/startangle exch def",
11
+ "/yradius exch def",
12
+ "/xradius exch def",
13
+ "/yC exch def",
14
+ "/xC exch def",
15
+ "/savematrix matrix currentmatrix def",
16
+ "xC yC translate",
17
+ "xradius yradius scale",
18
+ "0 0 1 startangle endangle arc",
19
+ "savematrix setmatrix",
20
+ "end",
21
+ "} def",
22
+ ...R.unnest<string>(
23
+ root.components.map(c => epsExportComponent(c, root.size.height))
24
+ )
25
+ ].join("\n");
26
+ }
27
+
28
+ function epsExportComponent(c: AI.Component, height: number): Array<string> {
29
+ switch (c.type) {
30
+ case "ellipse": {
31
+ const cx = (c.topLeft.x + c.bottomRight.x) * 0.5;
32
+ const cy = height - (c.topLeft.y + c.bottomRight.y) * 0.5;
33
+ const rx = 0.5 * (c.bottomRight.x - c.topLeft.x);
34
+ const ry = 0.5 * (c.bottomRight.y - c.topLeft.y);
35
+ return [
36
+ ...getColored(c.fillColor, [
37
+ `${cx} ${cy} ${rx} ${ry} 0 360 ellipse`,
38
+ "closepath",
39
+ "fill"
40
+ ]),
41
+ ...getColored(c.strokeColor, [
42
+ `${cx} ${cy} ${rx} ${ry} 0 360 ellipse`,
43
+ "closepath",
44
+ `${c.strokeThickness} setlinewidth`,
45
+ "stroke"
46
+ ])
47
+ ];
48
+ }
49
+ case "group": {
50
+ return R.unnest<string>(
51
+ c.children.map(cc => epsExportComponent(cc, height))
52
+ );
53
+ }
54
+ case "line": {
55
+ return getColored(c.strokeColor, [
56
+ `${c.start.x} ${height - c.start.y} moveto`,
57
+ `${c.end.x} ${height - c.end.y} lineto`,
58
+ `${c.strokeThickness} setlinewidth`,
59
+ "stroke"
60
+ ]);
61
+ }
62
+ case "polygon": {
63
+ return [
64
+ ...getColored(c.fillColor, [
65
+ `${c.points[0].x} ${height - c.points[0].y} moveto`,
66
+ ...c.points.map(p => `${p.x} ${height - p.y} lineto`),
67
+ "closepath",
68
+ `${c.strokeThickness} setlinewidth`,
69
+ "fill"
70
+ ]),
71
+ ...getColored(c.strokeColor, [
72
+ `${c.points[0].x} ${height - c.points[0].y} moveto`,
73
+ ...c.points.map(p => `${p.x} ${height - p.y} lineto`),
74
+ "closepath",
75
+ "stroke"
76
+ ])
77
+ ];
78
+ }
79
+ case "polyline": {
80
+ return getColored(c.strokeColor, [
81
+ `${c.points[0].x} ${height - c.points[0].y} moveto`,
82
+ ...c.points.map(p => `${p.x} ${height - p.y} lineto`),
83
+ `${c.strokeThickness} setlinewidth`,
84
+ "stroke"
85
+ ]);
86
+ }
87
+ case "rectangle": {
88
+ const w = c.bottomRight.x - c.topLeft.x;
89
+ const h = c.bottomRight.y - c.topLeft.y;
90
+ return [
91
+ ...getColored(c.fillColor, [
92
+ `${c.topLeft.x} ${height - c.bottomRight.y} ${w} ${h} rectfill`
93
+ ]),
94
+ ...getColored(c.strokeColor, [
95
+ `${c.strokeThickness} setlinewidth`,
96
+ `${c.topLeft.x} ${height - c.bottomRight.y} ${w} ${h} rectstroke`
97
+ ])
98
+ ];
99
+ }
100
+ case "text": {
101
+ return getColored(c.textColor, [
102
+ `gsave`,
103
+ `/${c.fontFamily} findfont`,
104
+ `${c.fontSize} scalefont setfont`,
105
+ `${c.position.x} ${height - c.position.y} moveto`,
106
+ getTextXOffset(c),
107
+ getTextYOffset(c),
108
+ `rmoveto`,
109
+ `${-c.clockwiseRotationDegrees} rotate`,
110
+ `(${c.text}) show`,
111
+ `grestore`
112
+ ]);
113
+ }
114
+ default:
115
+ return [];
116
+ }
117
+ }
118
+
119
+ function getTextXOffset(c: AI.Text): string {
120
+ if (c.horizontalGrowthDirection === "left") {
121
+ return `(${c.text}) stringwidth pop neg`;
122
+ } else if (c.horizontalGrowthDirection === "uniform") {
123
+ return `(${c.text}) stringwidth pop neg 0.5 mul`;
124
+ } else {
125
+ return `0`;
126
+ }
127
+ }
128
+
129
+ function getTextYOffset(c: AI.Text): string {
130
+ if (c.verticalGrowthDirection === "down") {
131
+ return `gsave (${
132
+ c.text
133
+ }) true charpath pathbbox exch pop 3 -1 roll pop sub grestore`;
134
+ } else if (c.verticalGrowthDirection === "uniform") {
135
+ return `gsave (${
136
+ c.text
137
+ }) true charpath pathbbox exch pop 3 -1 roll pop sub 0.5 mul grestore`;
138
+ } else {
139
+ return `0`;
140
+ }
141
+ }
142
+
143
+ function getColored(
144
+ color: AI.Color,
145
+ instructions: Array<string>
146
+ ): Array<string> {
147
+ if (color.a === 0) {
148
+ return [];
149
+ }
150
+ return [
151
+ `${color.r / 255} ${color.g / 255} ${color.b / 255} setrgbcolor`,
152
+ ...instructions
153
+ ];
154
+ }
@@ -1,3 +1,3 @@
1
- export * from "./svg-export-image";
2
- export * from "./png-export-image";
3
- export * from "./dxf2d-export-image";
1
+ export * from "./svg-export-image";
2
+ export * from "./png-export-image";
3
+ export * from "./dxf2d-export-image";
@@ -1,12 +1,12 @@
1
- import * as AbstractImage from "../model/index";
2
-
3
- export function createPNG(image: AbstractImage.AbstractImage): Uint8Array {
4
- if (image.components.length !== 1) {
5
- throw new Error("Not supported!");
6
- }
7
- const component = image.components[0];
8
- if (component.type === "binaryimage" && component.format === "png") {
9
- return component.data;
10
- }
11
- throw new Error("Not supported!");
12
- }
1
+ import * as AbstractImage from "../model/index";
2
+
3
+ export function createPNG(image: AbstractImage.AbstractImage): Uint8Array {
4
+ if (image.components.length !== 1) {
5
+ throw new Error("Not supported!");
6
+ }
7
+ const component = image.components[0];
8
+ if (component.type === "binaryimage" && component.format === "png") {
9
+ return component.data;
10
+ }
11
+ throw new Error("Not supported!");
12
+ }