@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":["useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","forwardRef","View","StyleSheet","Platform","useWindowDimensions","useSafeAreaInsets","Canvas","Image","useImage","useCanvasRef","Fill","Group","rect","GestureHandlerRootView","GestureDetector","Gesture","useSharedValue","useDerivedValue","useDrawingStore","useFreehandGesture","useShapeGesture","usePolygonGesture","useSelectionGesture","useViewportGesture","ObjectRenderer","SelectionOverlay","SelectedObjectRenderer","FreehandInProgress","ShapeInProgress","PolygonInProgress","Toolbar","ColorPalette","LineWidthSlider","TextAnnotation","TextEditModal","MeasurementEditModal","ZoomBadge","MiniMap","normalize","generateId","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","TWO_POINT_TOOLS","WEB_CURSOR_STYLES","default","cursor","crosshair","grab","grabbing","text","DrawingEditor","imageSource","initialObjects","maxZoom","onSave","_onSave","onDismiss","_onDismiss","style","renderToolbar","renderColorPalette","ref","width","winWidth","height","winHeight","isPhone","Math","min","insets","currentTool","s","strokeColor","fillColor","fillAlpha","lineWidth","objects","selectedObjectId","canvasSize","undoStack","setTool","setStrokeColor","setLineWidth","setCanvasSize","addObject","updateObject","deleteObject","selectObject","moveObject","undo","clearAll","loadObjects","skiaImage","err","console","warn","message","canvasRef","layoutSize","setLayoutSize","isPointerDown","setIsPointerDown","wheelTargetRef","setWheelTargetRef","node","current","handleLayout","event","nativeEvent","layout","colorSV","lineWidthSV","fillColorSV","fillAlphaSV","toolSV","value","isFreehand","isPolygon","isTwoPointShape","includes","isTextMode","imageRect","x","y","imgW","imgH","scaleX","scaleY","scale","w","h","effectiveCanvasSize","imageOffsetXSV","imageOffsetYSV","imageWidthSV","imageHeightSV","isZoomed","setIsZoomed","layoutWidthSV","layoutHeightSV","handlePinchEnd","viewport","layoutWidth","layoutHeight","imageOffsetX","imageOffsetY","imageWidth","imageHeight","onPinchEnd","id","setInterval","zoomed","prev","clearInterval","isPinching","measureEditVisible","setMeasureEditVisible","measureEditTarget","setMeasureEditTarget","lastUsedUnit","handleMeasureCreated","handleMeasureSubmit","unit","handleMeasureCancel","freehand","enabled","viewScale","viewTranslateX","translateX","viewTranslateY","translateY","shape","shapeType","onMeasureCreated","polygon","prevToolRef","cancel","handleTextTap","pos","newText","type","position","color","setTextEditTarget","setTextEditValue","setTextEditVisible","handleTapEmpty","selection","onTapEmpty","composedGesture","navigationGestures","Simultaneous","pinchGesture","twoFingerPanGesture","noToolActive","drawingPanGestures","panGesture","singleFingerPanGesture","gesture","tapGestures","Exclusive","doubleTapResetGesture","doubleTapGesture","tapGesture","interactionGestures","textEditVisible","textEditTarget","textEditValue","handleTextSubmit","handleTextDoubleTap","obj","find","o","selectedObject","textObjects","filter","nonTextObjects","unselectedNonTextObjects","exportImage","prevScale","prevTx","prevTy","Promise","r","requestAnimationFrame","bounds","round","image","makeImageSnapshot","encodeToBytes","exportImageBase64","encodeToBase64","getObjects","resetZoom","resetViewport","handleSelectTool","tool","handleUndo","handleResetZoom","viewportTransform","usesMoveCursor","handlePointerDown","OS","handlePointerRelease","handleWheel","wheelEvent","ctrlKey","deltaY","undefined","preventDefault","currentTarget","getBoundingClientRect","clientX","clientY","localX","left","localY","top","scaleFactor","max","exp","zoomAt","target","addEventListener","removeEventListener","options","passive","webPointerHandlers","onPointerDown","onPointerUp","onPointerCancel","onPointerLeave","canvasCursorStyle","styles","root","children","editorContainer","editorContainerPhone","editorContainerTablet","sidebarLeft","onSelectStrokeColor","onSelectFillColor","getState","setFillColor","onSelectFillAlpha","setFillAlpha","onSelectColor","direction","canvasContainer","onLayout","absoluteFill","absoluteFillObject","pointerEvents","transform","fit","clip","map","object","isDragging","draggingAnchorIndex","dragOffsetX","dragOffsetY","path","inProgressPath","inProgressColor","inProgressWidth","isDrawing","startX","startY","currentX","currentY","inProgressFillColor","inProgressFillAlpha","pointsFlat","pointCount","isActive","textObj","imageOffset","isSelected","onSelect","onMove","onDoubleTap","onDelete","onPress","visible","onPanViewport","panViewport","sidebarRight","onValueChange","orientation","phoneBottomArea","paddingBottom","bottom","phoneControlsBar","onSelectTool","onUndo","canUndo","length","onResetZoom","toolbarOverlay","initialValue","onSubmit","onCancel","initialUnit","create","flex","backgroundColor","flexDirection","justifyContent","paddingHorizontal","alignItems","right"],"sourceRoot":"../../src","sources":["DrawingEditor.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,374 @@
1
+ "use strict";
2
+
3
+ import React, { useCallback, useMemo, useState } from "react";
4
+ import { View, TouchableOpacity, StyleSheet, Modal, Pressable, ScrollView, Platform, useWindowDimensions } from "react-native";
5
+ import { PRESET_COLORS, EXTENDED_COLOR_GROUPS } from "../utils/colors";
6
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
7
+ export const ColorPalette = /*#__PURE__*/React.memo(function ColorPalette({
8
+ strokeColor,
9
+ onSelectColor,
10
+ direction = "vertical"
11
+ }) {
12
+ const [modalVisible, setModalVisible] = useState(false);
13
+ const isExtendedColor = !PRESET_COLORS.includes(strokeColor);
14
+ const handleOpenModal = useCallback(() => {
15
+ setModalVisible(true);
16
+ }, []);
17
+ const handleSelectExtended = useCallback(color => {
18
+ onSelectColor(color);
19
+ setModalVisible(false);
20
+ }, [onSelectColor]);
21
+ const handleCloseModal = useCallback(() => {
22
+ setModalVisible(false);
23
+ }, []);
24
+ return /*#__PURE__*/_jsxs(_Fragment, {
25
+ children: [/*#__PURE__*/_jsxs(View, {
26
+ style: [styles.container, direction === "horizontal" ? styles.containerHorizontal : styles.containerVertical],
27
+ children: [/*#__PURE__*/_jsx(MultiColorButton, {
28
+ isSelected: isExtendedColor,
29
+ selectedColor: isExtendedColor ? strokeColor : undefined,
30
+ onPress: handleOpenModal
31
+ }), PRESET_COLORS.map((color, index) => /*#__PURE__*/_jsx(ColorButton, {
32
+ color: color,
33
+ isSelected: strokeColor === color,
34
+ onPress: onSelectColor
35
+ }, index))]
36
+ }), /*#__PURE__*/_jsx(ColorPickerModal, {
37
+ visible: modalVisible,
38
+ selectedColor: strokeColor,
39
+ onSelectColor: handleSelectExtended,
40
+ onClose: handleCloseModal
41
+ })]
42
+ });
43
+ });
44
+
45
+ /* ─── Multi-color rainbow button ──────────────────────────────────────────── */
46
+
47
+ const RAINBOW_SEGMENTS = ["#FF4F3D", "#FFa345", "#FACE15", "#42E07D", "#5E70FF", "#A855F7"];
48
+ const MultiColorButton = /*#__PURE__*/React.memo(function MultiColorButton({
49
+ isSelected,
50
+ selectedColor,
51
+ onPress
52
+ }) {
53
+ return /*#__PURE__*/_jsx(TouchableOpacity, {
54
+ onPress: onPress,
55
+ activeOpacity: 0.7,
56
+ style: [styles.buttonOuter, isSelected && styles.buttonOuterSelected],
57
+ children: isSelected && selectedColor ? /*#__PURE__*/_jsx(View, {
58
+ style: [styles.colorCircle, {
59
+ backgroundColor: selectedColor
60
+ }],
61
+ children: /*#__PURE__*/_jsx(View, {
62
+ style: styles.rainbowDot
63
+ })
64
+ }) : /*#__PURE__*/_jsxs(View, {
65
+ style: [styles.colorCircle, styles.rainbowCircle],
66
+ children: [RAINBOW_SEGMENTS.map((c, i) => /*#__PURE__*/_jsx(View, {
67
+ style: [styles.rainbowSegment, {
68
+ backgroundColor: c,
69
+ transform: [{
70
+ rotate: `${i * 60}deg`
71
+ }]
72
+ }]
73
+ }, i)), /*#__PURE__*/_jsx(View, {
74
+ style: styles.rainbowCenter
75
+ })]
76
+ })
77
+ });
78
+ });
79
+
80
+ /* ─── Single color button ─────────────────────────────────────────────────── */
81
+
82
+ const ColorButton = /*#__PURE__*/React.memo(function ColorButton({
83
+ color,
84
+ isSelected,
85
+ onPress
86
+ }) {
87
+ const handlePress = useCallback(() => {
88
+ onPress(color);
89
+ }, [onPress, color]);
90
+ return /*#__PURE__*/_jsx(TouchableOpacity, {
91
+ onPress: handlePress,
92
+ activeOpacity: 0.7,
93
+ style: [styles.buttonOuter, isSelected && styles.buttonOuterSelected],
94
+ children: /*#__PURE__*/_jsx(View, {
95
+ style: [styles.colorCircle, {
96
+ backgroundColor: color
97
+ }]
98
+ })
99
+ });
100
+ });
101
+
102
+ /* ─── Color picker modal ──────────────────────────────────────────────────── */
103
+
104
+ const ColorPickerModal = /*#__PURE__*/React.memo(function ColorPickerModal({
105
+ visible,
106
+ selectedColor,
107
+ onSelectColor,
108
+ onClose
109
+ }) {
110
+ const {
111
+ width,
112
+ height
113
+ } = useWindowDimensions();
114
+ const shortestSide = Math.min(width, height);
115
+ const isTablet = shortestSide >= 768;
116
+ const horizontalPadding = isTablet ? 32 : 20;
117
+ const cardWidth = Math.min(width - horizontalPadding * 2, isTablet ? 760 : 380);
118
+ const columns = Math.max(4, Math.min(isTablet ? 8 : 6, Math.floor(cardWidth / (isTablet ? 84 : 68))));
119
+ const swatchOuterSize = isTablet ? 76 : 60;
120
+ const swatchInnerSize = isTablet ? 58 : 46;
121
+ const cardRadius = isTablet ? 28 : 24;
122
+ const phoneBottomPadding = Platform.OS === "ios" ? 12 : 16;
123
+ const paletteRows = useMemo(() => EXTENDED_COLOR_GROUPS.flatMap(group => Array.from({
124
+ length: Math.ceil(group.length / columns)
125
+ }, (_item, index) => group.slice(index * columns, index * columns + columns))), [columns]);
126
+ const renderSwatch = useCallback(item => /*#__PURE__*/_jsx(TouchableOpacity, {
127
+ onPress: () => onSelectColor(item),
128
+ activeOpacity: 0.7,
129
+ accessibilityRole: "button",
130
+ accessibilityLabel: `Select color ${item}`,
131
+ style: [styles.gridItem, {
132
+ width: swatchOuterSize,
133
+ height: swatchOuterSize,
134
+ borderRadius: swatchOuterSize / 2
135
+ }, selectedColor === item && styles.gridItemSelected],
136
+ children: /*#__PURE__*/_jsx(View, {
137
+ style: [styles.gridCircle, {
138
+ width: swatchInnerSize,
139
+ height: swatchInnerSize,
140
+ borderRadius: swatchInnerSize / 2,
141
+ backgroundColor: item
142
+ }],
143
+ children: selectedColor === item && /*#__PURE__*/_jsxs(View, {
144
+ style: [styles.checkmark, {
145
+ width: swatchInnerSize * 0.34,
146
+ height: swatchInnerSize * 0.34
147
+ }],
148
+ children: [/*#__PURE__*/_jsx(View, {
149
+ style: [styles.checkmarkShort, {
150
+ width: Math.max(2, Math.round(swatchInnerSize * 0.07)),
151
+ height: Math.max(6, Math.round(swatchInnerSize * 0.18)),
152
+ left: Math.round(swatchInnerSize * 0.04),
153
+ top: Math.round(swatchInnerSize * 0.16)
154
+ }]
155
+ }), /*#__PURE__*/_jsx(View, {
156
+ style: [styles.checkmarkLong, {
157
+ width: Math.max(2, Math.round(swatchInnerSize * 0.07)),
158
+ height: Math.max(10, Math.round(swatchInnerSize * 0.28)),
159
+ left: Math.round(swatchInnerSize * 0.16),
160
+ top: Math.round(swatchInnerSize * 0.02)
161
+ }]
162
+ })]
163
+ })
164
+ })
165
+ }, item), [onSelectColor, selectedColor, swatchInnerSize, swatchOuterSize]);
166
+ return /*#__PURE__*/_jsx(Modal, {
167
+ visible: visible,
168
+ transparent: true,
169
+ animationType: "fade",
170
+ onRequestClose: onClose,
171
+ children: /*#__PURE__*/_jsx(Pressable, {
172
+ style: styles.modalOverlay,
173
+ onPress: onClose,
174
+ children: isTablet ? /*#__PURE__*/_jsxs(Pressable, {
175
+ style: [styles.modalCard, styles.modalCardTablet, {
176
+ width: cardWidth,
177
+ maxHeight: height * 0.84,
178
+ borderRadius: cardRadius,
179
+ padding: 28
180
+ }],
181
+ onPress: () => {},
182
+ children: [/*#__PURE__*/_jsx(View, {
183
+ style: styles.modalHandle
184
+ }), /*#__PURE__*/_jsx(ScrollView, {
185
+ contentContainerStyle: styles.gridContainer,
186
+ showsVerticalScrollIndicator: false,
187
+ children: paletteRows.map((row, index) => /*#__PURE__*/_jsx(View, {
188
+ style: styles.gridRow,
189
+ children: row.map(renderSwatch)
190
+ }, `row-${index}`))
191
+ })]
192
+ }) : /*#__PURE__*/_jsx(View, {
193
+ pointerEvents: "box-none",
194
+ style: [styles.modalPhoneSafeArea, {
195
+ paddingHorizontal: horizontalPadding,
196
+ paddingBottom: phoneBottomPadding
197
+ }],
198
+ children: /*#__PURE__*/_jsxs(Pressable, {
199
+ style: [styles.modalCard, styles.modalCardPhone, {
200
+ width: "100%",
201
+ maxWidth: cardWidth,
202
+ maxHeight: height * 0.74,
203
+ borderRadius: cardRadius,
204
+ padding: 18
205
+ }],
206
+ onPress: () => {},
207
+ children: [/*#__PURE__*/_jsx(View, {
208
+ style: styles.modalHandle
209
+ }), /*#__PURE__*/_jsx(ScrollView, {
210
+ contentContainerStyle: styles.gridContainer,
211
+ showsVerticalScrollIndicator: false,
212
+ children: paletteRows.map((row, index) => /*#__PURE__*/_jsx(View, {
213
+ style: styles.gridRow,
214
+ children: row.map(renderSwatch)
215
+ }, `row-${index}`))
216
+ })]
217
+ })
218
+ })
219
+ })
220
+ });
221
+ });
222
+
223
+ /* ─── Styles ──────────────────────────────────────────────────────────────── */
224
+
225
+ const styles = StyleSheet.create({
226
+ container: {
227
+ padding: 8,
228
+ gap: 6
229
+ },
230
+ containerVertical: {
231
+ flexDirection: "column",
232
+ alignItems: "center"
233
+ },
234
+ containerHorizontal: {
235
+ flexDirection: "row",
236
+ alignItems: "center"
237
+ },
238
+ buttonOuter: {
239
+ width: 32,
240
+ height: 32,
241
+ borderRadius: 16,
242
+ justifyContent: "center",
243
+ alignItems: "center",
244
+ borderWidth: 2,
245
+ borderColor: "transparent"
246
+ },
247
+ buttonOuterSelected: {
248
+ borderColor: "#FFFFFF"
249
+ },
250
+ colorCircle: {
251
+ width: 24,
252
+ height: 24,
253
+ borderRadius: 12,
254
+ borderWidth: 1,
255
+ borderColor: "rgba(255, 255, 255, 0.3)",
256
+ overflow: "hidden"
257
+ },
258
+ /* Rainbow button */
259
+ rainbowCircle: {
260
+ justifyContent: "center",
261
+ alignItems: "center"
262
+ },
263
+ rainbowSegment: {
264
+ position: "absolute",
265
+ width: 12,
266
+ height: 12,
267
+ top: 0,
268
+ left: 6,
269
+ transformOrigin: "0% 100%"
270
+ },
271
+ rainbowCenter: {
272
+ width: 8,
273
+ height: 8,
274
+ borderRadius: 4,
275
+ backgroundColor: "#222",
276
+ zIndex: 1
277
+ },
278
+ rainbowDot: {
279
+ position: "absolute",
280
+ bottom: 1,
281
+ right: 1,
282
+ width: 8,
283
+ height: 8,
284
+ borderRadius: 4,
285
+ borderWidth: 1,
286
+ borderColor: "rgba(0,0,0,0.3)",
287
+ backgroundColor: "transparent",
288
+ overflow: "hidden"
289
+ },
290
+ /* Modal */
291
+ modalOverlay: {
292
+ flex: 1,
293
+ backgroundColor: "rgba(0, 0, 0, 0.6)",
294
+ justifyContent: "center",
295
+ alignItems: "center"
296
+ },
297
+ modalCard: {
298
+ backgroundColor: "#1C1C1E",
299
+ shadowColor: "#000",
300
+ shadowOffset: {
301
+ width: 0,
302
+ height: 4
303
+ },
304
+ shadowOpacity: 0.5,
305
+ shadowRadius: 12,
306
+ elevation: 12
307
+ },
308
+ modalCardTablet: {
309
+ alignSelf: "center"
310
+ },
311
+ modalPhoneSafeArea: {
312
+ flex: 1,
313
+ width: "100%",
314
+ justifyContent: "flex-end",
315
+ alignItems: "center",
316
+ paddingTop: 24
317
+ },
318
+ modalCardPhone: {
319
+ alignSelf: "center"
320
+ },
321
+ modalHandle: {
322
+ alignSelf: "center",
323
+ width: 44,
324
+ height: 5,
325
+ borderRadius: 999,
326
+ marginBottom: 16,
327
+ backgroundColor: "rgba(255, 255, 255, 0.14)"
328
+ },
329
+ gridContainer: {
330
+ gap: 10
331
+ },
332
+ gridRow: {
333
+ flexDirection: "row",
334
+ justifyContent: "center",
335
+ alignItems: "center",
336
+ gap: 10
337
+ },
338
+ gridItem: {
339
+ justifyContent: "center",
340
+ alignItems: "center",
341
+ borderWidth: 3,
342
+ borderColor: "transparent"
343
+ },
344
+ gridItemSelected: {
345
+ borderColor: "#FFFFFF"
346
+ },
347
+ gridCircle: {
348
+ borderWidth: 1,
349
+ borderColor: "rgba(255, 255, 255, 0.2)",
350
+ justifyContent: "center",
351
+ alignItems: "center"
352
+ },
353
+ checkmark: {
354
+ justifyContent: "center",
355
+ alignItems: "center"
356
+ },
357
+ checkmarkShort: {
358
+ position: "absolute",
359
+ backgroundColor: "#FFF",
360
+ borderRadius: 1,
361
+ transform: [{
362
+ rotate: "-45deg"
363
+ }]
364
+ },
365
+ checkmarkLong: {
366
+ position: "absolute",
367
+ backgroundColor: "#FFF",
368
+ borderRadius: 1,
369
+ transform: [{
370
+ rotate: "35deg"
371
+ }]
372
+ }
373
+ });
374
+ //# sourceMappingURL=ColorPalette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useMemo","useState","View","TouchableOpacity","StyleSheet","Modal","Pressable","ScrollView","Platform","useWindowDimensions","PRESET_COLORS","EXTENDED_COLOR_GROUPS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ColorPalette","memo","strokeColor","onSelectColor","direction","modalVisible","setModalVisible","isExtendedColor","includes","handleOpenModal","handleSelectExtended","color","handleCloseModal","children","style","styles","container","containerHorizontal","containerVertical","MultiColorButton","isSelected","selectedColor","undefined","onPress","map","index","ColorButton","ColorPickerModal","visible","onClose","RAINBOW_SEGMENTS","activeOpacity","buttonOuter","buttonOuterSelected","colorCircle","backgroundColor","rainbowDot","rainbowCircle","c","i","rainbowSegment","transform","rotate","rainbowCenter","handlePress","width","height","shortestSide","Math","min","isTablet","horizontalPadding","cardWidth","columns","max","floor","swatchOuterSize","swatchInnerSize","cardRadius","phoneBottomPadding","OS","paletteRows","flatMap","group","Array","from","length","ceil","_item","slice","renderSwatch","item","accessibilityRole","accessibilityLabel","gridItem","borderRadius","gridItemSelected","gridCircle","checkmark","checkmarkShort","round","left","top","checkmarkLong","transparent","animationType","onRequestClose","modalOverlay","modalCard","modalCardTablet","maxHeight","padding","modalHandle","contentContainerStyle","gridContainer","showsVerticalScrollIndicator","row","gridRow","pointerEvents","modalPhoneSafeArea","paddingHorizontal","paddingBottom","modalCardPhone","maxWidth","create","gap","flexDirection","alignItems","justifyContent","borderWidth","borderColor","overflow","position","transformOrigin","zIndex","bottom","right","flex","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","alignSelf","paddingTop","marginBottom"],"sourceRoot":"../../../src","sources":["components/ColorPalette.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ import React, { useCallback } from "react";
4
+ import { View, StyleSheet } from "react-native";
5
+ import Slider from "@react-native-community/slider";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export const LineWidthSlider = /*#__PURE__*/React.memo(function LineWidthSlider({
8
+ value,
9
+ onValueChange,
10
+ minimumValue = 1,
11
+ maximumValue = 20,
12
+ orientation = "vertical"
13
+ }) {
14
+ const handleChange = useCallback(v => {
15
+ onValueChange(Math.round(v));
16
+ }, [onValueChange]);
17
+ return /*#__PURE__*/_jsx(View, {
18
+ style: [styles.container, orientation === "vertical" && styles.containerVertical],
19
+ children: /*#__PURE__*/_jsx(View, {
20
+ style: orientation === "vertical" ? styles.sliderWrapperVertical : styles.sliderWrapperHorizontal,
21
+ children: /*#__PURE__*/_jsx(Slider, {
22
+ style: orientation === "vertical" ? styles.sliderVertical : styles.sliderHorizontal,
23
+ value: value,
24
+ onValueChange: handleChange,
25
+ minimumValue: minimumValue,
26
+ maximumValue: maximumValue,
27
+ minimumTrackTintColor: "#FFFFFF",
28
+ maximumTrackTintColor: "rgba(255, 255, 255, 0.3)",
29
+ thumbTintColor: "#FFFFFF"
30
+ })
31
+ })
32
+ });
33
+ });
34
+ const styles = StyleSheet.create({
35
+ container: {
36
+ padding: 8
37
+ },
38
+ containerVertical: {
39
+ justifyContent: "center",
40
+ alignItems: "center"
41
+ },
42
+ sliderWrapperVertical: {
43
+ width: 40,
44
+ height: 200,
45
+ transform: [{
46
+ rotate: "-90deg"
47
+ }],
48
+ justifyContent: "center"
49
+ },
50
+ sliderWrapperHorizontal: {
51
+ width: 150,
52
+ height: 40,
53
+ justifyContent: "center"
54
+ },
55
+ sliderVertical: {
56
+ width: 200,
57
+ height: 40
58
+ },
59
+ sliderHorizontal: {
60
+ width: 150,
61
+ height: 40
62
+ }
63
+ });
64
+ //# sourceMappingURL=LineWidthSlider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","View","StyleSheet","Slider","jsx","_jsx","LineWidthSlider","memo","value","onValueChange","minimumValue","maximumValue","orientation","handleChange","v","Math","round","style","styles","container","containerVertical","children","sliderWrapperVertical","sliderWrapperHorizontal","sliderVertical","sliderHorizontal","minimumTrackTintColor","maximumTrackTintColor","thumbTintColor","create","padding","justifyContent","alignItems","width","height","transform","rotate"],"sourceRoot":"../../../src","sources":["components/LineWidthSlider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,OAAOC,MAAM,MAAM,gCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUpD,OAAO,MAAMC,eAAe,gBAAGP,KAAK,CAACQ,IAAI,CAAC,SAASD,eAAeA,CAAC;EACjEE,KAAK;EACLC,aAAa;EACbC,YAAY,GAAG,CAAC;EAChBC,YAAY,GAAG,EAAE;EACjBC,WAAW,GAAG;AACM,CAAC,EAAE;EACvB,MAAMC,YAAY,GAAGb,WAAW,CAC7Bc,CAAS,IAAK;IACbL,aAAa,CAACM,IAAI,CAACC,KAAK,CAACF,CAAC,CAAC,CAAC;EAC9B,CAAC,EACD,CAACL,aAAa,CAChB,CAAC;EAED,oBACEJ,IAAA,CAACJ,IAAI;IACHgB,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChBP,WAAW,KAAK,UAAU,IAAIM,MAAM,CAACE,iBAAiB,CACtD;IAAAC,QAAA,eAEFhB,IAAA,CAACJ,IAAI;MACHgB,KAAK,EACHL,WAAW,KAAK,UAAU,GACtBM,MAAM,CAACI,qBAAqB,GAC5BJ,MAAM,CAACK,uBACZ;MAAAF,QAAA,eAEDhB,IAAA,CAACF,MAAM;QACLc,KAAK,EACHL,WAAW,KAAK,UAAU,GACtBM,MAAM,CAACM,cAAc,GACrBN,MAAM,CAACO,gBACZ;QACDjB,KAAK,EAAEA,KAAM;QACbC,aAAa,EAAEI,YAAa;QAC5BH,YAAY,EAAEA,YAAa;QAC3BC,YAAY,EAAEA,YAAa;QAC3Be,qBAAqB,EAAC,SAAS;QAC/BC,qBAAqB,EAAC,0BAA0B;QAChDC,cAAc,EAAC;MAAS,CACzB;IAAC,CACE;EAAC,CACH,CAAC;AAEX,CAAC,CAAC;AAEF,MAAMV,MAAM,GAAGhB,UAAU,CAAC2B,MAAM,CAAC;EAC/BV,SAAS,EAAE;IACTW,OAAO,EAAE;EACX,CAAC;EACDV,iBAAiB,EAAE;IACjBW,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDV,qBAAqB,EAAE;IACrBW,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,GAAG;IACXC,SAAS,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAS,CAAC,CAAC;IACjCL,cAAc,EAAE;EAClB,CAAC;EACDR,uBAAuB,EAAE;IACvBU,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE,EAAE;IACVH,cAAc,EAAE;EAClB,CAAC;EACDP,cAAc,EAAE;IACdS,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE;EACV,CAAC;EACDT,gBAAgB,EAAE;IAChBQ,KAAK,EAAE,GAAG;IACVC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}