@searpent/react-image-annotate 2.0.76 → 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/{src/Editor → Editor}/annotation-plugin/annotation.css +20 -0
  20. package/Editor/annotation-plugin/annotation.js +697 -0
  21. package/Editor/index.js +93 -0
  22. package/Editor/readOnly.js +123 -0
  23. package/{src/Editor → Editor}/tools.js +2 -3
  24. package/Errorer/index.js +11 -0
  25. package/FullImageSegmentationAnnotator/index.js +7 -0
  26. package/GroupSelectorSidebarBox/index.js +63 -0
  27. package/GroupsEditorSidebarBox/index.js +138 -0
  28. package/HelpSidebarBox/index.js +58 -0
  29. package/HighlightBox/index.js +102 -0
  30. package/HistorySidebarBox/index.js +71 -0
  31. package/ImageCanvas/index.js +441 -0
  32. package/ImageCanvas/region-tools.js +165 -0
  33. package/{src/ImageCanvas → ImageCanvas}/styles.js +12 -8
  34. package/ImageCanvas/use-mouse.js +180 -0
  35. package/ImageCanvas/use-project-box.js +27 -0
  36. package/ImageCanvas/use-wasd-mode.js +62 -0
  37. package/ImageMask/index.js +133 -0
  38. package/ImageMask/load-image.js +25 -0
  39. package/ImageSelectorSidebarBox/index.js +60 -0
  40. package/KeyframeTimeline/get-time-string.js +27 -0
  41. package/KeyframeTimeline/index.js +233 -0
  42. package/KeyframesSelectorSidebarBox/index.js +93 -0
  43. package/LandingPage/index.js +159 -0
  44. package/Locker/index.js +11 -0
  45. package/MainLayout/RightSidebarItemsWrapper.js +19 -0
  46. package/MainLayout/icon-dictionary.js +104 -0
  47. package/MainLayout/index.js +526 -0
  48. package/{src/MainLayout → MainLayout}/styles.js +6 -7
  49. package/MainLayout/types.js +0 -0
  50. package/MainLayout/use-implied-video-regions.js +13 -0
  51. package/MetadataEditorSidebarBox/index.js +231 -0
  52. package/PageSelector/index.js +180 -0
  53. package/PointDistances/index.js +73 -0
  54. package/PreventScrollToParents/index.js +51 -0
  55. package/RegionLabel/index.js +232 -0
  56. package/{src/RegionLabel → RegionLabel}/styles.js +12 -15
  57. package/RegionSelectAndTransformBoxes/index.js +169 -0
  58. package/RegionSelectorSidebarBox/index.js +254 -0
  59. package/{src/RegionSelectorSidebarBox → RegionSelectorSidebarBox}/styles.js +13 -14
  60. package/RegionShapes/index.js +294 -0
  61. package/RegionTags/index.js +144 -0
  62. package/SettingsDialog/index.js +52 -0
  63. package/SettingsProvider/index.js +60 -0
  64. package/Shortcuts/ShortcutField.js +46 -0
  65. package/Shortcuts/index.js +133 -0
  66. package/ShortcutsManager/index.js +155 -0
  67. package/Sidebar/index.js +69 -0
  68. package/SidebarBoxContainer/index.js +93 -0
  69. package/SmallToolButton/index.js +42 -0
  70. package/TagsSidebarBox/index.js +105 -0
  71. package/TaskDescriptionSidebarBox/index.js +58 -0
  72. package/Theme/index.js +30 -0
  73. package/VideoOrImageCanvasBackground/index.js +151 -0
  74. package/colors.js +14 -0
  75. package/hooks/use-colors.js +127 -0
  76. package/hooks/use-event-callback.js +10 -0
  77. package/hooks/use-exclude-pattern.js +24 -0
  78. package/hooks/use-load-image.js +26 -0
  79. package/hooks/use-window-size.js +46 -0
  80. package/{src/hooks → hooks}/xpattern.js +1 -1
  81. package/index.js +3 -0
  82. package/lib.js +3 -0
  83. package/package.json +1 -1
  84. package/stories.js +5 -0
  85. package/utils/blocks-to-article.js +60 -0
  86. package/{src/utils → utils}/blocks-to-article.test.js +5 -8
  87. package/{src/utils → utils}/default-locked-until.js +2 -1
  88. package/{src/utils → utils}/filter-only-unique.js +1 -1
  89. package/utils/get-from-local-storage.js +7 -0
  90. package/utils/get-hotkey-help-text.js +9 -0
  91. package/utils/get-landmarks-with-transform.js +40 -0
  92. package/utils/photosToImages.js +85 -0
  93. package/utils/regions-groups.js +28 -0
  94. package/utils/regions-to-blocks.js +18 -0
  95. package/utils/saveable-actions-enum.js +3 -0
  96. package/utils/set-in-local-storage.js +3 -0
  97. package/utils/sleep.js +7 -0
  98. package/utils/uuid-to-hash.js +5 -0
  99. package/.babelrc +0 -6
  100. package/.env +0 -1
  101. package/.flowconfig +0 -2
  102. package/.github/workflows/release-on-master.yml +0 -32
  103. package/.github/workflows/test.yml +0 -16
  104. package/.prettierrc +0 -3
  105. package/.releaserc.js +0 -18
  106. package/.storybook/addons.js +0 -2
  107. package/.storybook/config.js +0 -16
  108. package/LICENSE +0 -21
  109. package/public/favicon.ico +0 -0
  110. package/public/index.html +0 -38
  111. package/src/Annotator/bike-pic.png +0 -0
  112. package/src/Annotator/bike-pic2.png +0 -0
  113. package/src/Annotator/dab-keyframes.story.json +0 -1
  114. package/src/Annotator/exampleImages.js +0 -48
  115. package/src/Annotator/examplePhotos.js +0 -7603
  116. package/src/Annotator/index.js +0 -380
  117. package/src/Annotator/index.story.js +0 -877
  118. package/src/Annotator/poses.story.js +0 -150
  119. package/src/Annotator/reducers/combine-reducers.js +0 -7
  120. package/src/Annotator/reducers/convert-expanding-line-to-polygon.js +0 -53
  121. package/src/Annotator/reducers/general-reducer.js +0 -1228
  122. package/src/Annotator/reducers/get-active-image.js +0 -21
  123. package/src/Annotator/reducers/get-implied-video-regions.js +0 -115
  124. package/src/Annotator/reducers/history-handler.js +0 -60
  125. package/src/Annotator/reducers/image-reducer.js +0 -23
  126. package/src/Annotator/reducers/video-reducer.js +0 -85
  127. package/src/Annotator/video.story.js +0 -51
  128. package/src/ClassSelectionMenu/index.js +0 -112
  129. package/src/Crosshairs/index.js +0 -64
  130. package/src/DebugSidebarBox/index.js +0 -36
  131. package/src/DemoSite/Editor.js +0 -235
  132. package/src/DemoSite/ErrorBoundaryDialog.js +0 -34
  133. package/src/DemoSite/index.js +0 -41
  134. package/src/DemoSite/index.story.js +0 -10
  135. package/src/DemoSite/simple-segmentation-example.json +0 -572
  136. package/src/Editor/annotation-plugin/annotation.js +0 -536
  137. package/src/Editor/index.js +0 -50
  138. package/src/Editor/readOnly.js +0 -21
  139. package/src/Errorer/index.js +0 -13
  140. package/src/FullImageSegmentationAnnotator/hard1.story.jpg +0 -0
  141. package/src/FullImageSegmentationAnnotator/hard2.story.jpg +0 -0
  142. package/src/FullImageSegmentationAnnotator/hard3.story.jpg +0 -0
  143. package/src/FullImageSegmentationAnnotator/index.js +0 -7
  144. package/src/FullImageSegmentationAnnotator/index.story.js +0 -177
  145. package/src/FullImageSegmentationAnnotator/orange.story.png +0 -0
  146. package/src/GroupSelectorSidebarBox/index.js +0 -48
  147. package/src/GroupsEditorSidebarBox/index.js +0 -108
  148. package/src/HelpSidebarBox/index.js +0 -43
  149. package/src/HighlightBox/index.js +0 -143
  150. package/src/HistorySidebarBox/index.js +0 -78
  151. package/src/ImageCanvas/dancing-man.story.jpg +0 -0
  152. package/src/ImageCanvas/index.js +0 -515
  153. package/src/ImageCanvas/index.story.js +0 -314
  154. package/src/ImageCanvas/mouse_mask.story.png +0 -0
  155. package/src/ImageCanvas/region-tools.js +0 -171
  156. package/src/ImageCanvas/seves_desk.story.jpg +0 -0
  157. package/src/ImageCanvas/use-mouse.js +0 -168
  158. package/src/ImageCanvas/use-project-box.js +0 -23
  159. package/src/ImageCanvas/use-wasd-mode.js +0 -50
  160. package/src/ImageMask/index.js +0 -127
  161. package/src/ImageMask/load-image.js +0 -32
  162. package/src/ImageSelectorSidebarBox/index.js +0 -54
  163. package/src/KeyframeTimeline/get-time-string.js +0 -25
  164. package/src/KeyframeTimeline/index.js +0 -223
  165. package/src/KeyframesSelectorSidebarBox/index.js +0 -93
  166. package/src/LandingPage/content.md +0 -57
  167. package/src/LandingPage/github-markdown.css +0 -964
  168. package/src/LandingPage/index.js +0 -147
  169. package/src/Locker/index.js +0 -13
  170. package/src/MainLayout/RightSidebarItemsWrapper.js +0 -21
  171. package/src/MainLayout/icon-dictionary.js +0 -79
  172. package/src/MainLayout/index.js +0 -564
  173. package/src/MainLayout/index.story.js +0 -240
  174. package/src/MainLayout/types.js +0 -171
  175. package/src/MainLayout/use-implied-video-regions.js +0 -17
  176. package/src/MetadataEditorSidebarBox/index.js +0 -160
  177. package/src/PageSelector/index.js +0 -159
  178. package/src/PointDistances/index.js +0 -90
  179. package/src/PreventScrollToParents/index.js +0 -48
  180. package/src/PreventScrollToParents/index.story.js +0 -23
  181. package/src/RegionLabel/index.js +0 -236
  182. package/src/RegionSelectAndTransformBoxes/index.js +0 -236
  183. package/src/RegionSelectorSidebarBox/index.js +0 -220
  184. package/src/RegionShapes/index.js +0 -254
  185. package/src/RegionTags/index.js +0 -136
  186. package/src/SettingsDialog/index.js +0 -58
  187. package/src/SettingsProvider/index.js +0 -57
  188. package/src/Shortcuts/ShortcutField.js +0 -44
  189. package/src/Shortcuts/index.js +0 -129
  190. package/src/ShortcutsManager/index.js +0 -162
  191. package/src/Sidebar/index.js +0 -117
  192. package/src/SidebarBoxContainer/index.js +0 -93
  193. package/src/SmallToolButton/index.js +0 -57
  194. package/src/TagsSidebarBox/index.js +0 -93
  195. package/src/TaskDescriptionSidebarBox/index.js +0 -43
  196. package/src/Theme/index.js +0 -36
  197. package/src/VideoOrImageCanvasBackground/index.js +0 -170
  198. package/src/colors.js +0 -32
  199. package/src/hooks/use-colors.js +0 -75
  200. package/src/hooks/use-event-callback.js +0 -11
  201. package/src/hooks/use-exclude-pattern.js +0 -27
  202. package/src/hooks/use-load-image.js +0 -21
  203. package/src/hooks/use-window-size.js +0 -46
  204. package/src/hooks/xpattern.png +0 -0
  205. package/src/index.js +0 -18
  206. package/src/lib.js +0 -7
  207. package/src/screenshot.png +0 -0
  208. package/src/site.css +0 -5
  209. package/src/stories.js +0 -2
  210. package/src/utils/blocks-to-article.js +0 -61
  211. package/src/utils/get-from-local-storage.js +0 -7
  212. package/src/utils/get-hotkey-help-text.js +0 -11
  213. package/src/utils/get-landmarks-with-transform.js +0 -23
  214. package/src/utils/photosToImages.js +0 -67
  215. package/src/utils/regions-groups.js +0 -19
  216. package/src/utils/regions-to-blocks.js +0 -16
  217. package/src/utils/saveable-actions-enum.js +0 -5
  218. package/src/utils/set-in-local-storage.js +0 -6
  219. package/src/utils/sleep.js +0 -3
  220. package/src/utils/uuid-to-hash.js +0 -5
  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,147 +0,0 @@
1
- // @flow
2
-
3
- import React from "react"
4
- import Button from "@mui/material/Button"
5
- import { styled } from "@mui/material/styles"
6
- import { createTheme, ThemeProvider } from "@mui/material/styles"
7
- import * as colors from "@mui/material/colors"
8
- import Grid from "@mui/material/Grid"
9
- import Markdown from "react-markdown"
10
- import GitHubButton from "react-github-btn"
11
- import "./github-markdown.css"
12
- import raw from "raw.macro"
13
- import { Prism as SyntaxHighlighter } from "react-syntax-highlighter"
14
- import { docco } from "react-syntax-highlighter/dist/cjs/languages/hljs/javascript"
15
-
16
- const contentMd = raw("./content.md")
17
- const theme = createTheme()
18
- const RootContainer = styled("div")(({ theme }) => ({
19
- display: "flex",
20
- flexDirection: "column",
21
- alignItems: "center",
22
- }))
23
- const ContentContainer = styled("div")(({ theme }) => ({
24
- width: "100%",
25
- boxSizing: "border-box",
26
- display: "flex",
27
- flexDirection: "column",
28
- maxWidth: 1200,
29
- }))
30
- const Header = styled("div")(({ theme }) => ({
31
- width: "100%",
32
- display: "flex",
33
- justifyContent: "center",
34
- backgroundColor: colors.blue[600],
35
- padding: 8,
36
- boxSizing: "border-box",
37
- }))
38
- const HeaderButton = styled(Button)(({ theme }) => ({
39
- color: "white",
40
- margin: 8,
41
- padding: 16,
42
- paddingLeft: 24,
43
- paddingRight: 24,
44
- }))
45
- const Hero = styled("div")(({ theme }) => ({
46
- display: "flex",
47
- justifyContent: "center",
48
- width: "100%",
49
- backgroundColor: colors.blue[500],
50
- padding: 16,
51
- color: "white",
52
- boxSizing: "border-box",
53
- }))
54
- const HeroMain = styled("div")(({ theme }) => ({
55
- fontSize: 48,
56
- fontWeight: "bold",
57
- paddingTop: 64,
58
- textShadow: "0px 1px 5px rgba(0,0,0,0.3)",
59
- }))
60
- const HeroSub = styled("div")(({ theme }) => ({
61
- paddingTop: 32,
62
- lineHeight: 1.5,
63
- fontSize: 24,
64
- textShadow: "0px 1px 3px rgba(0,0,0,0.2)",
65
- }))
66
- const HeroButtons = styled("div")(({ theme }) => ({
67
- paddingTop: 32,
68
- paddingBottom: 48,
69
- }))
70
- const Section = styled("div")(({ theme }) => ({
71
- display: "flex",
72
- padding: 16,
73
- paddingTop: 32,
74
- flexDirection: "column",
75
- }))
76
-
77
- const CodeBlock = ({ language, value }) => {
78
- return (
79
- <SyntaxHighlighter language={language} style={docco}>
80
- {value}
81
- </SyntaxHighlighter>
82
- )
83
- }
84
-
85
- function flatten(text, child) {
86
- return typeof child === "string"
87
- ? text + child
88
- : React.Children.toArray(child.props.children).reduce(flatten, text)
89
- }
90
-
91
- function HeadingRenderer(props) {
92
- var children = React.Children.toArray(props.children)
93
- var text = children.reduce(flatten, "")
94
- var slug = text.toLowerCase().replace(/\W/g, "-")
95
- return React.createElement("h" + props.level, { id: slug }, props.children)
96
- }
97
-
98
- const LandingPage = () => {
99
- return (
100
- <ThemeProvider theme={theme}>
101
- <RootContainer>
102
- <Header id="about">
103
- <ContentContainer style={{ flexDirection: "row", flexGrow: 1 }}>
104
- <HeaderButton href="#features">Features</HeaderButton>
105
- <HeaderButton href="#usage">Usage</HeaderButton>
106
- <HeaderButton href="#props">Props</HeaderButton>
107
- <HeaderButton href="./demo">Demo Playground</HeaderButton>
108
- </ContentContainer>
109
- </Header>
110
- <Hero>
111
- <ContentContainer>
112
- <HeroMain>React Image Annotate</HeroMain>
113
- <HeroSub>
114
- Powerful React component for image annotations with bounding
115
- boxes, tagging, classification, multiple images and polygon
116
- segmentation.
117
- </HeroSub>
118
- <HeroButtons>
119
- <GitHubButton
120
- href="https://github.com/waoai/react-image-annotate"
121
- data-size="large"
122
- data-show-count="true"
123
- aria-label="Star waoai/react-image-annotate on GitHub"
124
- >
125
- Star
126
- </GitHubButton>
127
- </HeroButtons>
128
- </ContentContainer>
129
- </Hero>
130
- <ContentContainer className="markdown-body">
131
- <Section className="markdown-body">
132
- <Markdown
133
- escapeHtml={false}
134
- source={contentMd}
135
- renderers={{
136
- code: CodeBlock,
137
- heading: HeadingRenderer,
138
- }}
139
- />
140
- </Section>
141
- </ContentContainer>
142
- </RootContainer>
143
- </ThemeProvider>
144
- )
145
- }
146
-
147
- export default LandingPage
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- import LockIcon from '@mui/icons-material/Lock';
3
- import './locker.css';
4
-
5
- function Locker() {
6
- return (
7
- <div className="locker">
8
- <LockIcon />
9
- </div>
10
- );
11
- }
12
-
13
- export default Locker;
@@ -1,21 +0,0 @@
1
- import React, { useEffect, useRef } from 'react';
2
-
3
- function RightSidebarItemsWrapper({ children }) {
4
- const elementRef = useRef();
5
-
6
- useEffect(() => {
7
- if (elementRef) {
8
- const divElement = elementRef.current;
9
- const parentEl = divElement.parentElement;
10
- parentEl.style.overflowY = "scroll";
11
- }
12
- }, [])
13
-
14
- return (
15
- <div ref={elementRef} id="right-sidebar">
16
- {children}
17
- </div>
18
- );
19
- }
20
-
21
- export default RightSidebarItemsWrapper;
@@ -1,79 +0,0 @@
1
- // @flow
2
-
3
- import React from "react"
4
- import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"
5
- import {
6
- faArrowsAlt,
7
- faMousePointer,
8
- faExpandArrowsAlt,
9
- faGripLines,
10
- faTag,
11
- faPaintBrush,
12
- faCrosshairs,
13
- faDrawPolygon,
14
- faVectorSquare,
15
- faHandPaper,
16
- faSearch,
17
- faMask,
18
- faEdit,
19
- faChartLine,
20
- } from "@fortawesome/free-solid-svg-icons"
21
- import FullscreenIcon from "@mui/icons-material/Fullscreen"
22
- import AccessibilityNewIcon from "@mui/icons-material/AccessibilityNew"
23
-
24
- const faStyle = { marginTop: 4, width: 16, height: 16, marginBottom: 4 }
25
-
26
- export const iconDictionary = {
27
- select: () => (
28
- <FontAwesomeIcon
29
- style={faStyle}
30
- size="xs"
31
- fixedWidth
32
- icon={faMousePointer}
33
- />
34
- ),
35
- pan: () => (
36
- <FontAwesomeIcon style={faStyle} size="xs" fixedWidth icon={faHandPaper} />
37
- ),
38
- zoom: () => (
39
- <FontAwesomeIcon style={faStyle} size="xs" fixedWidth icon={faSearch} />
40
- ),
41
- "show-tags": () => (
42
- <FontAwesomeIcon style={faStyle} size="xs" fixedWidth icon={faTag} />
43
- ),
44
- "create-point": () => (
45
- <FontAwesomeIcon style={faStyle} size="xs" fixedWidth icon={faCrosshairs} />
46
- ),
47
- "create-box": () => (
48
- <FontAwesomeIcon
49
- style={faStyle}
50
- size="xs"
51
- fixedWidth
52
- icon={faVectorSquare}
53
- />
54
- ),
55
- "create-polygon": () => (
56
- <FontAwesomeIcon
57
- style={faStyle}
58
- size="xs"
59
- fixedWidth
60
- icon={faDrawPolygon}
61
- />
62
- ),
63
- "create-expanding-line": () => (
64
- <FontAwesomeIcon style={faStyle} size="xs" fixedWidth icon={faGripLines} />
65
- ),
66
- "create-line": () => (
67
- <FontAwesomeIcon style={faStyle} size="xs" fixedWidth icon={faChartLine} />
68
- ),
69
- "show-mask": () => (
70
- <FontAwesomeIcon style={faStyle} size="xs" fixedWidth icon={faMask} />
71
- ),
72
- "modify-allowed-area": () => (
73
- <FontAwesomeIcon style={faStyle} size="xs" fixedWidth icon={faEdit} />
74
- ),
75
- "create-keypoints": AccessibilityNewIcon,
76
- window: FullscreenIcon,
77
- }
78
-
79
- export default iconDictionary