@searpent/react-image-annotate 2.0.77 → 2.0.78

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 (224) hide show
  1. package/Annotator/exampleImages.js +41 -0
  2. package/Annotator/examplePhotos.js +6980 -0
  3. package/Annotator/index.js +417 -0
  4. package/Annotator/reducers/combine-reducers.js +14 -0
  5. package/Annotator/reducers/convert-expanding-line-to-polygon.js +73 -0
  6. package/{src/Annotator → Annotator}/reducers/fix-twisted.js +3 -5
  7. package/Annotator/reducers/general-reducer.js +1430 -0
  8. package/Annotator/reducers/get-active-image.js +27 -0
  9. package/Annotator/reducers/get-implied-video-regions.js +180 -0
  10. package/Annotator/reducers/history-handler.js +38 -0
  11. package/Annotator/reducers/image-reducer.js +20 -0
  12. package/Annotator/reducers/video-reducer.js +88 -0
  13. package/ClassSelectionMenu/index.js +140 -0
  14. package/Crosshairs/index.js +53 -0
  15. package/DebugSidebarBox/index.js +20 -0
  16. package/DemoSite/Editor.js +194 -0
  17. package/DemoSite/ErrorBoundaryDialog.js +64 -0
  18. package/DemoSite/index.js +40 -0
  19. package/Editor/annotation-plugin/annotation.js +697 -0
  20. package/Editor/index.js +93 -0
  21. package/Editor/readOnly.js +123 -0
  22. package/{src/Editor → Editor}/tools.js +2 -3
  23. package/Errorer/index.js +11 -0
  24. package/FullImageSegmentationAnnotator/index.js +7 -0
  25. package/GroupSelectorSidebarBox/index.js +63 -0
  26. package/GroupsEditorSidebarBox/index.js +138 -0
  27. package/HelpSidebarBox/index.js +58 -0
  28. package/HighlightBox/index.js +102 -0
  29. package/HistorySidebarBox/index.js +71 -0
  30. package/ImageCanvas/index.js +441 -0
  31. package/ImageCanvas/region-tools.js +165 -0
  32. package/{src/ImageCanvas → ImageCanvas}/styles.js +12 -8
  33. package/ImageCanvas/use-mouse.js +180 -0
  34. package/ImageCanvas/use-project-box.js +27 -0
  35. package/ImageCanvas/use-wasd-mode.js +62 -0
  36. package/ImageMask/index.js +133 -0
  37. package/ImageMask/load-image.js +25 -0
  38. package/ImageSelectorSidebarBox/index.js +60 -0
  39. package/KeyframeTimeline/get-time-string.js +27 -0
  40. package/KeyframeTimeline/index.js +233 -0
  41. package/KeyframesSelectorSidebarBox/index.js +93 -0
  42. package/LandingPage/index.js +159 -0
  43. package/Locker/index.js +11 -0
  44. package/MainLayout/RightSidebarItemsWrapper.js +19 -0
  45. package/MainLayout/icon-dictionary.js +104 -0
  46. package/MainLayout/index.js +526 -0
  47. package/{src/MainLayout → MainLayout}/styles.js +6 -7
  48. package/MainLayout/types.js +0 -0
  49. package/MainLayout/use-implied-video-regions.js +13 -0
  50. package/MetadataEditorSidebarBox/index.js +231 -0
  51. package/PageSelector/index.js +180 -0
  52. package/PointDistances/index.js +73 -0
  53. package/PreventScrollToParents/index.js +51 -0
  54. package/RegionLabel/index.js +232 -0
  55. package/{src/RegionLabel → RegionLabel}/styles.js +12 -15
  56. package/RegionSelectAndTransformBoxes/index.js +169 -0
  57. package/RegionSelectorSidebarBox/index.js +254 -0
  58. package/{src/RegionSelectorSidebarBox → RegionSelectorSidebarBox}/styles.js +13 -14
  59. package/RegionShapes/index.js +294 -0
  60. package/RegionTags/index.js +144 -0
  61. package/SettingsDialog/index.js +52 -0
  62. package/SettingsProvider/index.js +60 -0
  63. package/Shortcuts/ShortcutField.js +46 -0
  64. package/Shortcuts/index.js +133 -0
  65. package/ShortcutsManager/index.js +155 -0
  66. package/Sidebar/index.js +69 -0
  67. package/SidebarBoxContainer/index.js +93 -0
  68. package/SmallToolButton/index.js +42 -0
  69. package/TagsSidebarBox/index.js +105 -0
  70. package/TaskDescriptionSidebarBox/index.js +58 -0
  71. package/Theme/index.js +30 -0
  72. package/VideoOrImageCanvasBackground/index.js +151 -0
  73. package/colors.js +14 -0
  74. package/hooks/use-colors.js +127 -0
  75. package/hooks/use-event-callback.js +10 -0
  76. package/hooks/use-exclude-pattern.js +24 -0
  77. package/hooks/use-load-image.js +26 -0
  78. package/hooks/use-window-size.js +46 -0
  79. package/{src/hooks → hooks}/xpattern.js +1 -1
  80. package/index.js +3 -0
  81. package/lib.js +3 -0
  82. package/package.json +1 -1
  83. package/stories.js +5 -0
  84. package/utils/blocks-to-article.js +60 -0
  85. package/{src/utils → utils}/blocks-to-article.test.js +5 -8
  86. package/{src/utils → utils}/default-locked-until.js +2 -1
  87. package/{src/utils → utils}/filter-only-unique.js +1 -1
  88. package/utils/get-from-local-storage.js +7 -0
  89. package/utils/get-hotkey-help-text.js +9 -0
  90. package/utils/get-landmarks-with-transform.js +40 -0
  91. package/utils/photosToImages.js +85 -0
  92. package/utils/regions-groups.js +28 -0
  93. package/utils/regions-to-blocks.js +18 -0
  94. package/utils/saveable-actions-enum.js +3 -0
  95. package/utils/set-in-local-storage.js +3 -0
  96. package/utils/sleep.js +7 -0
  97. package/utils/uuid-to-hash.js +5 -0
  98. package/.babelrc +0 -6
  99. package/.env +0 -1
  100. package/.flowconfig +0 -2
  101. package/.github/workflows/release-on-master.yml +0 -32
  102. package/.github/workflows/test.yml +0 -16
  103. package/.prettierrc +0 -3
  104. package/.releaserc.js +0 -18
  105. package/.storybook/addons.js +0 -2
  106. package/.storybook/config.js +0 -16
  107. package/LICENSE +0 -21
  108. package/public/favicon.ico +0 -0
  109. package/public/index.html +0 -38
  110. package/src/Annotator/bike-pic.png +0 -0
  111. package/src/Annotator/bike-pic2.png +0 -0
  112. package/src/Annotator/dab-keyframes.story.json +0 -1
  113. package/src/Annotator/exampleImages.js +0 -48
  114. package/src/Annotator/examplePhotos.js +0 -7603
  115. package/src/Annotator/index.js +0 -380
  116. package/src/Annotator/index.story.js +0 -899
  117. package/src/Annotator/poses.story.js +0 -150
  118. package/src/Annotator/reducers/combine-reducers.js +0 -7
  119. package/src/Annotator/reducers/convert-expanding-line-to-polygon.js +0 -53
  120. package/src/Annotator/reducers/general-reducer.js +0 -1228
  121. package/src/Annotator/reducers/get-active-image.js +0 -21
  122. package/src/Annotator/reducers/get-implied-video-regions.js +0 -115
  123. package/src/Annotator/reducers/history-handler.js +0 -60
  124. package/src/Annotator/reducers/image-reducer.js +0 -23
  125. package/src/Annotator/reducers/video-reducer.js +0 -85
  126. package/src/Annotator/video.story.js +0 -51
  127. package/src/ClassSelectionMenu/index.js +0 -112
  128. package/src/Crosshairs/index.js +0 -64
  129. package/src/DebugSidebarBox/index.js +0 -36
  130. package/src/DemoSite/Editor.js +0 -235
  131. package/src/DemoSite/ErrorBoundaryDialog.js +0 -34
  132. package/src/DemoSite/index.js +0 -41
  133. package/src/DemoSite/index.story.js +0 -10
  134. package/src/DemoSite/simple-segmentation-example.json +0 -572
  135. package/src/Editor/annotation-plugin/annotation.js +0 -546
  136. package/src/Editor/index.js +0 -50
  137. package/src/Editor/readOnly.js +0 -31
  138. package/src/Errorer/index.js +0 -13
  139. package/src/FullImageSegmentationAnnotator/hard1.story.jpg +0 -0
  140. package/src/FullImageSegmentationAnnotator/hard2.story.jpg +0 -0
  141. package/src/FullImageSegmentationAnnotator/hard3.story.jpg +0 -0
  142. package/src/FullImageSegmentationAnnotator/index.js +0 -7
  143. package/src/FullImageSegmentationAnnotator/index.story.js +0 -177
  144. package/src/FullImageSegmentationAnnotator/orange.story.png +0 -0
  145. package/src/GroupSelectorSidebarBox/index.js +0 -48
  146. package/src/GroupsEditorSidebarBox/index.js +0 -108
  147. package/src/HelpSidebarBox/index.js +0 -43
  148. package/src/HighlightBox/index.js +0 -143
  149. package/src/HistorySidebarBox/index.js +0 -78
  150. package/src/ImageCanvas/dancing-man.story.jpg +0 -0
  151. package/src/ImageCanvas/index.js +0 -515
  152. package/src/ImageCanvas/index.story.js +0 -314
  153. package/src/ImageCanvas/mouse_mask.story.png +0 -0
  154. package/src/ImageCanvas/region-tools.js +0 -171
  155. package/src/ImageCanvas/seves_desk.story.jpg +0 -0
  156. package/src/ImageCanvas/use-mouse.js +0 -168
  157. package/src/ImageCanvas/use-project-box.js +0 -23
  158. package/src/ImageCanvas/use-wasd-mode.js +0 -50
  159. package/src/ImageMask/index.js +0 -127
  160. package/src/ImageMask/load-image.js +0 -32
  161. package/src/ImageSelectorSidebarBox/index.js +0 -54
  162. package/src/KeyframeTimeline/get-time-string.js +0 -25
  163. package/src/KeyframeTimeline/index.js +0 -223
  164. package/src/KeyframesSelectorSidebarBox/index.js +0 -93
  165. package/src/LandingPage/content.md +0 -57
  166. package/src/LandingPage/github-markdown.css +0 -964
  167. package/src/LandingPage/index.js +0 -147
  168. package/src/Locker/index.js +0 -13
  169. package/src/MainLayout/RightSidebarItemsWrapper.js +0 -21
  170. package/src/MainLayout/icon-dictionary.js +0 -79
  171. package/src/MainLayout/index.js +0 -564
  172. package/src/MainLayout/index.story.js +0 -240
  173. package/src/MainLayout/types.js +0 -171
  174. package/src/MainLayout/use-implied-video-regions.js +0 -17
  175. package/src/MetadataEditorSidebarBox/index.js +0 -160
  176. package/src/PageSelector/index.js +0 -159
  177. package/src/PointDistances/index.js +0 -90
  178. package/src/PreventScrollToParents/index.js +0 -48
  179. package/src/PreventScrollToParents/index.story.js +0 -23
  180. package/src/RegionLabel/index.js +0 -236
  181. package/src/RegionSelectAndTransformBoxes/index.js +0 -236
  182. package/src/RegionSelectorSidebarBox/index.js +0 -220
  183. package/src/RegionShapes/index.js +0 -254
  184. package/src/RegionTags/index.js +0 -136
  185. package/src/SettingsDialog/index.js +0 -58
  186. package/src/SettingsProvider/index.js +0 -57
  187. package/src/Shortcuts/ShortcutField.js +0 -44
  188. package/src/Shortcuts/index.js +0 -129
  189. package/src/ShortcutsManager/index.js +0 -162
  190. package/src/Sidebar/index.js +0 -117
  191. package/src/SidebarBoxContainer/index.js +0 -93
  192. package/src/SmallToolButton/index.js +0 -57
  193. package/src/TagsSidebarBox/index.js +0 -93
  194. package/src/TaskDescriptionSidebarBox/index.js +0 -43
  195. package/src/Theme/index.js +0 -36
  196. package/src/VideoOrImageCanvasBackground/index.js +0 -170
  197. package/src/colors.js +0 -32
  198. package/src/hooks/use-colors.js +0 -95
  199. package/src/hooks/use-event-callback.js +0 -11
  200. package/src/hooks/use-exclude-pattern.js +0 -27
  201. package/src/hooks/use-load-image.js +0 -21
  202. package/src/hooks/use-window-size.js +0 -46
  203. package/src/hooks/xpattern.png +0 -0
  204. package/src/index.js +0 -18
  205. package/src/lib.js +0 -7
  206. package/src/screenshot.png +0 -0
  207. package/src/site.css +0 -5
  208. package/src/stories.js +0 -2
  209. package/src/utils/blocks-to-article.js +0 -61
  210. package/src/utils/get-from-local-storage.js +0 -7
  211. package/src/utils/get-hotkey-help-text.js +0 -11
  212. package/src/utils/get-landmarks-with-transform.js +0 -23
  213. package/src/utils/photosToImages.js +0 -67
  214. package/src/utils/regions-groups.js +0 -19
  215. package/src/utils/regions-to-blocks.js +0 -16
  216. package/src/utils/saveable-actions-enum.js +0 -5
  217. package/src/utils/set-in-local-storage.js +0 -6
  218. package/src/utils/sleep.js +0 -3
  219. package/src/utils/uuid-to-hash.js +0 -5
  220. /package/{src/Editor → Editor}/annotation-plugin/annotation.css +0 -0
  221. /package/{src/Errorer → Errorer}/errorer.css +0 -0
  222. /package/{src/Locker → Locker}/locker.css +0 -0
  223. /package/{src/PageSelector → PageSelector}/page-selector.css +0 -0
  224. /package/{src/utils → utils}/next-group-id.js +0 -0
@@ -1,150 +0,0 @@
1
- // @flow
2
-
3
- import React, { useState } from "react"
4
-
5
- import { storiesOf } from "@storybook/react"
6
- import { action as actionAddon } from "@storybook/addon-actions"
7
- import dancingManImage from "../ImageCanvas/dancing-man.story.jpg"
8
- import dabKeyframes from "./dab-keyframes.story.json"
9
- import Annotator from "./"
10
-
11
- const dancingManVideo =
12
- "https://s3.us-east-1.amazonaws.com/asset.workaround.online/developer-samples/how-to-dab.mp4"
13
-
14
- const middlewares = [
15
- (store) => (next) => (action) => {
16
- actionAddon(action.type)(action)
17
- console.log(action)
18
- return next(action)
19
- },
20
- ]
21
-
22
- storiesOf("Annotator (Poses)", module)
23
- .add("Image", () => (
24
- <Annotator
25
- onExit={actionAddon("onExit")}
26
- middlewares={middlewares}
27
- labelImages
28
- enabledTools={["create-keypoints"]}
29
- keypointDefinitions={{
30
- human: {
31
- connections: [
32
- ["head", "sternum"],
33
- ["sternum", "leftElbow"],
34
- ["sternum", "rightElbow"],
35
- ],
36
- landmarks: {
37
- head: {
38
- label: "Head",
39
- color: "#f00",
40
- defaultPosition: [0, -0.05],
41
- },
42
- sternum: {
43
- label: "Torso",
44
- color: "#0f0",
45
- defaultPosition: [0, 0],
46
- },
47
- leftElbow: {
48
- label: "Left Elbow",
49
- color: "#00f",
50
- defaultPosition: [-0.05, 0],
51
- },
52
- rightElbow: {
53
- label: "Right Elbow",
54
- color: "#00f",
55
- defaultPosition: [0.05, 0],
56
- },
57
- },
58
- },
59
- }}
60
- images={[
61
- {
62
- src: dancingManImage,
63
- name: "Dancing Man",
64
- regions: [
65
- {
66
- type: "keypoints",
67
- id: "keypoints1",
68
- keypointsDefinitionId: "human",
69
- highlighted: true,
70
- points: {
71
- head: { x: 0.54, y: 0.2 },
72
- sternum: { x: 0.57, y: 0.3 },
73
- leftElbow: { x: 0.4, y: 0.39 },
74
- rightElbow: { x: 0.7, y: 0.32 },
75
- },
76
- visible: true,
77
- },
78
- ],
79
- },
80
- ]}
81
- />
82
- ))
83
- .add("Video", () => (
84
- <Annotator
85
- onExit={(...props) => {
86
- actionAddon("onExit")(...props)
87
- window.testPropsSavePlease = props
88
- console.log(...props)
89
- }}
90
- labelImages
91
- enabledTools={["create-box", "create-keypoints"]}
92
- videoSrc={dancingManVideo}
93
- keypointDefinitions={{
94
- human: {
95
- connections: [
96
- ["head", "sternum"],
97
- ["sternum", "leftShoulder"],
98
- ["leftShoulder", "leftElbow"],
99
- ["leftElbow", "leftHand"],
100
- ["sternum", "rightShoulder"],
101
- ["rightShoulder", "rightElbow"],
102
- ["rightElbow", "rightHand"],
103
- ],
104
- landmarks: {
105
- head: {
106
- label: "Head",
107
- color: "#f00",
108
- defaultPosition: [0, -0.05],
109
- },
110
- sternum: {
111
- label: "Torso",
112
- color: "#0f0",
113
- defaultPosition: [0, 0],
114
- },
115
- leftShoulder: {
116
- label: "Left Shoulder",
117
- color: "#00f",
118
- defaultPosition: [-0.05, 0],
119
- },
120
- leftHand: {
121
- label: "Left Hand",
122
- color: "#00f",
123
- defaultPosition: [-0.05, 0.05],
124
- },
125
- rightShoulder: {
126
- label: "Right Shoulder",
127
- color: "#00f",
128
- defaultPosition: [0.05, 0],
129
- },
130
- leftElbow: {
131
- label: "Left Elbow",
132
- color: "#00f",
133
- defaultPosition: [-0.08, 0.02],
134
- },
135
- rightElbow: {
136
- label: "Right Elbow",
137
- color: "#00f",
138
- defaultPosition: [0.08, 0.02],
139
- },
140
- rightHand: {
141
- label: "Right Hand",
142
- color: "#00f",
143
- defaultPosition: [0.05, 0.05],
144
- },
145
- },
146
- },
147
- }}
148
- keyframes={dabKeyframes}
149
- />
150
- ))
@@ -1,7 +0,0 @@
1
- export default (...reducers) =>
2
- (state, action) => {
3
- for (const reducer of reducers) {
4
- state = reducer(state, action)
5
- }
6
- return state
7
- }
@@ -1,53 +0,0 @@
1
- // @flow
2
-
3
- function clamp(num, min, max) {
4
- return num <= min ? min : num >= max ? max : num
5
- }
6
-
7
- export default (expandingLine) => {
8
- const expandingWidth = expandingLine.expandingWidth || 0.005
9
- const pointPairs = expandingLine.points.map(({ x, y, angle, width }, i) => {
10
- if (!angle) {
11
- const n =
12
- expandingLine.points[clamp(i + 1, 0, expandingLine.points.length - 1)]
13
- const p =
14
- expandingLine.points[clamp(i - 1, 0, expandingLine.points.length - 1)]
15
- angle = Math.atan2(p.x - n.x, p.y - n.y) + Math.PI / 2
16
- }
17
- const dx = (Math.sin(angle) * (width || expandingWidth)) / 2
18
- const dy = (Math.cos(angle) * (width || expandingWidth)) / 2
19
- return [
20
- { x: x + dx, y: y + dy },
21
- { x: x - dx, y: y - dy },
22
- ]
23
- })
24
- const firstSection = pointPairs.map(([p1, p2]) => p1)
25
- const secondSection = pointPairs.map(([p1, p2]) => p2).asMutable()
26
- secondSection.reverse()
27
-
28
- const newPoints = firstSection.concat(secondSection).map(({ x, y }) => [x, y])
29
-
30
- return {
31
- ...expandingLine,
32
- type: "polygon",
33
- open: false,
34
- points: newPoints,
35
- unfinished: undefined,
36
- candidatePoint: undefined,
37
- }
38
-
39
- // let { expandingWidth = 0.005, points } = region
40
- // expandingWidth = points.slice(-1)[0].width || expandingWidth
41
- // const lastPoint = points.slice(-1)[0]
42
- // return (
43
- // <>
44
- // <polygon
45
- // points={
46
- // .map((p) => `${p.x * iw} ${p.y * ih}`)
47
- // .join(" ")}
48
- // return {
49
- // ...expandingLine,
50
- // unfinished: undefined,
51
- // candidatePoint: undefined,
52
- // }
53
- }