@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
@@ -0,0 +1,194 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import React, { useState } from "react";
3
+ import Button from "@mui/material/Button";
4
+ import { makeStyles } from "@mui/styles";
5
+ import { createTheme, ThemeProvider } from "@mui/material/styles";
6
+ import Select from "react-select";
7
+ import Code from "react-syntax-highlighter";
8
+ import Dialog from "@mui/material/Dialog";
9
+ import DialogTitle from "@mui/material/DialogTitle";
10
+ import DialogContent from "@mui/material/DialogContent";
11
+ import DialogActions from "@mui/material/DialogActions";
12
+ import MonacoEditor from "react-monaco-editor";
13
+ var theme = createTheme();
14
+ var useStyles = makeStyles(function (theme) {
15
+ return {
16
+ editBar: {
17
+ padding: 10,
18
+ borderBottom: "1px solid #ccc",
19
+ backgroundColor: "#f8f8f8",
20
+ display: "flex",
21
+ alignItems: "center",
22
+ "& .button": {
23
+ margin: 5
24
+ }
25
+ },
26
+ select: {
27
+ width: 240,
28
+ fontSize: 14
29
+ },
30
+ contentArea: {
31
+ padding: 10
32
+ },
33
+ specificationArea: {
34
+ padding: 10
35
+ }
36
+ };
37
+ });
38
+
39
+ var loadSavedInput = function loadSavedInput() {
40
+ try {
41
+ return JSON.parse(window.localStorage.getItem("customInput") || "{}");
42
+ } catch (e) {
43
+ return {};
44
+ }
45
+ };
46
+
47
+ export var examples = {
48
+ "Simple Bounding Box": function SimpleBoundingBox() {
49
+ return {
50
+ taskDescription: "Annotate each image according to this _markdown_ specification.",
51
+ // regionTagList: [],
52
+ // regionClsList: ["hotdog"],
53
+ regionTagList: ["has-bun"],
54
+ regionClsList: ["hotdog", "not-hotdog"],
55
+ enabledTools: ["select", "create-box"],
56
+ // showTags: true,
57
+ images: [{
58
+ src: "https://images.unsplash.com/photo-1496905583330-eb54c7e5915a?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=634&q=80",
59
+ name: "hot-dogs-1"
60
+ }, {
61
+ src: "https://www.bianchi.com/wp-content/uploads/2019/07/YPB17I555K.jpg",
62
+ name: "bianchi-oltre-xr4"
63
+ }],
64
+ allowComments: true
65
+ };
66
+ },
67
+ "Simple Segmentation": function SimpleSegmentation() {
68
+ return {
69
+ taskDescription: "Annotate each image according to this _markdown_ specification.",
70
+ regionClsList: ["car", "truck"],
71
+ enabledTools: ["select", "create-polygon"],
72
+ images: [{
73
+ src: "https://images.unsplash.com/photo-1561518776-e76a5e48f731?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=750&q=80",
74
+ name: "car-image-1"
75
+ }]
76
+ };
77
+ },
78
+ Custom: function Custom() {
79
+ return loadSavedInput();
80
+ }
81
+ };
82
+
83
+ var Editor = function Editor(_ref) {
84
+ var onOpenAnnotator = _ref.onOpenAnnotator,
85
+ lastOutput = _ref.lastOutput;
86
+ var c = useStyles();
87
+
88
+ var _useState = useState(),
89
+ _useState2 = _slicedToArray(_useState, 2),
90
+ currentError = _useState2[0],
91
+ changeCurrentError = _useState2[1];
92
+
93
+ var _useState3 = useState(window.localStorage.getItem("customInput") ? "Custom" : "Simple Bounding Box"),
94
+ _useState4 = _slicedToArray(_useState3, 2),
95
+ selectedExample = _useState4[0],
96
+ changeSelectedExample = _useState4[1];
97
+
98
+ var _useState5 = useState(false),
99
+ _useState6 = _slicedToArray(_useState5, 2),
100
+ outputDialogOpen = _useState6[0],
101
+ changeOutputOpen = _useState6[1];
102
+
103
+ var _useState7 = useState(JSON.stringify(examples[selectedExample](), null, " ")),
104
+ _useState8 = _slicedToArray(_useState7, 2),
105
+ currentJSONValue = _useState8[0],
106
+ changeCurrentJSONValue = _useState8[1];
107
+
108
+ return React.createElement(ThemeProvider, {
109
+ theme: theme
110
+ }, React.createElement("div", null, React.createElement("div", {
111
+ className: c.editBar
112
+ }, React.createElement("h3", null, "React Image Annotate"), React.createElement("div", {
113
+ style: {
114
+ flexGrow: 1
115
+ }
116
+ }), React.createElement("div", null, React.createElement("div", {
117
+ style: {
118
+ display: "inline-flex"
119
+ }
120
+ }, React.createElement(Select, {
121
+ className: c.select,
122
+ value: {
123
+ label: selectedExample,
124
+ value: selectedExample
125
+ },
126
+ options: Object.keys(examples).map(function (s) {
127
+ return {
128
+ label: s,
129
+ value: s
130
+ };
131
+ }),
132
+ onChange: function onChange(selectedOption) {
133
+ changeSelectedExample(selectedOption.value);
134
+ changeCurrentJSONValue(JSON.stringify(selectedOption.value === "Custom" ? loadSavedInput() : examples[selectedOption.value](), null, " "));
135
+ }
136
+ })), React.createElement(Button, {
137
+ className: "button",
138
+ disabled: !lastOutput,
139
+ onClick: function onClick() {
140
+ return changeOutputOpen(true);
141
+ }
142
+ }, "View Output"), React.createElement(Button, {
143
+ className: "button",
144
+ variant: "outlined",
145
+ disabled: Boolean(currentError),
146
+ onClick: function onClick() {
147
+ onOpenAnnotator(selectedExample === "Custom" ? loadSavedInput() : examples[selectedExample]);
148
+ }
149
+ }, "Open Annotator"))), React.createElement("div", {
150
+ className: c.contentArea,
151
+ style: currentError ? {
152
+ border: "2px solid #f00"
153
+ } : {
154
+ border: "2px solid #fff"
155
+ }
156
+ }, React.createElement("div", null, React.createElement(MonacoEditor, {
157
+ value: currentJSONValue,
158
+ language: "javascript",
159
+ onChange: function onChange(code) {
160
+ try {
161
+ window.localStorage.setItem("customInput", JSON.stringify(JSON.parse(code)));
162
+ changeCurrentError(null);
163
+ } catch (e) {
164
+ changeCurrentError(e.toString());
165
+ }
166
+
167
+ changeCurrentJSONValue(code);
168
+ },
169
+ width: "100%",
170
+ height: "550px"
171
+ }))), React.createElement("div", {
172
+ className: c.specificationArea
173
+ }, React.createElement("h2", null, "React Image Annotate Format"), React.createElement(Code, {
174
+ language: "javascript"
175
+ }, "\n{\n taskDescription?: string, // markdown\n regionTagList?: Array<string>,\n regionClsList?: Array<string>,\n imageTagList?: Array<string>,\n imageClsList?: Array<string>,\n // all tools are enabled by default\n enabledTools?: Array< \"select\" | \"create-point\" | \"create-box\" | \"create-polygon\" | \"create-line\">,\n selectedImage?: string, // initial selected image\n images: Array<{\n src: string,\n thumbnailSrc?: string, // use this if you are using high-res images\n name: string,\n regions?: Array<{\n id: string | number,\n cls?: string,\n color?: string,\n tags?: Array<string>,\n\n // Point\n type: \"point\",\n x: number, // [0-1] % of image width\n y: number, // [0-1] % of image height\n\n // Bounding Box\n type: \"box\",\n x: number, // [0-1] % of image width\n y: number, // [0-1] % of image height\n w: number, // [0-1] % of image width\n h: number, // [0-1] % of image height\n\n // Polygon\n type: \"polygon\",\n open?: boolean, // should last and first points be connected, default: true\n points: Array<[number, number]> // [0-1] % of image width/height\n }>\n }>,\n}\n")), React.createElement(Dialog, {
176
+ fullScreen: true,
177
+ open: outputDialogOpen
178
+ }, React.createElement(DialogTitle, null, "React Image Annotate Output"), React.createElement(DialogContent, {
179
+ style: {
180
+ minWidth: 400
181
+ }
182
+ }, React.createElement(MonacoEditor, {
183
+ value: JSON.stringify(lastOutput, null, " "),
184
+ language: "javascript",
185
+ width: "100%",
186
+ height: "550px"
187
+ })), React.createElement(DialogActions, null, React.createElement(Button, {
188
+ onClick: function onClick() {
189
+ return changeOutputOpen(false);
190
+ }
191
+ }, "Close")))));
192
+ };
193
+
194
+ export default Editor;
@@ -0,0 +1,64 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
4
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
5
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
6
+ import React, { Component } from "react";
7
+ import Dialog from "@mui/material/Dialog";
8
+ import Button from "@mui/material/Button";
9
+ import DialogTitle from "@mui/material/DialogTitle";
10
+ import DialogContent from "@mui/material/DialogContent";
11
+ import DialogActions from "@mui/material/DialogActions";
12
+
13
+ var ErrorBoundaryDialog =
14
+ /*#__PURE__*/
15
+ function (_Component) {
16
+ _inherits(ErrorBoundaryDialog, _Component);
17
+
18
+ function ErrorBoundaryDialog() {
19
+ var _getPrototypeOf2;
20
+
21
+ var _this;
22
+
23
+ _classCallCheck(this, ErrorBoundaryDialog);
24
+
25
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
26
+ args[_key] = arguments[_key];
27
+ }
28
+
29
+ _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ErrorBoundaryDialog)).call.apply(_getPrototypeOf2, [this].concat(args)));
30
+ _this.state = {
31
+ hasError: false,
32
+ err: ""
33
+ };
34
+ return _this;
35
+ }
36
+
37
+ _createClass(ErrorBoundaryDialog, [{
38
+ key: "componentDidCatch",
39
+ value: function componentDidCatch(err, info) {
40
+ this.setState({
41
+ hasError: true,
42
+ err: err.toString() + "\n\n" + info.componentStack
43
+ });
44
+ }
45
+ }, {
46
+ key: "render",
47
+ value: function render() {
48
+ if (this.state.hasError) {
49
+ return React.createElement(Dialog, {
50
+ open: this.state.hasError,
51
+ onClose: this.props.onClose
52
+ }, React.createElement(DialogTitle, null, "Error Loading Annotator"), React.createElement(DialogContent, null, React.createElement("pre", null, this.state.err)), React.createElement(DialogActions, null, React.createElement(Button, {
53
+ onClick: this.props.onClose
54
+ }, "Close")));
55
+ }
56
+
57
+ return this.props.children;
58
+ }
59
+ }]);
60
+
61
+ return ErrorBoundaryDialog;
62
+ }(Component);
63
+
64
+ export { ErrorBoundaryDialog as default };
@@ -0,0 +1,40 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import React, { useState } from "react";
3
+ import ReactDOM from "react-dom";
4
+ import Editor, { examples } from "./Editor";
5
+ import Annotator from "../Annotator";
6
+ import ErrorBoundaryDialog from "./ErrorBoundaryDialog.js";
7
+ export default (function () {
8
+ var _useState = useState(false),
9
+ _useState2 = _slicedToArray(_useState, 2),
10
+ annotatorOpen = _useState2[0],
11
+ changeAnnotatorOpen = _useState2[1];
12
+
13
+ var _useState3 = useState(examples["Custom"]()),
14
+ _useState4 = _slicedToArray(_useState3, 2),
15
+ annotatorProps = _useState4[0],
16
+ changeAnnotatorProps = _useState4[1];
17
+
18
+ var _useState5 = useState(),
19
+ _useState6 = _slicedToArray(_useState5, 2),
20
+ lastOutput = _useState6[0],
21
+ changeLastOutput = _useState6[1];
22
+
23
+ return React.createElement("div", null, annotatorOpen ? React.createElement(ErrorBoundaryDialog, {
24
+ onClose: function onClose() {
25
+ changeAnnotatorOpen(false);
26
+ }
27
+ }, React.createElement(Annotator, Object.assign({}, annotatorProps, {
28
+ onExit: function onExit(output) {
29
+ delete output["lastAction"];
30
+ changeLastOutput(output);
31
+ changeAnnotatorOpen(false);
32
+ }
33
+ }))) : React.createElement(Editor, {
34
+ lastOutput: lastOutput,
35
+ onOpenAnnotator: function onOpenAnnotator(props) {
36
+ changeAnnotatorProps(props);
37
+ changeAnnotatorOpen(true);
38
+ }
39
+ }));
40
+ });
@@ -83,6 +83,26 @@ button.MuiButtonBase-root.expanded {
83
83
 
84
84
  .ro-table {}
85
85
 
86
+ .ro-continuation_ref {}
87
+
88
+ .ro-cover_clip {}
89
+
90
+ .ro-page_id {}
91
+
92
+ .ro-continuation_mark {}
93
+
94
+ .ro-follow_up_mark {}
95
+
96
+ .ro-article_termination_mark {}
97
+
98
+ .ro-page_splitting_stripe {}
99
+
100
+ .ro-column_id_stripe {}
101
+
102
+ .ro-prev_page_reference {}
103
+
104
+ .ro-section_subcategory {}
105
+
86
106
  .instructions {
87
107
  height: 100%;
88
108
  display: flex;