lost-sia 2.0.1-alpha9 → 3.0.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 (411) hide show
  1. package/README.md +4 -0
  2. package/dist/Annotation/logic/Annotation.d.ts +17 -0
  3. package/dist/Annotation/logic/Annotation.js +1 -1
  4. package/dist/Annotation/ui/AnnotationComponent.d.ts +24 -0
  5. package/dist/Annotation/ui/AnnotationComponent.js +1 -1
  6. package/dist/Annotation/ui/atoms/AnnoBar.d.ts +15 -0
  7. package/dist/Annotation/ui/atoms/AnnoBar.js +1 -1
  8. package/dist/Annotation/ui/atoms/DaviIcon.d.ts +9 -0
  9. package/dist/Annotation/ui/atoms/Edge.d.ts +17 -0
  10. package/dist/Annotation/ui/atoms/Edge.js +1 -1
  11. package/dist/Annotation/ui/atoms/Node.d.ts +17 -0
  12. package/dist/Annotation/ui/atoms/Node.js +1 -1
  13. package/dist/Annotation/ui/atoms/PolygonArea.d.ts +16 -0
  14. package/dist/Annotation/ui/atoms/PolygonArea.js +1 -1
  15. package/dist/Annotation/ui/tools/BBox.d.ts +21 -0
  16. package/dist/Annotation/ui/tools/BBox.js +1 -1
  17. package/dist/Annotation/ui/tools/Line.d.ts +21 -0
  18. package/dist/Annotation/ui/tools/Line.js +1 -1
  19. package/dist/Annotation/ui/tools/Point.d.ts +16 -0
  20. package/dist/Annotation/ui/tools/Point.js +1 -1
  21. package/dist/Annotation/ui/tools/Polygon.d.ts +23 -0
  22. package/dist/Annotation/ui/tools/Polygon.js +1 -1
  23. package/dist/Canvas/Canvas.d.ts +31 -0
  24. package/dist/Canvas/Canvas.js +1 -1
  25. package/dist/Canvas/LabelInput.d.ts +11 -0
  26. package/dist/Canvas/LabelInput.js +1 -1
  27. package/dist/IconButton.d.ts +25 -0
  28. package/dist/IconButton.js +1 -0
  29. package/dist/Sia.d.ts +33 -0
  30. package/dist/Sia.js +1 -1
  31. package/dist/Toolbar/Toolbar.d.ts +21 -0
  32. package/dist/Toolbar/Toolbar.js +1 -1
  33. package/dist/Toolbar/ToolbarItems/AccessibilityTools.d.ts +7 -0
  34. package/dist/Toolbar/ToolbarItems/AccessibilityTools.js +1 -1
  35. package/dist/Toolbar/ToolbarItems/AnnoToolSelector.d.ts +11 -0
  36. package/dist/Toolbar/ToolbarItems/AnnoToolSelector.js +1 -1
  37. package/dist/Toolbar/ToolbarItems/ImageToolItems/ImageLabelInput.d.ts +11 -0
  38. package/dist/Toolbar/ToolbarItems/ImageToolItems/ImageLabelInput.js +1 -0
  39. package/dist/Toolbar/ToolbarItems/ImageToolItems/TagLabel.d.ts +11 -0
  40. package/dist/Toolbar/ToolbarItems/ImageToolItems/TagLabel.js +1 -1
  41. package/dist/Toolbar/ToolbarItems/ImageTools.d.ts +13 -0
  42. package/dist/Toolbar/ToolbarItems/ImageTools.js +1 -1
  43. package/dist/Toolbar/ToolbarItems/Instructions.d.ts +2 -0
  44. package/dist/Toolbar/ToolbarItems/InstructionsModal.d.ts +6 -0
  45. package/dist/index.d.ts +5 -0
  46. package/dist/index.js +1 -1
  47. package/dist/models/AnnotationMode.d.ts +11 -0
  48. package/dist/models/AnnotationStatus.d.ts +8 -0
  49. package/dist/models/AnnotationTool.d.ts +7 -0
  50. package/dist/models/CanvasAction.d.ts +28 -0
  51. package/dist/models/Direction.d.ts +7 -0
  52. package/dist/models/EditorModes.d.ts +11 -0
  53. package/dist/models/KeyAction.d.ts +22 -0
  54. package/dist/models/KeyAction.js +1 -1
  55. package/dist/models/NotificationType.d.ts +7 -0
  56. package/dist/models/NotificationType.js +1 -0
  57. package/dist/models/index.d.ts +6 -0
  58. package/dist/models/index.js +1 -1
  59. package/dist/stories/AnnotationTools.stories.d.ts +40 -0
  60. package/dist/stories/Canvas/Canvas.stories.d.ts +50 -0
  61. package/dist/stories/Canvas/CanvasOffset.d.ts +13 -0
  62. package/dist/stories/Canvas/CanvasWithOffset.stories.d.ts +36 -0
  63. package/dist/stories/FilterDropdown.stories.d.ts +19 -0
  64. package/dist/stories/MinimalSia.stories.d.ts +66 -0
  65. package/dist/stories/SIA/DemoWrapper.d.ts +8 -0
  66. package/dist/stories/SIA/DemoWrapper.stories.d.ts +27 -0
  67. package/dist/stories/SIA/SIA.stories.d.ts +72 -0
  68. package/dist/stories/Toolbar/ImageTools/TagLabel.stories.d.ts +21 -0
  69. package/dist/stories/Toolbar/Instructions.stories.d.ts +11 -0
  70. package/dist/stories/Toolbar/Toolbar.stories.d.ts +37 -0
  71. package/dist/stories/exampleData/exampleAnnotations.d.ts +8 -0
  72. package/dist/stories/exampleData/exampleExternalAnnotations.d.ts +8 -0
  73. package/dist/stories/exampleData/exampleImage.d.ts +2 -0
  74. package/dist/stories/exampleData/exampleLabels.d.ts +6 -0
  75. package/dist/types.d.ts +57 -0
  76. package/dist/utils/KeyMapper.d.ts +9 -0
  77. package/dist/utils/KeyMapper.js +1 -1
  78. package/dist/utils/TimeUtils.d.ts +4 -0
  79. package/dist/utils/TimeUtils.js +1 -0
  80. package/dist/utils/color.d.ts +2 -0
  81. package/dist/utils/index.d.ts +2 -0
  82. package/dist/utils/index.js +1 -1
  83. package/dist/utils/mouse.d.ts +6 -0
  84. package/dist/utils/mouse.js +1 -1
  85. package/dist/utils/siaIcons.js +5 -5
  86. package/dist/utils/transform.d.ts +28 -0
  87. package/dist/utils/transform.js +1 -1
  88. package/dist/utils/windowViewport.d.ts +22 -0
  89. package/dist/utils/windowViewport.js +1 -1
  90. package/package.json +19 -16
  91. package/src/AnnoExampleViewer.jsx +18 -18
  92. package/src/Annotation/logic/Annotation.ts +24 -26
  93. package/src/Annotation/ui/AnnotationComponent.tsx +115 -86
  94. package/src/Annotation/ui/atoms/AnnoBar.tsx +51 -53
  95. package/src/Annotation/ui/atoms/DaviIcon.tsx +12 -22
  96. package/src/Annotation/ui/atoms/Edge.tsx +25 -22
  97. package/src/Annotation/ui/atoms/Node.tsx +56 -50
  98. package/src/Annotation/ui/atoms/PolygonArea.tsx +30 -35
  99. package/src/Annotation/ui/tools/BBox.tsx +136 -150
  100. package/src/Annotation/ui/tools/Line.tsx +94 -91
  101. package/src/Annotation/ui/tools/Point.tsx +19 -17
  102. package/src/Annotation/ui/tools/Polygon.tsx +126 -95
  103. package/src/Canvas/Canvas.tsx +748 -594
  104. package/src/Canvas/LabelInput.tsx +68 -45
  105. package/src/IconButton.tsx +119 -0
  106. package/src/InfoBoxes/AnnoDetails.jsx +53 -53
  107. package/src/InfoBoxes/AnnoStats.jsx +41 -41
  108. package/src/InfoBoxes/InfoBox.jsx +16 -16
  109. package/src/InfoBoxes/InfoBoxArea.jsx +32 -34
  110. package/src/InfoBoxes/LabelInfo.jsx +30 -30
  111. package/src/SIASettingButton.jsx +25 -25
  112. package/src/Sia.tsx +484 -0
  113. package/src/Toolbar/Toolbar.tsx +38 -31
  114. package/src/Toolbar/ToolbarItems/AccessibilityTools.tsx +26 -46
  115. package/src/Toolbar/ToolbarItems/AnnoToolSelector.tsx +53 -46
  116. package/src/Toolbar/ToolbarItems/ImageToolItems/ImageLabelInput.tsx +127 -0
  117. package/src/Toolbar/ToolbarItems/ImageToolItems/TagLabel.tsx +29 -28
  118. package/src/Toolbar/ToolbarItems/ImageTools.tsx +43 -40
  119. package/src/Toolbar/ToolbarItems/Instructions.tsx +47 -50
  120. package/src/Toolbar/ToolbarItems/InstructionsModal.tsx +8 -8
  121. package/src/index.ts +9 -13
  122. package/src/models/{AnnotationMode.tsx → AnnotationMode.ts} +1 -1
  123. package/src/models/{AnnotationStatus.tsx → AnnotationStatus.ts} +1 -1
  124. package/src/models/{AnnotationTool.tsx → AnnotationTool.ts} +1 -1
  125. package/src/models/{CanvasAction.tsx → CanvasAction.ts} +1 -1
  126. package/src/models/{Direction.tsx → Direction.ts} +1 -1
  127. package/src/models/{EditorModes.tsx → EditorModes.ts} +1 -1
  128. package/src/models/{KeyAction.tsx → KeyAction.ts} +3 -1
  129. package/src/models/NotificationType.ts +8 -0
  130. package/src/models/index.ts +6 -7
  131. package/src/siaDummyData.js +71 -71
  132. package/src/stories/AnnotationTools.mdx +27 -0
  133. package/src/stories/AnnotationTools.stories.tsx +104 -0
  134. package/src/stories/Canvas/Canvas.stories.tsx +59 -113
  135. package/src/stories/Canvas/CanvasOffset.tsx +54 -38
  136. package/src/stories/Canvas/CanvasWithOffset.stories.tsx +42 -113
  137. package/src/stories/FilterDropdown.stories.ts +13 -11
  138. package/src/stories/MinimalSIA.mdx +20 -0
  139. package/src/stories/MinimalSia.stories.tsx +90 -0
  140. package/src/stories/SIA/DemoWrapper.stories.tsx +71 -0
  141. package/src/stories/SIA/DemoWrapper.tsx +55 -0
  142. package/src/stories/SIA/SIA.stories.tsx +79 -45
  143. package/src/stories/Toolbar/ImageTools/TagLabel.stories.tsx +11 -12
  144. package/src/stories/Toolbar/Instructions.stories.tsx +11 -11
  145. package/src/stories/Toolbar/Toolbar.stories.tsx +32 -47
  146. package/src/stories/Welcome.mdx +5 -0
  147. package/src/stories/development/CoordinateSystems.mdx +25 -0
  148. package/src/stories/exampleData/exampleAnnotations.ts +65 -0
  149. package/src/stories/exampleData/exampleExternalAnnotations.ts +115 -0
  150. package/src/stories/{siaDummyData2.ts → exampleData/exampleImage.ts} +3 -264
  151. package/src/stories/exampleData/exampleLabels.ts +146 -0
  152. package/src/stories/main.scss +6 -0
  153. package/src/styles/style.scss +1 -26
  154. package/src/types.ts +67 -0
  155. package/src/utils/KeyMapper.ts +76 -74
  156. package/src/utils/TimeUtils.ts +11 -0
  157. package/src/utils/color.ts +25 -25
  158. package/src/utils/hist.js +22 -22
  159. package/src/utils/index.ts +2 -3
  160. package/src/utils/mouse.ts +45 -0
  161. package/src/utils/siaIcons.jsx +5 -7
  162. package/src/utils/transform.ts +186 -0
  163. package/src/utils/uiConfig.js +19 -22
  164. package/src/utils/windowViewport.ts +34 -0
  165. package/dist/AnnoExampleViewer.cjs +0 -1
  166. package/dist/AnnoExampleViewer.js +0 -1
  167. package/dist/AnnoLabelInput.cjs +0 -1
  168. package/dist/AnnoLabelInput.js +0 -1
  169. package/dist/AnnoToolBar.cjs +0 -19
  170. package/dist/AnnoToolBar.js +0 -19
  171. package/dist/Annotation/AnnoBar.cjs +0 -1
  172. package/dist/Annotation/AnnoBar.js +0 -1
  173. package/dist/Annotation/Annotation.cjs +0 -1
  174. package/dist/Annotation/Annotation.js +0 -1
  175. package/dist/Annotation/BBox.cjs +0 -1
  176. package/dist/Annotation/BBox.js +0 -1
  177. package/dist/Annotation/Edge.cjs +0 -1
  178. package/dist/Annotation/Edge.js +0 -1
  179. package/dist/Annotation/InfSelectionArea.cjs +0 -1
  180. package/dist/Annotation/InfSelectionArea.js +0 -1
  181. package/dist/Annotation/Line.cjs +0 -1
  182. package/dist/Annotation/Line.js +0 -1
  183. package/dist/Annotation/Node.cjs +0 -1
  184. package/dist/Annotation/Node.js +0 -1
  185. package/dist/Annotation/Point.cjs +0 -1
  186. package/dist/Annotation/Point.js +0 -1
  187. package/dist/Annotation/Polygon.cjs +0 -1
  188. package/dist/Annotation/Polygon.js +0 -1
  189. package/dist/Annotation/logic/Annotation.cjs +0 -1
  190. package/dist/Annotation/logic/AnnotationUtils.cjs +0 -1
  191. package/dist/Annotation/logic/AnnotationUtils.js +0 -1
  192. package/dist/Annotation/ui/AnnotationComponent.cjs +0 -1
  193. package/dist/Annotation/ui/atoms/AnnoBar.cjs +0 -1
  194. package/dist/Annotation/ui/atoms/DaviIcon.cjs +0 -19
  195. package/dist/Annotation/ui/atoms/Edge.cjs +0 -1
  196. package/dist/Annotation/ui/atoms/Node.cjs +0 -1
  197. package/dist/Annotation/ui/atoms/PolygonArea.cjs +0 -1
  198. package/dist/Annotation/ui/tools/BBox.cjs +0 -1
  199. package/dist/Annotation/ui/tools/Line.cjs +0 -1
  200. package/dist/Annotation/ui/tools/Point.cjs +0 -1
  201. package/dist/Annotation/ui/tools/Polygon.cjs +0 -1
  202. package/dist/Canvas/Canvas.cjs +0 -1
  203. package/dist/Canvas/LabelInput.cjs +0 -1
  204. package/dist/Canvas.cjs +0 -1
  205. package/dist/Canvas.js +0 -1
  206. package/dist/ImgBar.cjs +0 -1
  207. package/dist/ImgBar.js +0 -1
  208. package/dist/InfoBoxes/AnnoDetails.cjs +0 -1
  209. package/dist/InfoBoxes/AnnoDetails.js +0 -1
  210. package/dist/InfoBoxes/AnnoStats.cjs +0 -1
  211. package/dist/InfoBoxes/AnnoStats.js +0 -1
  212. package/dist/InfoBoxes/InfoBox.cjs +0 -1
  213. package/dist/InfoBoxes/InfoBox.js +0 -1
  214. package/dist/InfoBoxes/InfoBoxArea.cjs +0 -1
  215. package/dist/InfoBoxes/InfoBoxArea.js +0 -1
  216. package/dist/InfoBoxes/LabelInfo.cjs +0 -1
  217. package/dist/InfoBoxes/LabelInfo.js +0 -1
  218. package/dist/LabelInput.cjs +0 -1
  219. package/dist/LabelInput.js +0 -1
  220. package/dist/Prompt.cjs +0 -1
  221. package/dist/Prompt.js +0 -1
  222. package/dist/SIAFilterButton.cjs +0 -1
  223. package/dist/SIAFilterButton.js +0 -1
  224. package/dist/SIASettingButton.cjs +0 -1
  225. package/dist/SIASettingButton.js +0 -1
  226. package/dist/Sia.cjs +0 -1
  227. package/dist/Sia2.cjs +0 -1
  228. package/dist/Sia2.js +0 -1
  229. package/dist/SiaPopup.cjs +0 -1
  230. package/dist/SiaPopup.js +0 -1
  231. package/dist/ToolBar.cjs +0 -1
  232. package/dist/ToolBar.js +0 -1
  233. package/dist/Toolbar/NavigationButtons.cjs +0 -1
  234. package/dist/Toolbar/NavigationButtons.js +0 -1
  235. package/dist/Toolbar/Toolbar.cjs +0 -1
  236. package/dist/Toolbar/ToolbarItems/AccessibilityTools.cjs +0 -1
  237. package/dist/Toolbar/ToolbarItems/AnnoToolSelector.cjs +0 -1
  238. package/dist/Toolbar/ToolbarItems/ImageToolItems/ImageLabel.cjs +0 -1
  239. package/dist/Toolbar/ToolbarItems/ImageToolItems/ImageLabel.js +0 -1
  240. package/dist/Toolbar/ToolbarItems/ImageToolItems/TagLabel.cjs +0 -1
  241. package/dist/Toolbar/ToolbarItems/ImageTools.cjs +0 -1
  242. package/dist/Toolbar/ToolbarItems/Instructions.cjs +0 -1
  243. package/dist/Toolbar/ToolbarItems/InstructionsModal.cjs +0 -1
  244. package/dist/ToolbarItem.cjs +0 -1
  245. package/dist/ToolbarItem.js +0 -1
  246. package/dist/_virtual/_commonjsHelpers.cjs +0 -1
  247. package/dist/_virtual/_commonjsHelpers.js +0 -1
  248. package/dist/_virtual/lodash.cjs +0 -1
  249. package/dist/_virtual/lodash.js +0 -1
  250. package/dist/assets/Annotation/Annotation-Cd5Ua5TG.css +0 -1
  251. package/dist/assets/Toolbar-Cp1xyYeH.css +0 -1
  252. package/dist/filterTools.cjs +0 -1
  253. package/dist/filterTools.js +0 -1
  254. package/dist/index.cjs +0 -1
  255. package/dist/models/AllowedTools.cjs +0 -1
  256. package/dist/models/AllowedTools.js +0 -1
  257. package/dist/models/AnnotationMode.cjs +0 -1
  258. package/dist/models/AnnotationSettings.cjs +0 -1
  259. package/dist/models/AnnotationSettings.js +0 -1
  260. package/dist/models/AnnotationStatus.cjs +0 -1
  261. package/dist/models/AnnotationTool.cjs +0 -1
  262. package/dist/models/CanvasAction.cjs +0 -1
  263. package/dist/models/Direction.cjs +0 -1
  264. package/dist/models/EditorModes.cjs +0 -1
  265. package/dist/models/ExternalAnnotation.cjs +0 -1
  266. package/dist/models/ExternalAnnotation.js +0 -1
  267. package/dist/models/KeyAction.cjs +0 -1
  268. package/dist/models/Label.cjs +0 -1
  269. package/dist/models/Label.js +0 -1
  270. package/dist/models/UiConfig.cjs +0 -1
  271. package/dist/models/UiConfig.js +0 -1
  272. package/dist/models/index.cjs +0 -1
  273. package/dist/siaDummyData.cjs +0 -7
  274. package/dist/siaDummyData.js +0 -7
  275. package/dist/stories/Canvas/CanvasOffset.cjs +0 -1
  276. package/dist/stories/Canvas/CanvasOffset.js +0 -1
  277. package/dist/stories/FilterDropdown.stories.cjs +0 -1
  278. package/dist/stories/FilterDropdown.stories.js +0 -1
  279. package/dist/stories/SIA2/DemoWrapper.cjs +0 -1
  280. package/dist/stories/SIA2/DemoWrapper.js +0 -1
  281. package/dist/stories/siaDummyData.cjs +0 -1
  282. package/dist/stories/siaDummyData.js +0 -1
  283. package/dist/stories/siaDummyData2.cjs +0 -7
  284. package/dist/stories/siaDummyData2.js +0 -7
  285. package/dist/types/annoStatus.cjs +0 -1
  286. package/dist/types/annoStatus.js +0 -1
  287. package/dist/types/canvasActions.cjs +0 -1
  288. package/dist/types/canvasActions.js +0 -1
  289. package/dist/types/cursorstyles.cjs +0 -1
  290. package/dist/types/cursorstyles.js +0 -1
  291. package/dist/types/modes.cjs +0 -1
  292. package/dist/types/modes.js +0 -1
  293. package/dist/types/notificationType.cjs +0 -1
  294. package/dist/types/notificationType.js +0 -1
  295. package/dist/types/toolbarEvents.cjs +0 -1
  296. package/dist/types/toolbarEvents.js +0 -1
  297. package/dist/types/tools.cjs +0 -1
  298. package/dist/types/tools.js +0 -1
  299. package/dist/types.cjs +0 -1
  300. package/dist/utils/KeyMapper.cjs +0 -1
  301. package/dist/utils/annoConversion.cjs +0 -1
  302. package/dist/utils/annoConversion.js +0 -1
  303. package/dist/utils/annoConversion2.cjs +0 -1
  304. package/dist/utils/annoConversion2.js +0 -1
  305. package/dist/utils/color.cjs +0 -1
  306. package/dist/utils/colorlut.cjs +0 -1
  307. package/dist/utils/colorlut.js +0 -1
  308. package/dist/utils/constraints.cjs +0 -1
  309. package/dist/utils/constraints.js +0 -1
  310. package/dist/utils/hist.cjs +0 -1
  311. package/dist/utils/hist.js +0 -1
  312. package/dist/utils/index.cjs +0 -1
  313. package/dist/utils/keyActions.cjs +0 -1
  314. package/dist/utils/keyActions.js +0 -1
  315. package/dist/utils/mouse.cjs +0 -1
  316. package/dist/utils/mouse2.cjs +0 -1
  317. package/dist/utils/mouse2.js +0 -1
  318. package/dist/utils/siaIcons.cjs +0 -12
  319. package/dist/utils/transform.cjs +0 -1
  320. package/dist/utils/transform2.cjs +0 -1
  321. package/dist/utils/transform2.js +0 -1
  322. package/dist/utils/uiConfig.cjs +0 -1
  323. package/dist/utils/windowViewport.cjs +0 -1
  324. package/dist/utils/windowViewport2.cjs +0 -1
  325. package/dist/utils/windowViewport2.js +0 -1
  326. package/src/AnnoLabelInput.jsx +0 -109
  327. package/src/AnnoToolBar.jsx +0 -153
  328. package/src/Annotation/AnnoBar.jsx +0 -154
  329. package/src/Annotation/Annotation.jsx +0 -395
  330. package/src/Annotation/Annotation.scss +0 -47
  331. package/src/Annotation/BBox.jsx +0 -299
  332. package/src/Annotation/Edge.jsx +0 -92
  333. package/src/Annotation/InfSelectionArea.jsx +0 -72
  334. package/src/Annotation/Line.jsx +0 -68
  335. package/src/Annotation/Node.jsx +0 -282
  336. package/src/Annotation/Point.jsx +0 -200
  337. package/src/Annotation/Polygon.jsx +0 -404
  338. package/src/Annotation/logic/AnnotationUtils.ts +0 -30
  339. package/src/Canvas.jsx +0 -2194
  340. package/src/ImgBar.jsx +0 -131
  341. package/src/LabelInput.jsx +0 -238
  342. package/src/Prompt.jsx +0 -45
  343. package/src/SIAFilterButton.jsx +0 -186
  344. package/src/Sia.jsx +0 -478
  345. package/src/Sia2.tsx +0 -392
  346. package/src/SiaPopup.jsx +0 -15
  347. package/src/ToolBar.jsx +0 -463
  348. package/src/Toolbar/NavigationButtons.tsx +0 -21
  349. package/src/Toolbar/ToolbarItem.jsx +0 -30
  350. package/src/Toolbar/ToolbarItems/ImageToolItems/ImageLabel.tsx +0 -62
  351. package/src/Toolbar.css +0 -13
  352. package/src/ToolbarItem.jsx +0 -31
  353. package/src/filterTools.js +0 -5
  354. package/src/models/AllowedTools.tsx +0 -9
  355. package/src/models/AnnotationSettings.tsx +0 -9
  356. package/src/models/ExternalAnnotation.ts +0 -15
  357. package/src/models/Label.tsx +0 -8
  358. package/src/models/UiConfig.tsx +0 -6
  359. package/src/stories/Button.jsx +0 -54
  360. package/src/stories/Button.stories.js +0 -48
  361. package/src/stories/Header.jsx +0 -69
  362. package/src/stories/Header.stories.js +0 -28
  363. package/src/stories/Page.jsx +0 -87
  364. package/src/stories/Page.stories.js +0 -28
  365. package/src/stories/SIA2/DemoWrapper.stories.tsx +0 -167
  366. package/src/stories/SIA2/DemoWrapper.tsx +0 -54
  367. package/src/stories/SIA2/Sia2.stories.tsx +0 -62
  368. package/src/stories/Toolbar/ImageTools/ImageLabel.stories.tsx +0 -32
  369. package/src/stories/assets/accessibility.png +0 -0
  370. package/src/stories/assets/accessibility.svg +0 -5
  371. package/src/stories/assets/addon-library.png +0 -0
  372. package/src/stories/assets/assets.png +0 -0
  373. package/src/stories/assets/avif-test-image.avif +0 -0
  374. package/src/stories/assets/context.png +0 -0
  375. package/src/stories/assets/discord.svg +0 -15
  376. package/src/stories/assets/docs.png +0 -0
  377. package/src/stories/assets/figma-plugin.png +0 -0
  378. package/src/stories/assets/github.svg +0 -3
  379. package/src/stories/assets/share.png +0 -0
  380. package/src/stories/assets/styling.png +0 -0
  381. package/src/stories/assets/testing.png +0 -0
  382. package/src/stories/assets/theming.png +0 -0
  383. package/src/stories/assets/tutorials.svg +0 -12
  384. package/src/stories/assets/youtube.svg +0 -4
  385. package/src/stories/button.css +0 -30
  386. package/src/stories/header.css +0 -32
  387. package/src/stories/lost.js +0 -54
  388. package/src/stories/page.css +0 -69
  389. package/src/stories/siaDummyData.js +0 -263
  390. package/src/stories/store.js +0 -18
  391. package/src/test.js +0 -7
  392. package/src/types/annoStatus.js +0 -4
  393. package/src/types/canvasActions.js +0 -58
  394. package/src/types/cursorstyles.js +0 -3
  395. package/src/types/modes.js +0 -9
  396. package/src/types/notificationType.js +0 -11
  397. package/src/types/toolbarEvents.js +0 -35
  398. package/src/types/tools.js +0 -17
  399. package/src/types.tsx +0 -11
  400. package/src/utils/annoConversion.js +0 -145
  401. package/src/utils/annoConversion2.ts +0 -145
  402. package/src/utils/colorlut.js +0 -68
  403. package/src/utils/constraints.js +0 -81
  404. package/src/utils/index.js +0 -1
  405. package/src/utils/keyActions.js +0 -113
  406. package/src/utils/mouse.js +0 -14
  407. package/src/utils/mouse2.ts +0 -35
  408. package/src/utils/transform.js +0 -336
  409. package/src/utils/transform2.ts +0 -343
  410. package/src/utils/windowViewport.js +0 -34
  411. package/src/utils/windowViewport2.ts +0 -50
@@ -1,404 +0,0 @@
1
- import React, { Component } from "react";
2
-
3
- import Edge from "./Edge";
4
- import Node from "./Node";
5
- import InfSelectionArea from "./InfSelectionArea";
6
-
7
- import * as transform from "../utils/transform";
8
- import * as canvasActions from "../types/canvasActions";
9
-
10
- import "./Annotation.scss";
11
- import * as modes from "../types/modes";
12
- import * as mouse from "../utils/mouse";
13
-
14
- class Polygon extends Component {
15
- /*************
16
- * LIFECYCLE *
17
- **************/
18
- constructor(props) {
19
- super(props);
20
- this.state = {
21
- anno: undefined,
22
- };
23
- }
24
-
25
- componentDidMount() {
26
- if (this.props.anno.mode === modes.CREATE) {
27
- const data = this.props.anno.data[0];
28
- const newAnno = {
29
- ...this.props.anno,
30
- data: [
31
- { x: data.x, y: data.y },
32
- { x: data.x + 1, y: data.y },
33
- ],
34
- selectedNode: 1,
35
- };
36
- this.setState({
37
- anno: newAnno,
38
- });
39
- } else {
40
- this.setState({ anno: { ...this.props.anno } });
41
- }
42
- }
43
-
44
- componentDidUpdate(prevProps) {
45
- if (prevProps.anno !== this.props.anno) {
46
- this.setState({ anno: { ...this.props.anno } });
47
- }
48
- }
49
-
50
- /**************
51
- * ANNO EVENTS *
52
- ***************/
53
- onMouseMove(e) {
54
- switch (this.state.anno.mode) {
55
- case modes.MOVE:
56
- this.move(
57
- e.movementX / this.props.svg.scale,
58
- e.movementY / this.props.svg.scale,
59
- );
60
- break;
61
- default:
62
- break;
63
- }
64
- }
65
-
66
- onMouseUp(e) {
67
- switch (this.state.anno.mode) {
68
- case modes.MOVE:
69
- if (e.button === 0) {
70
- this.performedAction(this.state.anno, canvasActions.ANNO_MOVED);
71
- this.requestModeChange(this.state.anno, modes.VIEW);
72
- }
73
- break;
74
- default:
75
- break;
76
- }
77
- }
78
-
79
- onMouseDown(e) {
80
- switch (this.state.anno.mode) {
81
- case modes.VIEW:
82
- if (e.button === 0) {
83
- if (this.props.isSelected) {
84
- this.requestModeChange(this.state.anno, modes.MOVE);
85
- }
86
- }
87
- break;
88
- default:
89
- break;
90
- }
91
- }
92
- /**************
93
- * NODE EVENTS *
94
- ***************/
95
-
96
- onNodeMouseUp(e, idx) {
97
- switch (this.state.anno.mode) {
98
- case modes.EDIT:
99
- this.performedAction(this.state.anno, canvasActions.ANNO_EDITED);
100
- this.requestModeChange(this.state.anno, modes.VIEW);
101
- break;
102
- default:
103
- break;
104
- }
105
- }
106
-
107
- onNodeMouseDown(e, idx) {
108
- switch (this.state.anno.mode) {
109
- case modes.CREATE:
110
- if (e.button === 2) {
111
- let newAnnoData = [...this.state.anno.data];
112
- newAnnoData.push({
113
- x: newAnnoData[idx].x,
114
- y: newAnnoData[idx].y,
115
- });
116
- const newAnno = {
117
- ...this.state.anno,
118
- data: newAnnoData,
119
- selectedNode: this.state.anno.selectedNode + 1,
120
- };
121
- this.setState({
122
- anno: newAnno,
123
- });
124
- this.performedAction(newAnno, canvasActions.ANNO_CREATED_NODE);
125
- }
126
- break;
127
- case modes.VIEW:
128
- if (e.button === 0) {
129
- this.requestModeChange(
130
- {
131
- ...this.state.anno,
132
- selectedNode: idx,
133
- },
134
- modes.EDIT,
135
- );
136
- }
137
- break;
138
- case modes.ADD:
139
- if (e.button === 0) {
140
- this.removeNode(e, idx)
141
- }
142
- break;
143
- default:
144
- break;
145
- }
146
- }
147
-
148
- onNodeMouseMove(e, idx) {
149
- switch (this.state.anno.mode) {
150
- case modes.CREATE:
151
- this.updateAnnoByMousePos(e, idx);
152
- break;
153
- case modes.EDIT:
154
- e.stopPropagation();
155
- this.updateAnnoByMousePos(e, idx);
156
- break;
157
- default:
158
- break;
159
- }
160
- }
161
-
162
- onNodeDoubleClick(e, idx) {
163
- switch (this.state.anno.mode) {
164
- case modes.CREATE:
165
- this.performedAction(
166
- this.state.anno,
167
- canvasActions.ANNO_CREATED_FINAL_NODE,
168
- );
169
- break;
170
- default:
171
- break;
172
- }
173
- }
174
-
175
- /**************
176
- * EDGE EVENTS *
177
- ***************/
178
- onEdgeMouseDown(e, idx) {
179
- switch (this.state.anno.mode) {
180
- case modes.ADD:
181
- this.addNode(e, idx);
182
- break;
183
- case modes.VIEW:
184
- if (e.button === 0) {
185
- this.requestModeChange(this.state.anno, modes.MOVE);
186
- }
187
- break;
188
- default:
189
- break;
190
- }
191
- }
192
-
193
- /*************
194
- * LOGIC *
195
- *************/
196
- performedAction(anno, pAction) {
197
- if (this.props.onAction) {
198
- this.props.onAction(anno, pAction);
199
- }
200
- }
201
-
202
- toPolygonStr(data) {
203
- return data
204
- .map((e) => {
205
- return `${e.x},${e.y}`;
206
- })
207
- .join(" ");
208
- }
209
-
210
- requestModeChange(anno, mode) {
211
- this.props.onModeChangeRequest(anno, mode);
212
- }
213
-
214
- move(movementX, movementY) {
215
- this.setState({
216
- anno: {
217
- ...this.state.anno,
218
- data: transform.move(this.state.anno.data, movementX, movementY),
219
- },
220
- });
221
- }
222
-
223
- addNode(e, idx) {
224
- const mPos = mouse.getMousePosition(e, this.props.svg);
225
- let newAnnoData = this.state.anno.data.slice(0, idx);
226
- newAnnoData.push(mPos);
227
- const oldRest = this.state.anno.data.slice(idx);
228
- const newAnno = {
229
- ...this.state.anno,
230
- data: newAnnoData.concat(oldRest),
231
- };
232
- this.setState({ anno: newAnno });
233
- this.performedAction(newAnno, canvasActions.ANNO_ADDED_NODE);
234
- }
235
-
236
- removeNode(e, idx) {
237
- let newAnnoData = [...this.state.anno.data]
238
- newAnnoData.splice(idx, 1)
239
- const newAnno = {
240
- ...this.state.anno,
241
- data: newAnnoData,
242
- };
243
- this.setState({ anno: newAnno });
244
- this.performedAction(newAnno, canvasActions.ANNO_REMOVED_SPECIFIC_NODE);
245
- }
246
-
247
- removeLastNode() {
248
- const newAnno = {
249
- ...this.state.anno,
250
- data: [...this.state.anno.data.slice(0, this.state.anno.data.length - 1)],
251
- selectedNode: this.state.anno.selectedNode - 1,
252
- };
253
- this.setState({ anno: newAnno });
254
- this.performedAction(newAnno, canvasActions.ANNO_REMOVED_NODE);
255
- }
256
-
257
- updateAnnoByMousePos(e, idx) {
258
- const mousePos = mouse.getMousePosition(e, this.props.svg);
259
- let newAnnoData = [...this.state.anno.data];
260
- newAnnoData[idx].x = mousePos.x;
261
- newAnnoData[idx].y = mousePos.y;
262
- this.setState({
263
- anno: {
264
- ...this.state.anno,
265
- data: newAnnoData,
266
- },
267
- });
268
- }
269
-
270
- getResult() {
271
- return this.state.anno;
272
- }
273
-
274
- /*************
275
- * RENDERING *
276
- **************/
277
-
278
- renderNodes() {
279
- if (!this.props.isSelected) return null;
280
- switch (this.state.anno.mode) {
281
- case modes.MOVE:
282
- return null;
283
- case modes.EDIT:
284
- case modes.CREATE:
285
- return (
286
- <Node
287
- anno={this.state.anno.data}
288
- idx={this.state.anno.selectedNode}
289
- key={this.state.anno.selectedNode}
290
- style={this.props.style}
291
- className={this.props.className}
292
- isSelected={this.props.isSelected}
293
- mode={this.state.anno.mode}
294
- svg={this.props.svg}
295
- onMouseDown={(e, idx) => this.onNodeMouseDown(e, idx)}
296
- onMouseUp={(e, idx) => this.onNodeMouseUp(e, idx)}
297
- onDoubleClick={(e, idx) => this.onNodeDoubleClick(e, idx)}
298
- onMouseMove={(e, idx) => this.onNodeMouseMove(e, idx)}
299
- />
300
- );
301
- default:
302
- return this.state.anno.data.map((e, idx) => {
303
- return (
304
- <Node
305
- anno={this.state.anno.data}
306
- idx={idx}
307
- key={idx}
308
- style={this.props.style}
309
- className={this.props.className}
310
- isSelected={this.props.isSelected}
311
- mode={this.state.anno.mode}
312
- svg={this.props.svg}
313
- onMouseDown={(e, idx) => this.onNodeMouseDown(e, idx)}
314
- onMouseUp={(e, idx) => this.onNodeMouseUp(e, idx)}
315
- onDoubleClick={(e, idx) => this.onNodeDoubleClick(e, idx)}
316
- onMouseMove={(e, idx) => this.onNodeMouseMove(e, idx)}
317
- />
318
- );
319
- });
320
- }
321
- }
322
-
323
- renderEdges() {
324
- if (!this.props.isSelected) return null;
325
- switch (this.state.anno.mode) {
326
- case modes.VIEW:
327
- case modes.ADD:
328
- let edges = this.state.anno.data.map((e, idx) => {
329
- return (
330
- <Edge
331
- anno={this.state.anno.data}
332
- idx={idx}
333
- key={idx}
334
- style={this.props.style}
335
- className={this.props.className}
336
- isSelected={this.props.isSelected}
337
- onMouseDown={(e, idx) => {
338
- this.onEdgeMouseDown(e, idx);
339
- }}
340
- />
341
- );
342
- });
343
- edges.push(
344
- <Edge
345
- anno={this.state.anno.data}
346
- closingEdge={true}
347
- key={edges.length}
348
- idx={0}
349
- style={this.props.style}
350
- className={this.props.className}
351
- isSelected={this.props.isSelected}
352
- onMouseDown={(e, idx) => {
353
- this.onEdgeMouseDown(e, idx);
354
- }}
355
- />,
356
- );
357
- return edges;
358
- default:
359
- return null;
360
- }
361
- }
362
-
363
- renderPolygon() {
364
- return (
365
- <polygon
366
- points={this.toPolygonStr(this.state.anno.data)}
367
- fill="none"
368
- stroke="purple"
369
- style={this.props.style}
370
- className={this.props.className}
371
- />
372
- );
373
- }
374
-
375
- renderInfSelectionArea() {
376
- switch (this.state.anno.mode) {
377
- case modes.MOVE:
378
- return <InfSelectionArea enable={true} svg={this.props.svg} />;
379
- default:
380
- return null;
381
- }
382
- }
383
-
384
- render() {
385
- if (this.state.anno) {
386
- return (
387
- <g
388
- onMouseMove={(e) => this.onMouseMove(e)}
389
- onMouseUp={(e) => this.onMouseUp(e)}
390
- onMouseDown={(e) => this.onMouseDown(e)}
391
- >
392
- {this.renderPolygon()}
393
- {this.renderEdges()}
394
- {this.renderNodes()}
395
- {this.renderInfSelectionArea()}
396
- </g>
397
- );
398
- } else {
399
- return <g></g>;
400
- }
401
- }
402
- }
403
-
404
- export default Polygon;
@@ -1,30 +0,0 @@
1
- import { Point } from "../../types";
2
- import Annotation from "./Annotation";
3
-
4
- const addNode = (annotation: Annotation, point: Point) => {
5
- const _annotation = { ...annotation };
6
- _annotation.coordinates.push(point);
7
- return _annotation;
8
- };
9
-
10
- const startAnnotimeMeasure = (annotation: Annotation) => {
11
- const _annotation = { ...annotation };
12
- _annotation.timestamp = performance.now();
13
- return _annotation;
14
- };
15
-
16
- const stopAnnotimeMeasure = (annotation: Annotation): [Annotation, number] => {
17
- const _annotation = { ...annotation };
18
- const now = performance.now();
19
- const duration = (now - _annotation.timestamp) / 1000;
20
- _annotation.annoTime += duration;
21
- _annotation.timestamp = now;
22
-
23
- return [_annotation, duration];
24
- };
25
-
26
- export default {
27
- addNode,
28
- startAnnotimeMeasure,
29
- stopAnnotimeMeasure,
30
- };