@archireport/react-native-drawing 0.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 (323) hide show
  1. package/README.md +181 -0
  2. package/lib/commonjs/DrawingEditor.js +815 -0
  3. package/lib/commonjs/DrawingEditor.js.map +1 -0
  4. package/lib/commonjs/assets/toolbar-icons/arrow-disabled.png +0 -0
  5. package/lib/commonjs/assets/toolbar-icons/arrow-enabled.png +0 -0
  6. package/lib/commonjs/assets/toolbar-icons/arrow.png +0 -0
  7. package/lib/commonjs/assets/toolbar-icons/circle-disabled.png +0 -0
  8. package/lib/commonjs/assets/toolbar-icons/circle-enabled.png +0 -0
  9. package/lib/commonjs/assets/toolbar-icons/circle.png +0 -0
  10. package/lib/commonjs/assets/toolbar-icons/freehand-disabled.png +0 -0
  11. package/lib/commonjs/assets/toolbar-icons/freehand-enabled.png +0 -0
  12. package/lib/commonjs/assets/toolbar-icons/freehand.png +0 -0
  13. package/lib/commonjs/assets/toolbar-icons/line-disabled.png +0 -0
  14. package/lib/commonjs/assets/toolbar-icons/line-enabled.png +0 -0
  15. package/lib/commonjs/assets/toolbar-icons/line.png +0 -0
  16. package/lib/commonjs/assets/toolbar-icons/measure-disabled.png +0 -0
  17. package/lib/commonjs/assets/toolbar-icons/measure-enabled.png +0 -0
  18. package/lib/commonjs/assets/toolbar-icons/measure.png +0 -0
  19. package/lib/commonjs/assets/toolbar-icons/move-disabled.png +0 -0
  20. package/lib/commonjs/assets/toolbar-icons/move-enabled.png +0 -0
  21. package/lib/commonjs/assets/toolbar-icons/move.png +0 -0
  22. package/lib/commonjs/assets/toolbar-icons/polygon-disabled.png +0 -0
  23. package/lib/commonjs/assets/toolbar-icons/polygon-enabled.png +0 -0
  24. package/lib/commonjs/assets/toolbar-icons/polygon.png +0 -0
  25. package/lib/commonjs/assets/toolbar-icons/rectangle-disabled.png +0 -0
  26. package/lib/commonjs/assets/toolbar-icons/rectangle-enabled.png +0 -0
  27. package/lib/commonjs/assets/toolbar-icons/rectangle.png +0 -0
  28. package/lib/commonjs/assets/toolbar-icons/text-disabled.png +0 -0
  29. package/lib/commonjs/assets/toolbar-icons/text-enabled.png +0 -0
  30. package/lib/commonjs/assets/toolbar-icons/text.png +0 -0
  31. package/lib/commonjs/components/ColorPalette.js +379 -0
  32. package/lib/commonjs/components/ColorPalette.js.map +1 -0
  33. package/lib/commonjs/components/LineWidthSlider.js +70 -0
  34. package/lib/commonjs/components/LineWidthSlider.js.map +1 -0
  35. package/lib/commonjs/components/MeasurementEditModal.js +153 -0
  36. package/lib/commonjs/components/MeasurementEditModal.js.map +1 -0
  37. package/lib/commonjs/components/MiniMap.js +244 -0
  38. package/lib/commonjs/components/MiniMap.js.map +1 -0
  39. package/lib/commonjs/components/TextAnnotation.js +162 -0
  40. package/lib/commonjs/components/TextAnnotation.js.map +1 -0
  41. package/lib/commonjs/components/TextEditModal.js +133 -0
  42. package/lib/commonjs/components/TextEditModal.js.map +1 -0
  43. package/lib/commonjs/components/Toolbar.js +198 -0
  44. package/lib/commonjs/components/Toolbar.js.map +1 -0
  45. package/lib/commonjs/components/ZoomBadge.js +161 -0
  46. package/lib/commonjs/components/ZoomBadge.js.map +1 -0
  47. package/lib/commonjs/hooks/useFreehandGesture.js +173 -0
  48. package/lib/commonjs/hooks/useFreehandGesture.js.map +1 -0
  49. package/lib/commonjs/hooks/usePolygonGesture.js +109 -0
  50. package/lib/commonjs/hooks/usePolygonGesture.js.map +1 -0
  51. package/lib/commonjs/hooks/useSelectionGesture.js +236 -0
  52. package/lib/commonjs/hooks/useSelectionGesture.js.map +1 -0
  53. package/lib/commonjs/hooks/useShapeGesture.js +181 -0
  54. package/lib/commonjs/hooks/useShapeGesture.js.map +1 -0
  55. package/lib/commonjs/hooks/useViewportGesture.js +238 -0
  56. package/lib/commonjs/hooks/useViewportGesture.js.map +1 -0
  57. package/lib/commonjs/index.js +104 -0
  58. package/lib/commonjs/index.js.map +1 -0
  59. package/lib/commonjs/package.json +1 -0
  60. package/lib/commonjs/renderers/ArrowRenderer.js +118 -0
  61. package/lib/commonjs/renderers/ArrowRenderer.js.map +1 -0
  62. package/lib/commonjs/renderers/CircleRenderer.js +51 -0
  63. package/lib/commonjs/renderers/CircleRenderer.js.map +1 -0
  64. package/lib/commonjs/renderers/FreehandRenderer.js +31 -0
  65. package/lib/commonjs/renderers/FreehandRenderer.js.map +1 -0
  66. package/lib/commonjs/renderers/InProgressRenderer.js +174 -0
  67. package/lib/commonjs/renderers/InProgressRenderer.js.map +1 -0
  68. package/lib/commonjs/renderers/LineRenderer.js +27 -0
  69. package/lib/commonjs/renderers/LineRenderer.js.map +1 -0
  70. package/lib/commonjs/renderers/MeasurementRenderer.js +134 -0
  71. package/lib/commonjs/renderers/MeasurementRenderer.js.map +1 -0
  72. package/lib/commonjs/renderers/ObjectRenderer.js +65 -0
  73. package/lib/commonjs/renderers/ObjectRenderer.js.map +1 -0
  74. package/lib/commonjs/renderers/PolygonRenderer.js +46 -0
  75. package/lib/commonjs/renderers/PolygonRenderer.js.map +1 -0
  76. package/lib/commonjs/renderers/RectRenderer.js +51 -0
  77. package/lib/commonjs/renderers/RectRenderer.js.map +1 -0
  78. package/lib/commonjs/renderers/SelectedObjectRenderer.js +592 -0
  79. package/lib/commonjs/renderers/SelectedObjectRenderer.js.map +1 -0
  80. package/lib/commonjs/renderers/SelectionOverlay.js +120 -0
  81. package/lib/commonjs/renderers/SelectionOverlay.js.map +1 -0
  82. package/lib/commonjs/store/useDrawingStore.js +354 -0
  83. package/lib/commonjs/store/useDrawingStore.js.map +1 -0
  84. package/lib/commonjs/types.js +6 -0
  85. package/lib/commonjs/types.js.map +1 -0
  86. package/lib/commonjs/utils/colors.js +44 -0
  87. package/lib/commonjs/utils/colors.js.map +1 -0
  88. package/lib/commonjs/utils/coordinates.js +81 -0
  89. package/lib/commonjs/utils/coordinates.js.map +1 -0
  90. package/lib/commonjs/utils/hitTesting.js +181 -0
  91. package/lib/commonjs/utils/hitTesting.js.map +1 -0
  92. package/lib/commonjs/utils/serialization.js +42 -0
  93. package/lib/commonjs/utils/serialization.js.map +1 -0
  94. package/lib/commonjs/utils/shapeDetection.js +151 -0
  95. package/lib/commonjs/utils/shapeDetection.js.map +1 -0
  96. package/lib/commonjs/utils/smoothing.js +85 -0
  97. package/lib/commonjs/utils/smoothing.js.map +1 -0
  98. package/lib/module/DrawingEditor.js +811 -0
  99. package/lib/module/DrawingEditor.js.map +1 -0
  100. package/lib/module/assets/toolbar-icons/arrow-disabled.png +0 -0
  101. package/lib/module/assets/toolbar-icons/arrow-enabled.png +0 -0
  102. package/lib/module/assets/toolbar-icons/arrow.png +0 -0
  103. package/lib/module/assets/toolbar-icons/circle-disabled.png +0 -0
  104. package/lib/module/assets/toolbar-icons/circle-enabled.png +0 -0
  105. package/lib/module/assets/toolbar-icons/circle.png +0 -0
  106. package/lib/module/assets/toolbar-icons/freehand-disabled.png +0 -0
  107. package/lib/module/assets/toolbar-icons/freehand-enabled.png +0 -0
  108. package/lib/module/assets/toolbar-icons/freehand.png +0 -0
  109. package/lib/module/assets/toolbar-icons/line-disabled.png +0 -0
  110. package/lib/module/assets/toolbar-icons/line-enabled.png +0 -0
  111. package/lib/module/assets/toolbar-icons/line.png +0 -0
  112. package/lib/module/assets/toolbar-icons/measure-disabled.png +0 -0
  113. package/lib/module/assets/toolbar-icons/measure-enabled.png +0 -0
  114. package/lib/module/assets/toolbar-icons/measure.png +0 -0
  115. package/lib/module/assets/toolbar-icons/move-disabled.png +0 -0
  116. package/lib/module/assets/toolbar-icons/move-enabled.png +0 -0
  117. package/lib/module/assets/toolbar-icons/move.png +0 -0
  118. package/lib/module/assets/toolbar-icons/polygon-disabled.png +0 -0
  119. package/lib/module/assets/toolbar-icons/polygon-enabled.png +0 -0
  120. package/lib/module/assets/toolbar-icons/polygon.png +0 -0
  121. package/lib/module/assets/toolbar-icons/rectangle-disabled.png +0 -0
  122. package/lib/module/assets/toolbar-icons/rectangle-enabled.png +0 -0
  123. package/lib/module/assets/toolbar-icons/rectangle.png +0 -0
  124. package/lib/module/assets/toolbar-icons/text-disabled.png +0 -0
  125. package/lib/module/assets/toolbar-icons/text-enabled.png +0 -0
  126. package/lib/module/assets/toolbar-icons/text.png +0 -0
  127. package/lib/module/components/ColorPalette.js +374 -0
  128. package/lib/module/components/ColorPalette.js.map +1 -0
  129. package/lib/module/components/LineWidthSlider.js +64 -0
  130. package/lib/module/components/LineWidthSlider.js.map +1 -0
  131. package/lib/module/components/MeasurementEditModal.js +148 -0
  132. package/lib/module/components/MeasurementEditModal.js.map +1 -0
  133. package/lib/module/components/MiniMap.js +239 -0
  134. package/lib/module/components/MiniMap.js.map +1 -0
  135. package/lib/module/components/TextAnnotation.js +157 -0
  136. package/lib/module/components/TextAnnotation.js.map +1 -0
  137. package/lib/module/components/TextEditModal.js +128 -0
  138. package/lib/module/components/TextEditModal.js.map +1 -0
  139. package/lib/module/components/Toolbar.js +193 -0
  140. package/lib/module/components/Toolbar.js.map +1 -0
  141. package/lib/module/components/ZoomBadge.js +155 -0
  142. package/lib/module/components/ZoomBadge.js.map +1 -0
  143. package/lib/module/hooks/useFreehandGesture.js +169 -0
  144. package/lib/module/hooks/useFreehandGesture.js.map +1 -0
  145. package/lib/module/hooks/usePolygonGesture.js +106 -0
  146. package/lib/module/hooks/usePolygonGesture.js.map +1 -0
  147. package/lib/module/hooks/useSelectionGesture.js +232 -0
  148. package/lib/module/hooks/useSelectionGesture.js.map +1 -0
  149. package/lib/module/hooks/useShapeGesture.js +177 -0
  150. package/lib/module/hooks/useShapeGesture.js.map +1 -0
  151. package/lib/module/hooks/useViewportGesture.js +234 -0
  152. package/lib/module/hooks/useViewportGesture.js.map +1 -0
  153. package/lib/module/index.js +20 -0
  154. package/lib/module/index.js.map +1 -0
  155. package/lib/module/package.json +1 -0
  156. package/lib/module/renderers/ArrowRenderer.js +113 -0
  157. package/lib/module/renderers/ArrowRenderer.js.map +1 -0
  158. package/lib/module/renderers/CircleRenderer.js +46 -0
  159. package/lib/module/renderers/CircleRenderer.js.map +1 -0
  160. package/lib/module/renderers/FreehandRenderer.js +26 -0
  161. package/lib/module/renderers/FreehandRenderer.js.map +1 -0
  162. package/lib/module/renderers/InProgressRenderer.js +169 -0
  163. package/lib/module/renderers/InProgressRenderer.js.map +1 -0
  164. package/lib/module/renderers/LineRenderer.js +22 -0
  165. package/lib/module/renderers/LineRenderer.js.map +1 -0
  166. package/lib/module/renderers/MeasurementRenderer.js +129 -0
  167. package/lib/module/renderers/MeasurementRenderer.js.map +1 -0
  168. package/lib/module/renderers/ObjectRenderer.js +60 -0
  169. package/lib/module/renderers/ObjectRenderer.js.map +1 -0
  170. package/lib/module/renderers/PolygonRenderer.js +41 -0
  171. package/lib/module/renderers/PolygonRenderer.js.map +1 -0
  172. package/lib/module/renderers/RectRenderer.js +46 -0
  173. package/lib/module/renderers/RectRenderer.js.map +1 -0
  174. package/lib/module/renderers/SelectedObjectRenderer.js +587 -0
  175. package/lib/module/renderers/SelectedObjectRenderer.js.map +1 -0
  176. package/lib/module/renderers/SelectionOverlay.js +116 -0
  177. package/lib/module/renderers/SelectionOverlay.js.map +1 -0
  178. package/lib/module/store/useDrawingStore.js +350 -0
  179. package/lib/module/store/useDrawingStore.js.map +1 -0
  180. package/lib/module/types.js +4 -0
  181. package/lib/module/types.js.map +1 -0
  182. package/lib/module/utils/colors.js +40 -0
  183. package/lib/module/utils/colors.js.map +1 -0
  184. package/lib/module/utils/coordinates.js +71 -0
  185. package/lib/module/utils/coordinates.js.map +1 -0
  186. package/lib/module/utils/hitTesting.js +171 -0
  187. package/lib/module/utils/hitTesting.js.map +1 -0
  188. package/lib/module/utils/serialization.js +36 -0
  189. package/lib/module/utils/serialization.js.map +1 -0
  190. package/lib/module/utils/shapeDetection.js +147 -0
  191. package/lib/module/utils/shapeDetection.js.map +1 -0
  192. package/lib/module/utils/smoothing.js +80 -0
  193. package/lib/module/utils/smoothing.js.map +1 -0
  194. package/lib/typescript/DrawingEditor.d.ts +3 -0
  195. package/lib/typescript/DrawingEditor.d.ts.map +1 -0
  196. package/lib/typescript/components/ColorPalette.d.ts +9 -0
  197. package/lib/typescript/components/ColorPalette.d.ts.map +1 -0
  198. package/lib/typescript/components/LineWidthSlider.d.ts +11 -0
  199. package/lib/typescript/components/LineWidthSlider.d.ts.map +1 -0
  200. package/lib/typescript/components/MeasurementEditModal.d.ts +11 -0
  201. package/lib/typescript/components/MeasurementEditModal.d.ts.map +1 -0
  202. package/lib/typescript/components/MiniMap.d.ts +23 -0
  203. package/lib/typescript/components/MiniMap.d.ts.map +1 -0
  204. package/lib/typescript/components/TextAnnotation.d.ts +22 -0
  205. package/lib/typescript/components/TextAnnotation.d.ts.map +1 -0
  206. package/lib/typescript/components/TextEditModal.d.ts +10 -0
  207. package/lib/typescript/components/TextEditModal.d.ts.map +1 -0
  208. package/lib/typescript/components/Toolbar.d.ts +13 -0
  209. package/lib/typescript/components/Toolbar.d.ts.map +1 -0
  210. package/lib/typescript/components/ZoomBadge.d.ts +9 -0
  211. package/lib/typescript/components/ZoomBadge.d.ts.map +1 -0
  212. package/lib/typescript/hooks/useFreehandGesture.d.ts +47 -0
  213. package/lib/typescript/hooks/useFreehandGesture.d.ts.map +1 -0
  214. package/lib/typescript/hooks/usePolygonGesture.d.ts +47 -0
  215. package/lib/typescript/hooks/usePolygonGesture.d.ts.map +1 -0
  216. package/lib/typescript/hooks/useSelectionGesture.d.ts +32 -0
  217. package/lib/typescript/hooks/useSelectionGesture.d.ts.map +1 -0
  218. package/lib/typescript/hooks/useShapeGesture.d.ts +54 -0
  219. package/lib/typescript/hooks/useShapeGesture.d.ts.map +1 -0
  220. package/lib/typescript/hooks/useViewportGesture.d.ts +37 -0
  221. package/lib/typescript/hooks/useViewportGesture.d.ts.map +1 -0
  222. package/lib/typescript/index.d.ts +11 -0
  223. package/lib/typescript/index.d.ts.map +1 -0
  224. package/lib/typescript/renderers/ArrowRenderer.d.ts +9 -0
  225. package/lib/typescript/renderers/ArrowRenderer.d.ts.map +1 -0
  226. package/lib/typescript/renderers/CircleRenderer.d.ts +9 -0
  227. package/lib/typescript/renderers/CircleRenderer.d.ts.map +1 -0
  228. package/lib/typescript/renderers/FreehandRenderer.d.ts +9 -0
  229. package/lib/typescript/renderers/FreehandRenderer.d.ts.map +1 -0
  230. package/lib/typescript/renderers/InProgressRenderer.d.ts +32 -0
  231. package/lib/typescript/renderers/InProgressRenderer.d.ts.map +1 -0
  232. package/lib/typescript/renderers/LineRenderer.d.ts +9 -0
  233. package/lib/typescript/renderers/LineRenderer.d.ts.map +1 -0
  234. package/lib/typescript/renderers/MeasurementRenderer.d.ts +9 -0
  235. package/lib/typescript/renderers/MeasurementRenderer.d.ts.map +1 -0
  236. package/lib/typescript/renderers/ObjectRenderer.d.ts +12 -0
  237. package/lib/typescript/renderers/ObjectRenderer.d.ts.map +1 -0
  238. package/lib/typescript/renderers/PolygonRenderer.d.ts +13 -0
  239. package/lib/typescript/renderers/PolygonRenderer.d.ts.map +1 -0
  240. package/lib/typescript/renderers/RectRenderer.d.ts +9 -0
  241. package/lib/typescript/renderers/RectRenderer.d.ts.map +1 -0
  242. package/lib/typescript/renderers/SelectedObjectRenderer.d.ts +18 -0
  243. package/lib/typescript/renderers/SelectedObjectRenderer.d.ts.map +1 -0
  244. package/lib/typescript/renderers/SelectionOverlay.d.ts +21 -0
  245. package/lib/typescript/renderers/SelectionOverlay.d.ts.map +1 -0
  246. package/lib/typescript/store/useDrawingStore.d.ts +30 -0
  247. package/lib/typescript/store/useDrawingStore.d.ts.map +1 -0
  248. package/lib/typescript/types.d.ts +130 -0
  249. package/lib/typescript/types.d.ts.map +1 -0
  250. package/lib/typescript/utils/colors.d.ts +11 -0
  251. package/lib/typescript/utils/colors.d.ts.map +1 -0
  252. package/lib/typescript/utils/coordinates.d.ts +34 -0
  253. package/lib/typescript/utils/coordinates.d.ts.map +1 -0
  254. package/lib/typescript/utils/hitTesting.d.ts +18 -0
  255. package/lib/typescript/utils/hitTesting.d.ts.map +1 -0
  256. package/lib/typescript/utils/serialization.d.ts +17 -0
  257. package/lib/typescript/utils/serialization.d.ts.map +1 -0
  258. package/lib/typescript/utils/shapeDetection.d.ts +22 -0
  259. package/lib/typescript/utils/shapeDetection.d.ts.map +1 -0
  260. package/lib/typescript/utils/smoothing.d.ts +16 -0
  261. package/lib/typescript/utils/smoothing.d.ts.map +1 -0
  262. package/package.json +108 -0
  263. package/src/DrawingEditor.tsx +1071 -0
  264. package/src/assets/toolbar-icons/arrow-disabled.png +0 -0
  265. package/src/assets/toolbar-icons/arrow-enabled.png +0 -0
  266. package/src/assets/toolbar-icons/arrow.png +0 -0
  267. package/src/assets/toolbar-icons/circle-disabled.png +0 -0
  268. package/src/assets/toolbar-icons/circle-enabled.png +0 -0
  269. package/src/assets/toolbar-icons/circle.png +0 -0
  270. package/src/assets/toolbar-icons/freehand-disabled.png +0 -0
  271. package/src/assets/toolbar-icons/freehand-enabled.png +0 -0
  272. package/src/assets/toolbar-icons/freehand.png +0 -0
  273. package/src/assets/toolbar-icons/line-disabled.png +0 -0
  274. package/src/assets/toolbar-icons/line-enabled.png +0 -0
  275. package/src/assets/toolbar-icons/line.png +0 -0
  276. package/src/assets/toolbar-icons/measure-disabled.png +0 -0
  277. package/src/assets/toolbar-icons/measure-enabled.png +0 -0
  278. package/src/assets/toolbar-icons/measure.png +0 -0
  279. package/src/assets/toolbar-icons/move-disabled.png +0 -0
  280. package/src/assets/toolbar-icons/move-enabled.png +0 -0
  281. package/src/assets/toolbar-icons/move.png +0 -0
  282. package/src/assets/toolbar-icons/polygon-disabled.png +0 -0
  283. package/src/assets/toolbar-icons/polygon-enabled.png +0 -0
  284. package/src/assets/toolbar-icons/polygon.png +0 -0
  285. package/src/assets/toolbar-icons/rectangle-disabled.png +0 -0
  286. package/src/assets/toolbar-icons/rectangle-enabled.png +0 -0
  287. package/src/assets/toolbar-icons/rectangle.png +0 -0
  288. package/src/assets/toolbar-icons/text-disabled.png +0 -0
  289. package/src/assets/toolbar-icons/text-enabled.png +0 -0
  290. package/src/assets/toolbar-icons/text.png +0 -0
  291. package/src/components/ColorPalette.tsx +497 -0
  292. package/src/components/LineWidthSlider.tsx +87 -0
  293. package/src/components/MeasurementEditModal.tsx +163 -0
  294. package/src/components/MiniMap.tsx +275 -0
  295. package/src/components/TextAnnotation.tsx +198 -0
  296. package/src/components/TextEditModal.tsx +139 -0
  297. package/src/components/Toolbar.tsx +254 -0
  298. package/src/components/ZoomBadge.tsx +166 -0
  299. package/src/hooks/useFreehandGesture.ts +249 -0
  300. package/src/hooks/usePolygonGesture.ts +162 -0
  301. package/src/hooks/useSelectionGesture.ts +293 -0
  302. package/src/hooks/useShapeGesture.ts +256 -0
  303. package/src/hooks/useViewportGesture.ts +337 -0
  304. package/src/index.tsx +51 -0
  305. package/src/renderers/ArrowRenderer.tsx +123 -0
  306. package/src/renderers/CircleRenderer.tsx +60 -0
  307. package/src/renderers/FreehandRenderer.tsx +33 -0
  308. package/src/renderers/InProgressRenderer.tsx +217 -0
  309. package/src/renderers/LineRenderer.tsx +34 -0
  310. package/src/renderers/MeasurementRenderer.tsx +179 -0
  311. package/src/renderers/ObjectRenderer.tsx +42 -0
  312. package/src/renderers/PolygonRenderer.tsx +66 -0
  313. package/src/renderers/RectRenderer.tsx +60 -0
  314. package/src/renderers/SelectedObjectRenderer.tsx +738 -0
  315. package/src/renderers/SelectionOverlay.tsx +170 -0
  316. package/src/store/useDrawingStore.ts +357 -0
  317. package/src/types.ts +186 -0
  318. package/src/utils/colors.ts +98 -0
  319. package/src/utils/coordinates.ts +75 -0
  320. package/src/utils/hitTesting.ts +242 -0
  321. package/src/utils/serialization.ts +45 -0
  322. package/src/utils/shapeDetection.ts +160 -0
  323. package/src/utils/smoothing.ts +84 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Path","Line","SkiaLine","Rect","Oval","Group","Skia","useDerivedValue","jsx","_jsx","jsxs","_jsxs","EMPTY_PATH","Make","FreehandInProgress","memo","path","color","lineWidth","safePath","value","style","strokeWidth","strokeCap","strokeJoin","POLYGON_VERTEX_RADIUS","POLYGON_VERTEX_COLOR","PolygonInProgress","pointsFlat","pointCount","verticesPath","p","count","flat","i","cx","cy","addCircle","ShapeInProgress","shapeType","startX","startY","currentX","currentY","fillColor","fillAlpha","isDrawing","opacity","x","Math","min","y","width","abs","height","p1","p2","resolvedFillColor","replace","children"],"sourceRoot":"../../../src","sources":["renderers/InProgressRenderer.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo } from "react";
4
+ import { Line as SkiaLine } from "@shopify/react-native-skia";
5
+ import { denormalize } from "../utils/coordinates";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export const LineRenderer = /*#__PURE__*/React.memo(function LineRenderer({
8
+ object,
9
+ canvasSize
10
+ }) {
11
+ const from = useMemo(() => denormalize(object.from, canvasSize), [object.from, canvasSize]);
12
+ const to = useMemo(() => denormalize(object.to, canvasSize), [object.to, canvasSize]);
13
+ return /*#__PURE__*/_jsx(SkiaLine, {
14
+ p1: from,
15
+ p2: to,
16
+ color: object.color,
17
+ style: "stroke",
18
+ strokeWidth: object.lineWidth,
19
+ strokeCap: "round"
20
+ });
21
+ });
22
+ //# sourceMappingURL=LineRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","Line","SkiaLine","denormalize","jsx","_jsx","LineRenderer","memo","object","canvasSize","from","to","p1","p2","color","style","strokeWidth","lineWidth","strokeCap"],"sourceRoot":"../../../src","sources":["renderers/LineRenderer.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,IAAI,IAAIC,QAAQ,QAAQ,4BAA4B;AAE7D,SAASC,WAAW,QAAQ,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOnD,OAAO,MAAMC,YAAY,gBAAGP,KAAK,CAACQ,IAAI,CAAC,SAASD,YAAYA,CAAC;EAC3DE,MAAM;EACNC;AACiB,CAAC,EAAE;EACpB,MAAMC,IAAI,GAAGV,OAAO,CAClB,MAAMG,WAAW,CAACK,MAAM,CAACE,IAAI,EAAED,UAAU,CAAC,EAC1C,CAACD,MAAM,CAACE,IAAI,EAAED,UAAU,CAC1B,CAAC;EACD,MAAME,EAAE,GAAGX,OAAO,CAChB,MAAMG,WAAW,CAACK,MAAM,CAACG,EAAE,EAAEF,UAAU,CAAC,EACxC,CAACD,MAAM,CAACG,EAAE,EAAEF,UAAU,CACxB,CAAC;EAED,oBACEJ,IAAA,CAACH,QAAQ;IACPU,EAAE,EAAEF,IAAK;IACTG,EAAE,EAAEF,EAAG;IACPG,KAAK,EAAEN,MAAM,CAACM,KAAM;IACpBC,KAAK,EAAC,QAAQ;IACdC,WAAW,EAAER,MAAM,CAACS,SAAU;IAC9BC,SAAS,EAAC;EAAO,CAClB,CAAC;AAEN,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo } from "react";
4
+ import { Platform } from "react-native";
5
+ import { Path, Group, Text, matchFont } from "@shopify/react-native-skia";
6
+ import { denormalize } from "../utils/coordinates";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ const FONT_FAMILY = Platform.OS === "android" ? "sans-serif" : "System";
9
+ const TEXT_GAP_PADDING = 6;
10
+
11
+ /**
12
+ * Build a measurement / cotation path with a gap in the middle for the label.
13
+ * - Two inward-pointing arrowheads
14
+ * - Perpendicular extension lines at endpoints
15
+ * - Main line split in two halves around a central gap
16
+ */
17
+ function buildMeasurementPath(fx, fy, tx, ty, lineWidth, style, gapHalfWidth) {
18
+ const dx = tx - fx;
19
+ const dy = ty - fy;
20
+ const len = Math.sqrt(dx * dx + dy * dy);
21
+ if (len === 0) return "";
22
+ const angle = Math.atan2(dy, dx);
23
+ const cos = Math.cos(angle);
24
+ const sin = Math.sin(angle);
25
+ const perpCos = Math.cos(angle + Math.PI / 2);
26
+ const perpSin = Math.sin(angle + Math.PI / 2);
27
+ const headLen = Math.min(lineWidth * 3, len / 4);
28
+ const headW = lineWidth * 2;
29
+ const extLen = lineWidth * 4;
30
+
31
+ // Midpoint
32
+ const mx = (fx + tx) / 2;
33
+ const my = (fy + ty) / 2;
34
+ let svg = "";
35
+
36
+ // Main line — split into two segments with gap
37
+ if (gapHalfWidth > 0 && len > gapHalfWidth * 2) {
38
+ const gapStartX = mx - gapHalfWidth * cos;
39
+ const gapStartY = my - gapHalfWidth * sin;
40
+ const gapEndX = mx + gapHalfWidth * cos;
41
+ const gapEndY = my + gapHalfWidth * sin;
42
+ svg += `M ${fx} ${fy} L ${gapStartX} ${gapStartY} `;
43
+ svg += `M ${gapEndX} ${gapEndY} L ${tx} ${ty} `;
44
+ } else {
45
+ svg += `M ${fx} ${fy} L ${tx} ${ty} `;
46
+ }
47
+
48
+ // Arrowhead at "from" pointing toward "to"
49
+ const ah1x = fx + headLen * cos + headW / 2 * perpCos;
50
+ const ah1y = fy + headLen * sin + headW / 2 * perpSin;
51
+ const ah2x = fx + headLen * cos - headW / 2 * perpCos;
52
+ const ah2y = fy + headLen * sin - headW / 2 * perpSin;
53
+ svg += `M ${fx} ${fy} L ${ah1x} ${ah1y} M ${fx} ${fy} L ${ah2x} ${ah2y} `;
54
+
55
+ // Arrowhead at "to" pointing toward "from"
56
+ const bh1x = tx - headLen * cos + headW / 2 * perpCos;
57
+ const bh1y = ty - headLen * sin + headW / 2 * perpSin;
58
+ const bh2x = tx - headLen * cos - headW / 2 * perpCos;
59
+ const bh2y = ty - headLen * sin - headW / 2 * perpSin;
60
+ svg += `M ${tx} ${ty} L ${bh1x} ${bh1y} M ${tx} ${ty} L ${bh2x} ${bh2y} `;
61
+
62
+ // Extension lines (perpendicular to the main line at each endpoint)
63
+ if (style === 0 || style === 2) {
64
+ svg += `M ${fx + extLen * perpCos} ${fy + extLen * perpSin} L ${fx - extLen * perpCos} ${fy - extLen * perpSin} `;
65
+ svg += `M ${tx + extLen * perpCos} ${ty + extLen * perpSin} L ${tx - extLen * perpCos} ${ty - extLen * perpSin} `;
66
+ }
67
+ return svg;
68
+ }
69
+ export const MeasurementRenderer = /*#__PURE__*/React.memo(function MeasurementRenderer({
70
+ object,
71
+ canvasSize
72
+ }) {
73
+ const from = useMemo(() => denormalize(object.from, canvasSize), [object.from, canvasSize]);
74
+ const to = useMemo(() => denormalize(object.to, canvasSize), [object.to, canvasSize]);
75
+ const labelText = `${object.text}${object.unit}`;
76
+ const hasLabel = object.text.length > 0;
77
+ const fontSize = Math.max(14, object.lineWidth * 3);
78
+ const font = useMemo(() => matchFont({
79
+ fontFamily: FONT_FAMILY,
80
+ fontSize
81
+ }), [fontSize]);
82
+
83
+ // Measure text width for the gap
84
+ const textWidth = useMemo(() => {
85
+ if (!hasLabel) return 0;
86
+ return font.getTextWidth(labelText);
87
+ }, [font, labelText, hasLabel]);
88
+ const gapHalfWidth = hasLabel ? textWidth / 2 + TEXT_GAP_PADDING : 0;
89
+ const pathString = useMemo(() => buildMeasurementPath(from.x, from.y, to.x, to.y, object.lineWidth, object.measureStyle, gapHalfWidth), [from, to, object.lineWidth, object.measureStyle, gapHalfWidth]);
90
+
91
+ // Center of the line
92
+ const midX = (from.x + to.x) / 2;
93
+ const midY = (from.y + to.y) / 2;
94
+
95
+ // Angle of the line — keep text readable (never upside down)
96
+ const rawAngle = Math.atan2(to.y - from.y, to.x - from.x);
97
+ const angle = rawAngle > Math.PI / 2 ? rawAngle - Math.PI : rawAngle < -Math.PI / 2 ? rawAngle + Math.PI : rawAngle;
98
+
99
+ // Position text centered at origin (will be transformed to midpoint)
100
+ const textX = -textWidth / 2;
101
+ const textY = fontSize / 3;
102
+ if (!pathString) return null;
103
+ return /*#__PURE__*/_jsxs(Group, {
104
+ children: [/*#__PURE__*/_jsx(Path, {
105
+ path: pathString,
106
+ style: "stroke",
107
+ strokeWidth: object.lineWidth,
108
+ color: object.color,
109
+ strokeCap: "round",
110
+ strokeJoin: "round"
111
+ }), hasLabel && /*#__PURE__*/_jsx(Group, {
112
+ transform: [{
113
+ translateX: midX
114
+ }, {
115
+ translateY: midY
116
+ }, {
117
+ rotate: angle
118
+ }],
119
+ children: /*#__PURE__*/_jsx(Text, {
120
+ x: textX,
121
+ y: textY,
122
+ text: labelText,
123
+ font: font,
124
+ color: object.color
125
+ })
126
+ })]
127
+ });
128
+ });
129
+ //# sourceMappingURL=MeasurementRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","Platform","Path","Group","Text","matchFont","denormalize","jsx","_jsx","jsxs","_jsxs","FONT_FAMILY","OS","TEXT_GAP_PADDING","buildMeasurementPath","fx","fy","tx","ty","lineWidth","style","gapHalfWidth","dx","dy","len","Math","sqrt","angle","atan2","cos","sin","perpCos","PI","perpSin","headLen","min","headW","extLen","mx","my","svg","gapStartX","gapStartY","gapEndX","gapEndY","ah1x","ah1y","ah2x","ah2y","bh1x","bh1y","bh2x","bh2y","MeasurementRenderer","memo","object","canvasSize","from","to","labelText","text","unit","hasLabel","length","fontSize","max","font","fontFamily","textWidth","getTextWidth","pathString","x","y","measureStyle","midX","midY","rawAngle","textX","textY","children","path","strokeWidth","color","strokeCap","strokeJoin","transform","translateX","translateY","rotate"],"sourceRoot":"../../../src","sources":["renderers/MeasurementRenderer.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ import React from "react";
4
+ import { FreehandRenderer } from "./FreehandRenderer";
5
+ import { LineRenderer } from "./LineRenderer";
6
+ import { ArrowRenderer } from "./ArrowRenderer";
7
+ import { RectRenderer } from "./RectRenderer";
8
+ import { CircleRenderer } from "./CircleRenderer";
9
+ import { PolygonRenderer } from "./PolygonRenderer";
10
+ import { MeasurementRenderer } from "./MeasurementRenderer";
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ /**
13
+ * Routes a drawing object to its specialized renderer component.
14
+ */
15
+ export const ObjectRenderer = /*#__PURE__*/React.memo(function ObjectRenderer({
16
+ object,
17
+ canvasSize
18
+ }) {
19
+ switch (object.type) {
20
+ case "freehand":
21
+ return /*#__PURE__*/_jsx(FreehandRenderer, {
22
+ object: object,
23
+ canvasSize: canvasSize
24
+ });
25
+ case "line":
26
+ return /*#__PURE__*/_jsx(LineRenderer, {
27
+ object: object,
28
+ canvasSize: canvasSize
29
+ });
30
+ case "arrow":
31
+ return /*#__PURE__*/_jsx(ArrowRenderer, {
32
+ object: object,
33
+ canvasSize: canvasSize
34
+ });
35
+ case "rectangle":
36
+ return /*#__PURE__*/_jsx(RectRenderer, {
37
+ object: object,
38
+ canvasSize: canvasSize
39
+ });
40
+ case "circle":
41
+ return /*#__PURE__*/_jsx(CircleRenderer, {
42
+ object: object,
43
+ canvasSize: canvasSize
44
+ });
45
+ case "polygon":
46
+ return /*#__PURE__*/_jsx(PolygonRenderer, {
47
+ object: object,
48
+ canvasSize: canvasSize
49
+ });
50
+ case "measure":
51
+ return /*#__PURE__*/_jsx(MeasurementRenderer, {
52
+ object: object,
53
+ canvasSize: canvasSize
54
+ });
55
+ case "text":
56
+ // Text objects are rendered outside the Skia Canvas as native RN views
57
+ return null;
58
+ }
59
+ });
60
+ //# sourceMappingURL=ObjectRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","FreehandRenderer","LineRenderer","ArrowRenderer","RectRenderer","CircleRenderer","PolygonRenderer","MeasurementRenderer","jsx","_jsx","ObjectRenderer","memo","object","canvasSize","type"],"sourceRoot":"../../../src","sources":["renderers/ObjectRenderer.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,mBAAmB,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO5D;AACA;AACA;AACA,OAAO,MAAMC,cAAc,gBAAGV,KAAK,CAACW,IAAI,CAAC,SAASD,cAAcA,CAAC;EAC/DE,MAAM;EACNC;AACmB,CAAC,EAAE;EACtB,QAAQD,MAAM,CAACE,IAAI;IACjB,KAAK,UAAU;MACb,oBAAOL,IAAA,CAACR,gBAAgB;QAACW,MAAM,EAAEA,MAAO;QAACC,UAAU,EAAEA;MAAW,CAAE,CAAC;IACrE,KAAK,MAAM;MACT,oBAAOJ,IAAA,CAACP,YAAY;QAACU,MAAM,EAAEA,MAAO;QAACC,UAAU,EAAEA;MAAW,CAAE,CAAC;IACjE,KAAK,OAAO;MACV,oBAAOJ,IAAA,CAACN,aAAa;QAACS,MAAM,EAAEA,MAAO;QAACC,UAAU,EAAEA;MAAW,CAAE,CAAC;IAClE,KAAK,WAAW;MACd,oBAAOJ,IAAA,CAACL,YAAY;QAACQ,MAAM,EAAEA,MAAO;QAACC,UAAU,EAAEA;MAAW,CAAE,CAAC;IACjE,KAAK,QAAQ;MACX,oBAAOJ,IAAA,CAACJ,cAAc;QAACO,MAAM,EAAEA,MAAO;QAACC,UAAU,EAAEA;MAAW,CAAE,CAAC;IACnE,KAAK,SAAS;MACZ,oBAAOJ,IAAA,CAACH,eAAe;QAACM,MAAM,EAAEA,MAAO;QAACC,UAAU,EAAEA;MAAW,CAAE,CAAC;IACpE,KAAK,SAAS;MACZ,oBAAOJ,IAAA,CAACF,mBAAmB;QAACK,MAAM,EAAEA,MAAO;QAACC,UAAU,EAAEA;MAAW,CAAE,CAAC;IACxE,KAAK,MAAM;MACT;MACA,OAAO,IAAI;EACf;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo } from "react";
4
+ import { Path, Group } from "@shopify/react-native-skia";
5
+ import { denormalizePoints } from "../utils/coordinates";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ function buildPolygonPath(points, closed) {
8
+ if (points.length < 2) return null;
9
+ const parts = [`M ${points[0].x} ${points[0].y}`];
10
+ for (let i = 1; i < points.length; i++) {
11
+ parts.push(`L ${points[i].x} ${points[i].y}`);
12
+ }
13
+ if (closed) parts.push("Z");
14
+ return parts.join(" ");
15
+ }
16
+ export const PolygonRenderer = /*#__PURE__*/React.memo(function PolygonRenderer({
17
+ object,
18
+ canvasSize
19
+ }) {
20
+ const denormalized = useMemo(() => denormalizePoints(object.points, canvasSize), [object.points, canvasSize]);
21
+ const pathString = useMemo(() => buildPolygonPath(denormalized, object.closed), [denormalized, object.closed]);
22
+ if (!pathString) return null;
23
+ const hasFill = object.closed && object.backgroundColor && object.backgroundAlpha;
24
+ const fillColor = hasFill ? object.backgroundColor.replace(/[\d.]+\)$/, `${object.backgroundAlpha})`) : undefined;
25
+ return /*#__PURE__*/_jsxs(Group, {
26
+ children: [fillColor && /*#__PURE__*/_jsx(Path, {
27
+ path: pathString,
28
+ style: "fill",
29
+ color: fillColor
30
+ }), /*#__PURE__*/_jsx(Path, {
31
+ path: pathString,
32
+ style: "stroke",
33
+ strokeWidth: object.lineWidth,
34
+ color: object.color,
35
+ strokeCap: "round",
36
+ strokeJoin: "round"
37
+ })]
38
+ });
39
+ });
40
+ export { buildPolygonPath };
41
+ //# sourceMappingURL=PolygonRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","Path","Group","denormalizePoints","jsx","_jsx","jsxs","_jsxs","buildPolygonPath","points","closed","length","parts","x","y","i","push","join","PolygonRenderer","memo","object","canvasSize","denormalized","pathString","hasFill","backgroundColor","backgroundAlpha","fillColor","replace","undefined","children","path","style","color","strokeWidth","lineWidth","strokeCap","strokeJoin"],"sourceRoot":"../../../src","sources":["renderers/PolygonRenderer.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,IAAI,EAAEC,KAAK,QAAQ,4BAA4B;AAExD,SAASC,iBAAiB,QAAQ,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAOzD,SAASC,gBAAgBA,CACvBC,MAAkC,EAClCC,MAAe,EACA;EACf,IAAID,MAAM,CAACE,MAAM,GAAG,CAAC,EAAE,OAAO,IAAI;EAClC,MAAMC,KAAK,GAAG,CAAC,KAAKH,MAAM,CAAC,CAAC,CAAC,CAAEI,CAAC,IAAIJ,MAAM,CAAC,CAAC,CAAC,CAAEK,CAAC,EAAE,CAAC;EACnD,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,MAAM,CAACE,MAAM,EAAEI,CAAC,EAAE,EAAE;IACtCH,KAAK,CAACI,IAAI,CAAC,KAAKP,MAAM,CAACM,CAAC,CAAC,CAAEF,CAAC,IAAIJ,MAAM,CAACM,CAAC,CAAC,CAAED,CAAC,EAAE,CAAC;EACjD;EACA,IAAIJ,MAAM,EAAEE,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC;EAC3B,OAAOJ,KAAK,CAACK,IAAI,CAAC,GAAG,CAAC;AACxB;AAEA,OAAO,MAAMC,eAAe,gBAAGnB,KAAK,CAACoB,IAAI,CAAC,SAASD,eAAeA,CAAC;EACjEE,MAAM;EACNC;AACoB,CAAC,EAAE;EACvB,MAAMC,YAAY,GAAGtB,OAAO,CAC1B,MAAMG,iBAAiB,CAACiB,MAAM,CAACX,MAAM,EAAEY,UAAU,CAAC,EAClD,CAACD,MAAM,CAACX,MAAM,EAAEY,UAAU,CAC5B,CAAC;EAED,MAAME,UAAU,GAAGvB,OAAO,CACxB,MAAMQ,gBAAgB,CAACc,YAAY,EAAEF,MAAM,CAACV,MAAM,CAAC,EACnD,CAACY,YAAY,EAAEF,MAAM,CAACV,MAAM,CAC9B,CAAC;EAED,IAAI,CAACa,UAAU,EAAE,OAAO,IAAI;EAE5B,MAAMC,OAAO,GACXJ,MAAM,CAACV,MAAM,IAAIU,MAAM,CAACK,eAAe,IAAIL,MAAM,CAACM,eAAe;EACnE,MAAMC,SAAS,GAAGH,OAAO,GACrBJ,MAAM,CAACK,eAAe,CAAEG,OAAO,CAC7B,WAAW,EACX,GAAGR,MAAM,CAACM,eAAe,GAC3B,CAAC,GACDG,SAAS;EAEb,oBACEtB,KAAA,CAACL,KAAK;IAAA4B,QAAA,GACHH,SAAS,iBACRtB,IAAA,CAACJ,IAAI;MAAC8B,IAAI,EAAER,UAAW;MAACS,KAAK,EAAC,MAAM;MAACC,KAAK,EAAEN;IAAU,CAAE,CACzD,eACDtB,IAAA,CAACJ,IAAI;MACH8B,IAAI,EAAER,UAAW;MACjBS,KAAK,EAAC,QAAQ;MACdE,WAAW,EAAEd,MAAM,CAACe,SAAU;MAC9BF,KAAK,EAAEb,MAAM,CAACa,KAAM;MACpBG,SAAS,EAAC,OAAO;MACjBC,UAAU,EAAC;IAAO,CACnB,CAAC;EAAA,CACG,CAAC;AAEZ,CAAC,CAAC;AAEF,SAAS7B,gBAAgB","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo } from "react";
4
+ import { Rect, Group } from "@shopify/react-native-skia";
5
+ import { denormalize } from "../utils/coordinates";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ export const RectRenderer = /*#__PURE__*/React.memo(function RectRenderer({
8
+ object,
9
+ canvasSize
10
+ }) {
11
+ const from = useMemo(() => denormalize(object.from, canvasSize), [object.from, canvasSize]);
12
+ const to = useMemo(() => denormalize(object.to, canvasSize), [object.to, canvasSize]);
13
+ const rect = useMemo(() => {
14
+ const x = Math.min(from.x, to.x);
15
+ const y = Math.min(from.y, to.y);
16
+ const width = Math.abs(to.x - from.x);
17
+ const height = Math.abs(to.y - from.y);
18
+ return {
19
+ x,
20
+ y,
21
+ width,
22
+ height
23
+ };
24
+ }, [from, to]);
25
+ const hasFill = object.backgroundColor && object.backgroundAlpha;
26
+ const fillColor = hasFill ? object.backgroundColor.replace(/[\d.]+\)$/, `${object.backgroundAlpha})`) : undefined;
27
+ return /*#__PURE__*/_jsxs(Group, {
28
+ children: [fillColor && /*#__PURE__*/_jsx(Rect, {
29
+ x: rect.x,
30
+ y: rect.y,
31
+ width: rect.width,
32
+ height: rect.height,
33
+ color: fillColor,
34
+ style: "fill"
35
+ }), /*#__PURE__*/_jsx(Rect, {
36
+ x: rect.x,
37
+ y: rect.y,
38
+ width: rect.width,
39
+ height: rect.height,
40
+ color: object.color,
41
+ style: "stroke",
42
+ strokeWidth: object.lineWidth
43
+ })]
44
+ });
45
+ });
46
+ //# sourceMappingURL=RectRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","Rect","Group","denormalize","jsx","_jsx","jsxs","_jsxs","RectRenderer","memo","object","canvasSize","from","to","rect","x","Math","min","y","width","abs","height","hasFill","backgroundColor","backgroundAlpha","fillColor","replace","undefined","children","color","style","strokeWidth","lineWidth"],"sourceRoot":"../../../src","sources":["renderers/RectRenderer.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,IAAI,EAAEC,KAAK,QAAQ,4BAA4B;AAExD,SAASC,WAAW,QAAQ,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAOnD,OAAO,MAAMC,YAAY,gBAAGT,KAAK,CAACU,IAAI,CAAC,SAASD,YAAYA,CAAC;EAC3DE,MAAM;EACNC;AACiB,CAAC,EAAE;EACpB,MAAMC,IAAI,GAAGZ,OAAO,CAClB,MAAMG,WAAW,CAACO,MAAM,CAACE,IAAI,EAAED,UAAU,CAAC,EAC1C,CAACD,MAAM,CAACE,IAAI,EAAED,UAAU,CAC1B,CAAC;EACD,MAAME,EAAE,GAAGb,OAAO,CAChB,MAAMG,WAAW,CAACO,MAAM,CAACG,EAAE,EAAEF,UAAU,CAAC,EACxC,CAACD,MAAM,CAACG,EAAE,EAAEF,UAAU,CACxB,CAAC;EAED,MAAMG,IAAI,GAAGd,OAAO,CAAC,MAAM;IACzB,MAAMe,CAAC,GAAGC,IAAI,CAACC,GAAG,CAACL,IAAI,CAACG,CAAC,EAAEF,EAAE,CAACE,CAAC,CAAC;IAChC,MAAMG,CAAC,GAAGF,IAAI,CAACC,GAAG,CAACL,IAAI,CAACM,CAAC,EAAEL,EAAE,CAACK,CAAC,CAAC;IAChC,MAAMC,KAAK,GAAGH,IAAI,CAACI,GAAG,CAACP,EAAE,CAACE,CAAC,GAAGH,IAAI,CAACG,CAAC,CAAC;IACrC,MAAMM,MAAM,GAAGL,IAAI,CAACI,GAAG,CAACP,EAAE,CAACK,CAAC,GAAGN,IAAI,CAACM,CAAC,CAAC;IACtC,OAAO;MAAEH,CAAC;MAAEG,CAAC;MAAEC,KAAK;MAAEE;IAAO,CAAC;EAChC,CAAC,EAAE,CAACT,IAAI,EAAEC,EAAE,CAAC,CAAC;EAEd,MAAMS,OAAO,GAAGZ,MAAM,CAACa,eAAe,IAAIb,MAAM,CAACc,eAAe;EAChE,MAAMC,SAAS,GAAGH,OAAO,GACrBZ,MAAM,CAACa,eAAe,CAAEG,OAAO,CAAC,WAAW,EAAE,GAAGhB,MAAM,CAACc,eAAe,GAAG,CAAC,GAC1EG,SAAS;EAEb,oBACEpB,KAAA,CAACL,KAAK;IAAA0B,QAAA,GACHH,SAAS,iBACRpB,IAAA,CAACJ,IAAI;MACHc,CAAC,EAAED,IAAI,CAACC,CAAE;MACVG,CAAC,EAAEJ,IAAI,CAACI,CAAE;MACVC,KAAK,EAAEL,IAAI,CAACK,KAAM;MAClBE,MAAM,EAAEP,IAAI,CAACO,MAAO;MACpBQ,KAAK,EAAEJ,SAAU;MACjBK,KAAK,EAAC;IAAM,CACb,CACF,eACDzB,IAAA,CAACJ,IAAI;MACHc,CAAC,EAAED,IAAI,CAACC,CAAE;MACVG,CAAC,EAAEJ,IAAI,CAACI,CAAE;MACVC,KAAK,EAAEL,IAAI,CAACK,KAAM;MAClBE,MAAM,EAAEP,IAAI,CAACO,MAAO;MACpBQ,KAAK,EAAEnB,MAAM,CAACmB,KAAM;MACpBC,KAAK,EAAC,QAAQ;MACdC,WAAW,EAAErB,MAAM,CAACsB;IAAU,CAC/B,CAAC;EAAA,CACG,CAAC;AAEZ,CAAC,CAAC","ignoreList":[]}