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
@@ -0,0 +1,21 @@
1
+ import { default as AnnotationTool } from '../models/AnnotationTool';
2
+ import { ReactElement } from 'react';
3
+ import { AllowedTools, AnnotationSettings, Label } from '../types';
4
+ type ToolbarProps = {
5
+ annotationSettings: AnnotationSettings;
6
+ allowedTools: AllowedTools;
7
+ additionalButtons?: ReactElement;
8
+ isImageJunk?: boolean;
9
+ imageLabelIds?: number[];
10
+ isDisabled?: boolean;
11
+ isFullscreen?: boolean;
12
+ possibleLabels: Label[];
13
+ selectedTool: AnnotationTool;
14
+ onImageLabelsChanged?: (selectedImageIds: number[]) => void;
15
+ onSetIsFullscreen?: (isFullscreen: boolean) => void;
16
+ onSetIsImageJunk?: (isImageJunk: boolean) => void;
17
+ onSetSelectedTool?: (selectedTool: AnnotationTool) => void;
18
+ onShouldDeleteSelectedAnnotation?: () => void;
19
+ };
20
+ declare const Toolbar: ({ annotationSettings, allowedTools, additionalButtons, isImageJunk, imageLabelIds, isDisabled, isFullscreen, possibleLabels, selectedTool, onImageLabelsChanged, onSetIsFullscreen, onSetIsImageJunk, onSetSelectedTool, onShouldDeleteSelectedAnnotation, }: ToolbarProps) => import("react/jsx-runtime").JSX.Element;
21
+ export default Toolbar;
@@ -1 +1 @@
1
- import{jsxs as h,jsx as r}from"react/jsx-runtime";import{CRow as u,CCol as m}from"@coreui/react";import C from"./ToolbarItems/AnnoToolSelector.js";import j from"./ToolbarItems/ImageTools.js";import T from"./ToolbarItems/AccessibilityTools.js";const I=({annotationSettings:x,allowedTools:e,additionalButtons:s,isImageJunk:l=!1,imageLabelIds:t=[],isDisabled:o=!1,possibleLabels:c,selectedTool:n,onImageLabelsChanged:f=()=>{},onSetIsImageJunk:i=()=>{},onSetSelectedTool:p=()=>{},onShouldDeleteSelectedAnnotation:a=()=>{}})=>h(u,{xs:{gutterY:2},children:[r(m,{xs:4,sm:2,xxl:1,children:r(j,{canJunk:e.junk,isImageJunk:l,imageLabelIds:t,isDisabled:o,possibleLabels:c,onImageLabelsChanged:f,onSetIsImageJunk:i})}),r(m,{xs:2,sm:1,children:r(T,{isDisabled:o})}),x.canCreate&&r(m,{xs:8,sm:5,md:4,xl:3,xxl:3,children:r(C,{allowedTools:e,isDisabled:o,selectedTool:n,onSetSelectedTool:p,onShouldDeleteSelectedAnnotation:a})}),s&&s]});export{I as default};
1
+ import{jsxs as j,jsx as o}from"react/jsx-runtime";import{CRow as C,CCol as t}from"@coreui/react";import d from"./ToolbarItems/AnnoToolSelector.js";import g from"./ToolbarItems/ImageTools.js";import y from"./ToolbarItems/AccessibilityTools.js";const J=({annotationSettings:a,allowedTools:e,additionalButtons:c,isImageJunk:m=!1,imageLabelIds:f=[],isDisabled:r=!1,isFullscreen:n=!1,possibleLabels:l,selectedTool:s,onImageLabelsChanged:i=()=>{},onSetIsFullscreen:p=()=>{},onSetIsImageJunk:x=()=>{},onSetSelectedTool:u=()=>{},onShouldDeleteSelectedAnnotation:h=()=>{}})=>j(C,{className:"d-flex justify-content-center flex-wrap align-items-center gap-0 py-2 px-4",children:[o(t,{xs:"auto",children:o(g,{canJunk:e.junk,isImageJunk:m,imageLabelIds:f,isDisabled:r,isFullscreen:n,possibleLabels:l,onImageLabelsChanged:i,onSetIsImageJunk:x})}),o(t,{xs:"auto",children:o(y,{isDisabled:r,isFullscreen:n,onSetIsFullscreen:p})}),a.canCreate&&o(t,{xs:"auto",children:o(d,{allowedTools:e,isDisabled:r,selectedTool:s,onSetSelectedTool:u,onShouldDeleteSelectedAnnotation:h})}),c]});export{J as default};
@@ -0,0 +1,7 @@
1
+ type AccessibilityToolsProps = {
2
+ isDisabled?: boolean;
3
+ isFullscreen?: boolean;
4
+ onSetIsFullscreen?: (isFullscreen: boolean) => void;
5
+ };
6
+ declare const AccessibilityTools: ({ isDisabled, isFullscreen, onSetIsFullscreen, }: AccessibilityToolsProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default AccessibilityTools;
@@ -1 +1 @@
1
- import{jsxs as r,jsx as o}from"react/jsx-runtime";import{CButtonGroup as e,CButton as n}from"@coreui/react";import{faQuestion as l}from"@fortawesome/free-solid-svg-icons";import{FontAwesomeIcon as a}from"@fortawesome/react-fontawesome";import{useState as m}from"react";import c from"./InstructionsModal.js";const x=({isDisabled:t=!1})=>{const[i,s]=m(!1);return r(e,{role:"group","aria-label":"Basic example",children:[o(n,{color:"primary",disabled:t,variant:"outline",onClick:()=>s(!0),children:o(a,{icon:l,size:"lg"})}),o(c,{isOpen:i,setIsOpen:s})]})};export{x as default};
1
+ import{jsxs as n,jsx as o}from"react/jsx-runtime";import{CButtonGroup as a}from"@coreui/react";import{faMaximize as c,faQuestion as p}from"@fortawesome/free-solid-svg-icons";import{useState as m}from"react";import u from"./InstructionsModal.js";import s from"../../IconButton.js";const M=({isDisabled:i=!1,isFullscreen:t=!1,onSetIsFullscreen:e=()=>{}})=>{const[l,r]=m(!1);return n(a,{role:"group","aria-label":"Basic example",children:[o(s,{color:"primary",icon:c,isOutline:!t,disabled:i,onClick:()=>e(!t),tooltip:"Toggle fullscreen"}),o(s,{color:"primary",icon:p,isOutline:!0,disabled:i,onClick:()=>r(!0),tooltip:"Open instructions"}),o(u,{isOpen:l,setIsOpen:r})]})};export{M as default};
@@ -0,0 +1,11 @@
1
+ import { default as AnnotationTool } from '../../models/AnnotationTool';
2
+ import { AllowedTools } from '../../types';
3
+ type AnnoToolSelectorProps = {
4
+ allowedTools: AllowedTools;
5
+ isDisabled?: boolean;
6
+ selectedTool: AnnotationTool;
7
+ onSetSelectedTool: (selectedTool: AnnotationTool) => void;
8
+ onShouldDeleteSelectedAnnotation?: () => void;
9
+ };
10
+ declare const AnnoToolSelector: ({ allowedTools, isDisabled, selectedTool, onSetSelectedTool, onShouldDeleteSelectedAnnotation, }: AnnoToolSelectorProps) => import("react/jsx-runtime").JSX.Element;
11
+ export default AnnoToolSelector;
@@ -1 +1 @@
1
- import{jsxs as p,jsx as r}from"react/jsx-runtime";import{CButtonGroup as l,CButton as n}from"@coreui/react";import{pointIcon as u,lineIcon as f,bBoxIcon as v,polygonIcon as y}from"../../utils/siaIcons.js";import o from"../../models/AnnotationTool.js";import{FontAwesomeIcon as d}from"@fortawesome/react-fontawesome";import{faTrash as x}from"@fortawesome/free-solid-svg-icons";const k=({allowedTools:a,isDisabled:i=!1,selectedTool:t,onSetSelectedTool:c,onShouldDeleteSelectedAnnotation:m=()=>{}})=>p(l,{role:"group","aria-label":"Basic example",children:[a.point&&r(n,{color:"primary",disabled:i,variant:t==o.Point?void 0:"outline",onClick:()=>c(o.Point),children:u()}),a.line&&r(n,{color:"primary",disabled:i,variant:t==o.Line?void 0:"outline",onClick:()=>c(o.Line),children:f()}),a.bbox&&r(n,{color:"primary",disabled:i,variant:t==o.BBox?void 0:"outline",onClick:()=>c(o.BBox),children:v()}),a.polygon&&r(n,{color:"primary",disabled:i,variant:t==o.Polygon?void 0:"outline",onClick:()=>c(o.Polygon),children:y()}),r(n,{color:"primary",variant:"outline",disabled:i,onClick:m,children:r(d,{icon:x,size:"lg"})})]});export{k as default};
1
+ import{jsxs as l,jsx as i}from"react/jsx-runtime";import{CButtonGroup as e}from"@coreui/react";import{pointIcon as c,lineIcon as x,bBoxIcon as u,polygonIcon as g}from"../../utils/siaIcons.js";import o from"../../models/AnnotationTool.js";import{faTrash as y}from"@fortawesome/free-solid-svg-icons";import t from"../../IconButton.js";const k=({allowedTools:r,isDisabled:n=!1,selectedTool:a,onSetSelectedTool:p,onShouldDeleteSelectedAnnotation:m=()=>{}})=>l(e,{role:"group","aria-label":"Basic example",children:[r.point&&i(t,{color:"primary",text:c(),isOutline:a!=o.Point,disabled:n,onClick:()=>p(o.Point),tooltip:"Create Point Annotation",margin:0}),r.line&&i(t,{color:"primary",text:x(),isOutline:a!=o.Line,disabled:n,onClick:()=>p(o.Line),tooltip:"Create Line Annotation",margin:0}),r.bbox&&i(t,{color:"primary",text:u(),isOutline:a!=o.BBox,disabled:n,onClick:()=>p(o.BBox),tooltip:"Create BBox Annotation",margin:0}),r.polygon&&i(t,{color:"primary",text:g(),isOutline:a!=o.Polygon,disabled:n,onClick:()=>p(o.Polygon),tooltip:"Create Polygon Annotation",margin:0}),i(t,{color:"primary",icon:y,isOutline:!0,disabled:n,onClick:m,tooltip:"Delete selected annotation",margin:0})]});export{k as default};
@@ -0,0 +1,11 @@
1
+ import { Label } from '../../../types';
2
+ type ImageLabelInputProps = {
3
+ isDisabled: boolean;
4
+ isVisible: boolean;
5
+ selectedLabelsIds: number[];
6
+ possibleLabels: Label[];
7
+ isMultilabel?: boolean;
8
+ onLabelSelect: (selectedLabelIds: number[]) => void;
9
+ };
10
+ declare const ImageLabelInput: ({ isDisabled, isVisible, selectedLabelsIds, possibleLabels, isMultilabel, onLabelSelect, }: ImageLabelInputProps) => import("react/jsx-runtime").JSX.Element;
11
+ export default ImageLabelInput;
@@ -0,0 +1 @@
1
+ import{jsx as r,jsxs as s}from"react/jsx-runtime";import{useState as C}from"react";import{CTooltip as L,CDropdown as w,CDropdownToggle as v,CDropdownMenu as T,CFormInput as x,CDropdownDivider as y,CDropdownItem as d}from"@coreui/react";import{FontAwesomeIcon as D}from"@fortawesome/react-fontawesome";import{faTag as b}from"@fortawesome/free-solid-svg-icons";import F from"./TagLabel.js";const M=({isDisabled:c,isVisible:m,selectedLabelsIds:t,possibleLabels:n,isMultilabel:p=!1,onLabelSelect:u})=>{const[i,f]=C(""),a=n.filter(e=>e.name.toLowerCase().includes(i.toLowerCase())),g=e=>{let o=[];if(p){o=[...t];const l=t.indexOf(e.id);l===-1?o.push(e.id):o.splice(l,1)}else o=[e.id];u(o)},h=()=>n.filter(o=>t.includes(o.id));return r(L,{content:"Add Image Label",children:s(w,{visible:m,autoClose:!1,children:[r(v,{variant:"outline",caret:!1,color:c?"secondary":"primary",style:{paddingTop:0,paddingBottom:0},as:"div",children:t.length===0?r("div",{style:{marginTop:6},children:r(D,{icon:b})}):h().map(o=>r(F,{name:o.name,color:o.color,size:25,triangleSize:17,style:{marginLeft:1,marginTop:5}},o.name))}),s(T,{children:[r("div",{className:"px-3 py-2",children:r(x,{placeholder:"Filter label...",value:i,onChange:e=>f(e.target.value),autoFocus:!0})}),r(y,{}),a.length>0?a.map(e=>r(d,{onClick:()=>g(e),children:e.name},e.id)):r(d,{disabled:!0,children:"No results"})]})]})})};export{M as default};
@@ -0,0 +1,11 @@
1
+ import { CSSProperties } from 'react';
2
+ type TagLabelProps = {
3
+ name: string;
4
+ color?: string;
5
+ size?: number;
6
+ style?: CSSProperties;
7
+ triangleSize?: number;
8
+ onClick?: () => void;
9
+ };
10
+ declare const TagLabel: ({ name, color, size: bodySize, style, triangleSize, onClick, }: TagLabelProps) => import("react/jsx-runtime").JSX.Element;
11
+ export default TagLabel;
@@ -1 +1 @@
1
- import{jsxs as l,jsx as p}from"react/jsx-runtime";const x=({name:n,color:t="#2185d0",size:o=32,style:s={},triangleSize:e=22,onClick:r})=>{const a={display:"inline-flex",alignItems:"center",backgroundColor:t,color:"#000",height:`${o}px`,fontSize:`${o*.45}px`,padding:"0 1rem 0 0.75rem",borderRadius:"0 0.25rem 0.25rem 0",marginLeft:`${e/1.4}px`,position:"relative",overflow:"visible",cursor:r?"pointer":"default",...s},i={position:"absolute",left:`-${e/2}px`,width:`${e}px`,height:`${e}px`,backgroundColor:t,transform:"rotate(45deg)",zIndex:-1,pointerEvents:"none"};return l("span",{style:a,onClick:r,children:[p("span",{style:i}),n]})};export{x as default};
1
+ import{jsxs as l,jsx as p}from"react/jsx-runtime";const x=({name:n,color:t="#2185d0",size:o=32,style:s={},triangleSize:e=22,onClick:r})=>{const i={display:"inline-flex",alignItems:"center",backgroundColor:t,color:"#000",height:`${o}px`,fontSize:`${o*.45}px`,padding:"0 1rem 0 0.75rem",border:0,borderRadius:"0 0.25rem 0.25rem 0",marginLeft:`${e/1.4}px`,position:"relative",overflow:"visible",cursor:r?"pointer":"default",...s},a={position:"absolute",left:`-${e/2}px`,width:`${e}px`,height:`${e}px`,backgroundColor:t,transform:"rotate(45deg)",zIndex:-1,pointerEvents:"none"};return l("button",{style:i,onClick:r,children:[p("span",{style:a}),n]})};export{x as default};
@@ -0,0 +1,13 @@
1
+ import { Label } from '../../types';
2
+ type ImageToolsProps = {
3
+ canJunk: boolean;
4
+ imageLabelIds?: number[];
5
+ isDisabled?: boolean;
6
+ isFullscreen?: boolean;
7
+ isImageJunk?: boolean;
8
+ possibleLabels: Label[];
9
+ onImageLabelsChanged?: (selectedImageIds: number[]) => void;
10
+ onSetIsImageJunk?: (isImageJunk: boolean) => void;
11
+ };
12
+ declare const ImageTools: ({ canJunk, isDisabled, isFullscreen, isImageJunk, imageLabelIds, possibleLabels, onImageLabelsChanged, onSetIsImageJunk, }: ImageToolsProps) => import("react/jsx-runtime").JSX.Element;
13
+ export default ImageTools;
@@ -1 +1 @@
1
- import{jsxs as p,jsx as o}from"react/jsx-runtime";import{CButtonGroup as s,CPopover as d,CButton as t}from"@coreui/react";import{faTag as f,faBan as u}from"@fortawesome/free-solid-svg-icons";import{FontAwesomeIcon as l}from"@fortawesome/react-fontawesome";import v from"./ImageToolItems/ImageLabel.js";const I=({canJunk:a,isDisabled:e=!1,isImageJunk:r=!1,imageLabelIds:i=[],possibleLabels:n,onImageLabelsChanged:m=()=>{},onSetIsImageJunk:c=()=>{}})=>p(s,{role:"group","aria-label":"Image Tools",children:[o(d,{placement:"bottom",content:o(v,{selectedLabelIds:i,possibleLabels:n,onImageLabelsChanged:m}),style:{"--cui-popover-max-width":"800px"},children:o(t,{color:"primary",variant:"outline",disabled:e,children:o(l,{icon:f,size:"lg"})})}),a&&o(t,{color:"primary",variant:r?void 0:"outline",disabled:e,onClick:()=>c(!r),children:o(l,{icon:u,size:"lg"})})]});export{I as default};
1
+ import{jsxs as n,jsx as r}from"react/jsx-runtime";import{CButtonGroup as c}from"@coreui/react";import{faBan as b}from"@fortawesome/free-solid-svg-icons";import{useState as I,useEffect as d}from"react";import g from"./ImageToolItems/ImageLabelInput.js";import L from"../../IconButton.js";const S=({canJunk:a,isDisabled:e=!1,isFullscreen:s=!1,isImageJunk:o=!1,imageLabelIds:i=[],possibleLabels:l,onImageLabelsChanged:f=()=>{},onSetIsImageJunk:m=()=>{}})=>{const[p,t]=I(!1);return d(()=>{t(!1)},[s]),n(c,{role:"group","aria-label":"Image Tools",children:[l&&r(g,{isDisabled:e,isMultilabel:!0,isVisible:p,selectedLabelsIds:i,possibleLabels:l,onLabelSelect:u=>{t(!1),f(u)}}),a&&r(L,{color:"primary",icon:b,isOutline:!o,disabled:e,onClick:()=>m(!o),tooltip:"Junk image"})]})};export{S as default};
@@ -0,0 +1,2 @@
1
+ declare const Instructions: () => import("react/jsx-runtime").JSX.Element;
2
+ export default Instructions;
@@ -0,0 +1,6 @@
1
+ type InstructionsModalProps = {
2
+ isOpen: boolean;
3
+ setIsOpen: (boolean: any) => void;
4
+ };
5
+ declare const InstructionsModal: ({ isOpen, setIsOpen }: InstructionsModalProps) => import("react/jsx-runtime").JSX.Element;
6
+ export default InstructionsModal;
@@ -0,0 +1,5 @@
1
+ export * from './types';
2
+ export { default as IconButton } from './IconButton';
3
+ export { default as Sia } from './Sia';
4
+ export { default as transform } from './utils/transform';
5
+ export { default as TagLabel } from './Toolbar/ToolbarItems/ImageToolItems/TagLabel';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- /* empty css *//* empty css */import{default as e}from"./Canvas.js";import{default as s}from"./Sia.js";import{default as l}from"./Sia2.js";import{default as d}from"./siaDummyData.js";import{default as n}from"./utils/transform.js";import{default as i}from"./utils/annoConversion.js";import{default as c}from"./types/canvasActions.js";import{default as C}from"./types/toolbarEvents.js";import{default as T}from"./types/tools.js";import{default as A}from"./filterTools.js";import{default as E}from"./types/notificationType.js";export{e as Canvas,s as Sia,l as Sia2,i as annoConversion,c as canvasActions,d as dummyData,A as filterTools,E as notificationType,C as toolbarEvents,T as tools,n as transform};
1
+ /* empty css *//* empty css */import{default as e}from"./IconButton.js";import{default as m}from"./Sia.js";import{default as l}from"./utils/transform.js";import{default as u}from"./Toolbar/ToolbarItems/ImageToolItems/TagLabel.js";export{e as IconButton,m as Sia,u as TagLabel,l as transform};
@@ -0,0 +1,11 @@
1
+ declare enum AnnotationMode {
2
+ VIEW = 0,
3
+ EDIT = 1,
4
+ CREATE = 2,
5
+ MOVE = 3,
6
+ ADD = 4,
7
+ CAMERA_MOVE = 5,
8
+ EDIT_LABEL = 6,
9
+ DELETED = 7
10
+ }
11
+ export default AnnotationMode;
@@ -0,0 +1,8 @@
1
+ declare enum AnnotationStatus {
2
+ CREATING = 0,// during creation of line / polygon
3
+ CREATED = 1,// created, but not loaded from the server
4
+ DELETED = 2,
5
+ LOADED = 3,// loaded using props (initialAnnotations)
6
+ CHANGED = 4
7
+ }
8
+ export default AnnotationStatus;
@@ -0,0 +1,7 @@
1
+ declare enum AnnotationTool {
2
+ BBox = 0,
3
+ Polygon = 1,
4
+ Point = 2,
5
+ Line = 3
6
+ }
7
+ export default AnnotationTool;
@@ -0,0 +1,28 @@
1
+ declare enum CanvasAction {
2
+ ANNO_DELETED = 0,
3
+ ANNO_SELECTED = 1,
4
+ ANNO_CREATED = 2,
5
+ ANNO_MOVED = 3,
6
+ ANNO_ENTER_MOVE_MODE = 4,
7
+ ANNO_EDITED = 5,
8
+ ANNO_ENTER_EDIT_MODE = 6,
9
+ ANNO_ADDED_NODE = 7,
10
+ ANNO_REMOVED_NODE = 8,
11
+ ANNO_LABEL_UPDATE = 9,
12
+ ANNO_CREATED_NODE = 10,
13
+ ANNO_CREATED_FINAL_NODE = 11,
14
+ ANNO_START_CREATING = 12,
15
+ ANNO_COMMENT_UPDATE = 13,
16
+ ANNO_MARK_EXAMPLE = 14,
17
+ ANNO_ENTER_CREATE_MODE = 15,
18
+ CANVAS_SVG_UPDATE = 16,
19
+ CANVAS_UI_CONFIG_UPDATE = 17,
20
+ CANVAS_AUTO_SAVE = 18,
21
+ CANVAS_LABEL_INPUT_CLOSE = 19,
22
+ CANVAS_IMG_LOADED = 20,
23
+ CANVAS_IMGBAR_CLOSE = 21,
24
+ IMG_LABEL_UPDATE = 22,
25
+ IMG_JUNK_UPDATE = 23,
26
+ IMG_ANNO_TIME_UPDATE = 24
27
+ }
28
+ export default CanvasAction;
@@ -0,0 +1,7 @@
1
+ declare enum Direction {
2
+ UP = 0,
3
+ DOWN = 1,
4
+ LEFT = 2,
5
+ RIGHT = 3
6
+ }
7
+ export default Direction;
@@ -0,0 +1,11 @@
1
+ declare enum EditorModes {
2
+ VIEW = 0,
3
+ EDIT = 1,
4
+ CREATE = 2,
5
+ MOVE = 3,
6
+ ADD = 4,
7
+ CAMERA_MOVE = 5,
8
+ EDIT_LABEL = 6,
9
+ DELETED = 7
10
+ }
11
+ export default EditorModes;
@@ -0,0 +1,22 @@
1
+ declare enum KeyAction {
2
+ EDIT_LABEL = 0,
3
+ DELETE_ANNO = 1,
4
+ ENTER_ANNO_ADD_MODE = 2,
5
+ LEAVE_ANNO_ADD_MODE = 3,
6
+ UNDO = 4,
7
+ REDO = 5,
8
+ TRAVERSE_ANNOS = 6,
9
+ TRAVERSE_ANNOS_BACKWARDS = 7,
10
+ CAM_MOVE_UP = 8,
11
+ CAM_MOVE_DOWN = 9,
12
+ CAM_MOVE_LEFT = 10,
13
+ CAM_MOVE_RIGHT = 11,
14
+ CAM_MOVE_STOP = 12,
15
+ COPY_ANNOTATION = 13,
16
+ PASTE_ANNOTATION = 14,
17
+ RECREATE_ANNO = 15,
18
+ DELETE_ANNO_IN_CREATION = 16,
19
+ TOGGLE_ANNO_COMMENT_INPUT = 17,
20
+ TOGGLE_IMAGE_JUNK = 18
21
+ }
22
+ export default KeyAction;
@@ -1 +1 @@
1
- var _=(E=>(E[E.EDIT_LABEL=0]="EDIT_LABEL",E[E.DELETE_ANNO=1]="DELETE_ANNO",E[E.ENTER_ANNO_ADD_MODE=2]="ENTER_ANNO_ADD_MODE",E[E.LEAVE_ANNO_ADD_MODE=3]="LEAVE_ANNO_ADD_MODE",E[E.UNDO=4]="UNDO",E[E.REDO=5]="REDO",E[E.TRAVERSE_ANNOS=6]="TRAVERSE_ANNOS",E[E.CAM_MOVE_UP=7]="CAM_MOVE_UP",E[E.CAM_MOVE_DOWN=8]="CAM_MOVE_DOWN",E[E.CAM_MOVE_LEFT=9]="CAM_MOVE_LEFT",E[E.CAM_MOVE_RIGHT=10]="CAM_MOVE_RIGHT",E[E.CAM_MOVE_STOP=11]="CAM_MOVE_STOP",E[E.COPY_ANNOTATION=12]="COPY_ANNOTATION",E[E.PASTE_ANNOTATION=13]="PASTE_ANNOTATION",E[E.RECREATE_ANNO=14]="RECREATE_ANNO",E[E.DELETE_ANNO_IN_CREATION=15]="DELETE_ANNO_IN_CREATION",E[E.TOGGLE_ANNO_COMMENT_INPUT=16]="TOGGLE_ANNO_COMMENT_INPUT",E))(_||{});export{_ as default};
1
+ var _=(E=>(E[E.EDIT_LABEL=0]="EDIT_LABEL",E[E.DELETE_ANNO=1]="DELETE_ANNO",E[E.ENTER_ANNO_ADD_MODE=2]="ENTER_ANNO_ADD_MODE",E[E.LEAVE_ANNO_ADD_MODE=3]="LEAVE_ANNO_ADD_MODE",E[E.UNDO=4]="UNDO",E[E.REDO=5]="REDO",E[E.TRAVERSE_ANNOS=6]="TRAVERSE_ANNOS",E[E.TRAVERSE_ANNOS_BACKWARDS=7]="TRAVERSE_ANNOS_BACKWARDS",E[E.CAM_MOVE_UP=8]="CAM_MOVE_UP",E[E.CAM_MOVE_DOWN=9]="CAM_MOVE_DOWN",E[E.CAM_MOVE_LEFT=10]="CAM_MOVE_LEFT",E[E.CAM_MOVE_RIGHT=11]="CAM_MOVE_RIGHT",E[E.CAM_MOVE_STOP=12]="CAM_MOVE_STOP",E[E.COPY_ANNOTATION=13]="COPY_ANNOTATION",E[E.PASTE_ANNOTATION=14]="PASTE_ANNOTATION",E[E.RECREATE_ANNO=15]="RECREATE_ANNO",E[E.DELETE_ANNO_IN_CREATION=16]="DELETE_ANNO_IN_CREATION",E[E.TOGGLE_ANNO_COMMENT_INPUT=17]="TOGGLE_ANNO_COMMENT_INPUT",E[E.TOGGLE_IMAGE_JUNK=18]="TOGGLE_IMAGE_JUNK",E))(_||{});export{_ as default};
@@ -0,0 +1,7 @@
1
+ declare enum NotificationType {
2
+ INFO = 0,
3
+ SUCCESS = 1,
4
+ WARNING = 2,
5
+ ERROR = 3
6
+ }
7
+ export default NotificationType;
@@ -0,0 +1 @@
1
+ var S=(R=>(R[R.INFO=0]="INFO",R[R.SUCCESS=1]="SUCCESS",R[R.WARNING=2]="WARNING",R[R.ERROR=3]="ERROR",R))(S||{});export{S as default};
@@ -0,0 +1,6 @@
1
+ import { default as Annotation } from '../Annotation/logic/Annotation';
2
+ import { default as AnnotationMode } from './AnnotationMode';
3
+ import { default as AnnotationStatus } from './AnnotationStatus';
4
+ import { default as AnnotationTool } from './AnnotationTool';
5
+ import { default as NotificationType } from './NotificationType';
6
+ export { Annotation, AnnotationMode, AnnotationStatus, AnnotationTool, NotificationType };
@@ -1 +1 @@
1
- import{default as a}from"../Annotation/logic/Annotation.js";import{default as e}from"./AnnotationMode.js";import{default as r}from"./AnnotationStatus.js";import{default as l}from"./AnnotationTool.js";export{a as Annotation,e as AnnotationMode,r as AnnotationStatus,l as AnnotationTool};
1
+ import{default as a}from"../Annotation/logic/Annotation.js";import{default as e}from"./AnnotationMode.js";import{default as r}from"./AnnotationStatus.js";import{default as d}from"./AnnotationTool.js";import{default as p}from"./NotificationType.js";export{a as Annotation,e as AnnotationMode,r as AnnotationStatus,d as AnnotationTool,p as NotificationType};
@@ -0,0 +1,40 @@
1
+ import { StoryObj } from '@storybook/react';
2
+ import { AllowedTools } from '../types';
3
+ export declare const ActionsData: {};
4
+ declare const meta: {
5
+ title: string;
6
+ component: ({ additionalButtons, allowedTools: propAllowedTools, polygonOperationResult, annotationSettings: propAnnotationSettings, uiConfig: propUiConfig, defaultAnnotationTool, defaultLabelId, image, isLoading, isPolygonSelectionMode, initialAnnotations, initialImageLabelIds, initialIsImageJunk, possibleLabels, onAnnoCreated, onAnnoCreationFinished, onAnnoChanged, onAnnoDeleted, onImageLabelsChanged, onIsImageJunk, onNotification, onSelectAnnotation, }: {
7
+ additionalButtons?: import('react').ReactElement;
8
+ allowedTools?: AllowedTools;
9
+ polygonOperationResult?: import('..').PolygonOperationResult;
10
+ annotationSettings?: import('..').AnnotationSettings;
11
+ defaultAnnotationTool?: import('../models').AnnotationTool;
12
+ defaultLabelId?: number;
13
+ image?: string;
14
+ isLoading?: boolean;
15
+ isPolygonSelectionMode?: boolean;
16
+ initialAnnotations?: import('..').ExternalAnnotation[];
17
+ initialImageLabelIds?: number[];
18
+ initialIsImageJunk?: boolean;
19
+ possibleLabels: import('..').Label[];
20
+ uiConfig?: import('..').UiConfig;
21
+ onAnnoCreated?: (createdAnno: import('../models').Annotation, allAnnos: import('../models').Annotation[]) => void;
22
+ onAnnoCreationFinished?: (createdAnno: import('../models').Annotation, allAnnos: import('../models').Annotation[]) => void;
23
+ onAnnoChanged?: (changedAnno: import('../models').Annotation, allAnnos: import('../models').Annotation[]) => void;
24
+ onAnnoDeleted?: (deletedAnno: import('../models').Annotation, allAnnos: import('../models').Annotation[]) => void;
25
+ onImageLabelsChanged?: (selectedImageIds: number[]) => void;
26
+ onIsImageJunk?: (isJunk: boolean) => void;
27
+ onNotification?: (notification: import('..').SIANotification) => void;
28
+ onSelectAnnotation?: (annotation: import('../models').Annotation) => void;
29
+ }) => import("react/jsx-runtime").JSX.Element;
30
+ parameters: {
31
+ layout: string;
32
+ };
33
+ tags: string[];
34
+ excludeStories: RegExp;
35
+ args: {};
36
+ };
37
+ export default meta;
38
+ type Story = StoryObj<typeof meta>;
39
+ export declare const BBoxOnly: Story;
40
+ export declare const NoJunk: Story;
@@ -0,0 +1,50 @@
1
+ import { StoryObj } from '@storybook/react';
2
+ import { default as AnnotationTool } from '../../models/AnnotationTool';
3
+ import { AnnotationSettings, UiConfig } from '../../types';
4
+ export declare const ActionsData: {
5
+ onAnnoEvent: import('@vitest/spy').Mock<(...args: any[]) => any>;
6
+ onKeyDown: import('@vitest/spy').Mock<(...args: any[]) => any>;
7
+ onKeyUp: import('@vitest/spy').Mock<(...args: any[]) => any>;
8
+ };
9
+ declare const meta: {
10
+ title: string;
11
+ component: ({ annotations, annotationSettings, defaultLabelId, image, isFullscreen, isImageJunk, isPolygonSelectionMode, polygonOperationResult, possibleLabels, preventScrolling, selectedAnnotation, selectedAnnoTool, toolbarHeight, uiConfig, onAnnoCreated, onAnnoCreationFinished, onAnnoChanged, onAnnoEditing, onNotification, onRequestNewAnnoId, onSelectAnnotation, onSetIsImageJunk, onSetSelectedTool, onShouldDeleteAnno, }: {
12
+ annotations?: import('../../models').Annotation[];
13
+ annotationSettings: AnnotationSettings;
14
+ defaultLabelId?: number;
15
+ image: string;
16
+ isFullscreen?: boolean;
17
+ isImageJunk?: boolean;
18
+ isPolygonSelectionMode?: boolean;
19
+ selectedAnnotation: import('../../models').Annotation | undefined;
20
+ selectedAnnoTool: AnnotationTool;
21
+ toolbarHeight?: number;
22
+ polygonOperationResult?: import('../..').PolygonOperationResult;
23
+ possibleLabels: import('../..').Label[];
24
+ preventScrolling?: boolean;
25
+ uiConfig: UiConfig;
26
+ onAnnoCreated: (createdAnno: import('../../models').Annotation) => void;
27
+ onAnnoCreationFinished: (createdAnno: import('../../models').Annotation, hasAnnotationExisted: boolean) => void;
28
+ onAnnoChanged: (changedAnno: import('../../models').Annotation) => void;
29
+ onAnnoEditing: (annoToEdit: import('../../models').Annotation) => void;
30
+ onNotification?: (notification: import('../..').SIANotification) => void;
31
+ onRequestNewAnnoId: () => number;
32
+ onSelectAnnotation: (annotation?: import('../../models').Annotation) => void;
33
+ onSetIsImageJunk: (newJunkState: boolean) => void;
34
+ onSetSelectedTool: (tool: AnnotationTool) => void;
35
+ onShouldDeleteAnno: (internalAnnoId: number) => void;
36
+ }) => import("react/jsx-runtime").JSX.Element;
37
+ parameters: {
38
+ layout: string;
39
+ };
40
+ tags: string[];
41
+ excludeStories: RegExp;
42
+ args: {};
43
+ };
44
+ export default meta;
45
+ type Story = StoryObj<typeof meta>;
46
+ export declare const Default: Story;
47
+ export declare const WithPoints: Story;
48
+ export declare const WithLines: Story;
49
+ export declare const WithBBoxes: Story;
50
+ export declare const WithPolygonAnnotations: Story;
@@ -0,0 +1,13 @@
1
+ import { default as Annotation } from '../../Annotation/logic/Annotation';
2
+ import { default as AnnotationTool } from '../../models/AnnotationTool';
3
+ import { Label, UiConfig } from '../../types';
4
+ type CanvasProps = {
5
+ annotations?: Annotation[];
6
+ image: string;
7
+ selectedAnnoTool: AnnotationTool;
8
+ possibleLabels: Label[];
9
+ preventScrolling: boolean;
10
+ uiConfig: UiConfig;
11
+ };
12
+ declare const CanvasWithOffset: ({ annotations, image, selectedAnnoTool, possibleLabels, preventScrolling, uiConfig, }: CanvasProps) => import("react/jsx-runtime").JSX.Element;
13
+ export default CanvasWithOffset;
@@ -0,0 +1,36 @@
1
+ import { StoryObj } from '@storybook/react';
2
+ import { default as AnnotationTool } from '../../models/AnnotationTool';
3
+ import { UiConfig } from '../../types';
4
+ export declare const ActionsData: {
5
+ onAnnoEvent: import('@vitest/spy').Mock<(...args: any[]) => any>;
6
+ onKeyDown: import('@vitest/spy').Mock<(...args: any[]) => any>;
7
+ onKeyUp: import('@vitest/spy').Mock<(...args: any[]) => any>;
8
+ };
9
+ declare const meta: {
10
+ title: string;
11
+ component: ({ annotations, image, selectedAnnoTool, possibleLabels, preventScrolling, uiConfig, }: {
12
+ annotations?: import('../../models').Annotation[];
13
+ image: string;
14
+ selectedAnnoTool: AnnotationTool;
15
+ possibleLabels: import('../..').Label[];
16
+ preventScrolling: boolean;
17
+ uiConfig: UiConfig;
18
+ }) => import("react/jsx-runtime").JSX.Element;
19
+ parameters: {
20
+ layout: string;
21
+ };
22
+ tags: string[];
23
+ excludeStories: RegExp;
24
+ args: {
25
+ onAnnoEvent: import('@vitest/spy').Mock<(...args: any[]) => any>;
26
+ onKeyDown: import('@vitest/spy').Mock<(...args: any[]) => any>;
27
+ onKeyUp: import('@vitest/spy').Mock<(...args: any[]) => any>;
28
+ };
29
+ };
30
+ export default meta;
31
+ type Story = StoryObj<typeof meta>;
32
+ export declare const Default: Story;
33
+ export declare const WithPoints: Story;
34
+ export declare const WithLines: Story;
35
+ export declare const WithBBoxes: Story;
36
+ export declare const WithPolygonAnnotations: Story;
@@ -0,0 +1,19 @@
1
+ import { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: ({ defaultLabelId, isVisible, selectedLabelsIds, possibleLabels, isMultilabel, onLabelSelect, }: {
5
+ defaultLabelId?: number;
6
+ isVisible: boolean;
7
+ selectedLabelsIds: number[];
8
+ possibleLabels: import('..').Label[];
9
+ isMultilabel?: boolean;
10
+ onLabelSelect: (selectedLabelIds: number[]) => void;
11
+ }) => import("react/jsx-runtime").JSX.Element;
12
+ argTypes: {};
13
+ parameters: {
14
+ layout: string;
15
+ };
16
+ };
17
+ export default meta;
18
+ type Story = StoryObj<typeof meta>;
19
+ export declare const Default: Story;
@@ -0,0 +1,66 @@
1
+ import { StoryObj } from '@storybook/react';
2
+ import { Label } from '../types';
3
+ export declare const ActionsData: {};
4
+ declare const meta: {
5
+ title: string;
6
+ component: ({ additionalButtons, allowedTools: propAllowedTools, polygonOperationResult, annotationSettings: propAnnotationSettings, uiConfig: propUiConfig, defaultAnnotationTool, defaultLabelId, image, isLoading, isPolygonSelectionMode, initialAnnotations, initialImageLabelIds, initialIsImageJunk, possibleLabels, onAnnoCreated, onAnnoCreationFinished, onAnnoChanged, onAnnoDeleted, onImageLabelsChanged, onIsImageJunk, onNotification, onSelectAnnotation, }: {
7
+ additionalButtons?: import('react').ReactElement;
8
+ allowedTools?: import('..').AllowedTools;
9
+ polygonOperationResult?: import('..').PolygonOperationResult;
10
+ annotationSettings?: import('..').AnnotationSettings;
11
+ defaultAnnotationTool?: import('../models').AnnotationTool;
12
+ defaultLabelId?: number;
13
+ image?: string;
14
+ isLoading?: boolean;
15
+ isPolygonSelectionMode?: boolean;
16
+ initialAnnotations?: import('..').ExternalAnnotation[];
17
+ initialImageLabelIds?: number[];
18
+ initialIsImageJunk?: boolean;
19
+ possibleLabels: Label[];
20
+ uiConfig?: import('..').UiConfig;
21
+ onAnnoCreated?: (createdAnno: import('../models').Annotation, allAnnos: import('../models').Annotation[]) => void;
22
+ onAnnoCreationFinished?: (createdAnno: import('../models').Annotation, allAnnos: import('../models').Annotation[]) => void;
23
+ onAnnoChanged?: (changedAnno: import('../models').Annotation, allAnnos: import('../models').Annotation[]) => void;
24
+ onAnnoDeleted?: (deletedAnno: import('../models').Annotation, allAnnos: import('../models').Annotation[]) => void;
25
+ onImageLabelsChanged?: (selectedImageIds: number[]) => void;
26
+ onIsImageJunk?: (isJunk: boolean) => void;
27
+ onNotification?: (notification: import('..').SIANotification) => void;
28
+ onSelectAnnotation?: (annotation: import('../models').Annotation) => void;
29
+ }) => import("react/jsx-runtime").JSX.Element;
30
+ parameters: {
31
+ layout: string;
32
+ };
33
+ tags: string[];
34
+ excludeStories: RegExp;
35
+ args: {};
36
+ decorators: ((Story: import('storybook/internal/csf').PartialStoryFn<import('@storybook/react').ReactRenderer, {
37
+ additionalButtons?: import('react').ReactElement;
38
+ allowedTools?: import('..').AllowedTools;
39
+ polygonOperationResult?: import('..').PolygonOperationResult;
40
+ annotationSettings?: import('..').AnnotationSettings;
41
+ defaultAnnotationTool?: import('../models').AnnotationTool;
42
+ defaultLabelId?: number;
43
+ image?: string;
44
+ isLoading?: boolean;
45
+ isPolygonSelectionMode?: boolean;
46
+ initialAnnotations?: import('..').ExternalAnnotation[];
47
+ initialImageLabelIds?: number[];
48
+ initialIsImageJunk?: boolean;
49
+ possibleLabels: Label[];
50
+ uiConfig?: import('..').UiConfig;
51
+ onAnnoCreated?: (createdAnno: import('../models').Annotation, allAnnos: import('../models').Annotation[]) => void;
52
+ onAnnoCreationFinished?: (createdAnno: import('../models').Annotation, allAnnos: import('../models').Annotation[]) => void;
53
+ onAnnoChanged?: (changedAnno: import('../models').Annotation, allAnnos: import('../models').Annotation[]) => void;
54
+ onAnnoDeleted?: (deletedAnno: import('../models').Annotation, allAnnos: import('../models').Annotation[]) => void;
55
+ onImageLabelsChanged?: (selectedImageIds: number[]) => void;
56
+ onIsImageJunk?: (isJunk: boolean) => void;
57
+ onNotification?: (notification: import('..').SIANotification) => void;
58
+ onSelectAnnotation?: (annotation: import('../models').Annotation) => void;
59
+ }>) => import("react/jsx-runtime").JSX.Element)[];
60
+ };
61
+ export default meta;
62
+ type Story = StoryObj<typeof meta>;
63
+ /**
64
+ * Minimal SIA example
65
+ */
66
+ export declare const Minimal: Story;
@@ -0,0 +1,8 @@
1
+ import { AnnotationSettings, ExternalAnnotation } from '../../types';
2
+ type DemoWrapperProps = {
3
+ annotations?: ExternalAnnotation[];
4
+ annotationSettings?: AnnotationSettings;
5
+ isLoading?: boolean;
6
+ };
7
+ declare const DemoWrapper: ({ annotations, annotationSettings, isLoading, }: DemoWrapperProps) => import("react/jsx-runtime").JSX.Element;
8
+ export default DemoWrapper;
@@ -0,0 +1,27 @@
1
+ import { StoryObj } from '@storybook/react';
2
+ import { AnnotationSettings } from '../../types';
3
+ export declare const ActionsData: {};
4
+ declare const meta: {
5
+ title: string;
6
+ component: ({ annotations, annotationSettings, isLoading, }: {
7
+ annotations?: import('../..').ExternalAnnotation[];
8
+ annotationSettings?: AnnotationSettings;
9
+ isLoading?: boolean;
10
+ }) => import("react/jsx-runtime").JSX.Element;
11
+ parameters: {
12
+ layout: string;
13
+ };
14
+ tags: string[];
15
+ excludeStories: RegExp;
16
+ args: {};
17
+ };
18
+ export default meta;
19
+ type Story = StoryObj<typeof meta>;
20
+ /**
21
+ * SIA with dummy data
22
+ */
23
+ export declare const Default: Story;
24
+ export declare const WithPolygonAnnotations: Story;
25
+ export declare const WithBBoxAnnotations: Story;
26
+ export declare const WithLineAnnotations: Story;
27
+ export declare const WithPointAnnotations: Story;