box-annotations 4.0.0-beta.8 → 4.0.1-beta.1

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 (208) hide show
  1. package/README.md +7 -57
  2. package/dist/annotations.css +1 -1
  3. package/dist/annotations.js +1 -1
  4. package/i18n/bn-IN.js +6 -0
  5. package/i18n/bn-IN.properties +12 -0
  6. package/i18n/da-DK.js +6 -0
  7. package/i18n/da-DK.properties +12 -0
  8. package/i18n/de-DE.js +6 -0
  9. package/i18n/de-DE.properties +12 -0
  10. package/i18n/en-AU.js +6 -0
  11. package/i18n/en-AU.properties +12 -0
  12. package/i18n/en-CA.js +6 -0
  13. package/i18n/en-CA.properties +12 -0
  14. package/i18n/en-GB.js +6 -0
  15. package/i18n/en-GB.properties +12 -0
  16. package/i18n/en-US.js +6 -0
  17. package/i18n/en-US.properties +12 -0
  18. package/i18n/en-x-pseudo.js +16 -9
  19. package/i18n/en-x-pseudo.properties +23 -9
  20. package/i18n/es-419.js +6 -0
  21. package/i18n/es-419.properties +12 -0
  22. package/i18n/es-ES.js +6 -0
  23. package/i18n/es-ES.properties +12 -0
  24. package/i18n/fi-FI.js +6 -0
  25. package/i18n/fi-FI.properties +12 -0
  26. package/i18n/fr-CA.js +6 -0
  27. package/i18n/fr-CA.properties +12 -0
  28. package/i18n/fr-FR.js +6 -0
  29. package/i18n/fr-FR.properties +12 -0
  30. package/i18n/hi-IN.js +6 -0
  31. package/i18n/hi-IN.properties +12 -0
  32. package/i18n/it-IT.js +6 -0
  33. package/i18n/it-IT.properties +12 -0
  34. package/i18n/ja-JP.js +6 -0
  35. package/i18n/ja-JP.properties +12 -0
  36. package/i18n/json/src/components/Popups/messages.json +1 -1
  37. package/i18n/ko-KR.js +6 -0
  38. package/i18n/ko-KR.properties +12 -0
  39. package/i18n/nb-NO.js +6 -0
  40. package/i18n/nb-NO.properties +12 -0
  41. package/i18n/nl-NL.js +6 -0
  42. package/i18n/nl-NL.properties +12 -0
  43. package/i18n/pl-PL.js +6 -0
  44. package/i18n/pl-PL.properties +12 -0
  45. package/i18n/pt-BR.js +6 -0
  46. package/i18n/pt-BR.properties +12 -0
  47. package/i18n/ru-RU.js +6 -0
  48. package/i18n/ru-RU.properties +12 -0
  49. package/i18n/sv-SE.js +6 -0
  50. package/i18n/sv-SE.properties +12 -0
  51. package/i18n/tr-TR.js +6 -0
  52. package/i18n/tr-TR.properties +12 -0
  53. package/i18n/zh-CN.js +6 -0
  54. package/i18n/zh-CN.properties +12 -0
  55. package/i18n/zh-TW.js +6 -0
  56. package/i18n/zh-TW.properties +12 -0
  57. package/package.json +29 -29
  58. package/src/@types/events.ts +8 -2
  59. package/src/@types/global.ts +1 -0
  60. package/src/@types/model.ts +20 -7
  61. package/src/BoxAnnotations.ts +16 -2
  62. package/src/common/BaseAnnotator.scss +0 -1
  63. package/src/common/BaseAnnotator.ts +125 -19
  64. package/src/common/BaseManager.ts +67 -4
  65. package/src/common/DeselectListener.tsx +21 -0
  66. package/src/common/DeselectManager.tsx +30 -0
  67. package/src/common/useIsListInteractive.ts +10 -0
  68. package/src/common/useMountId.ts +14 -0
  69. package/src/common/useOutsideEvent.ts +9 -4
  70. package/src/common/usePrevious.ts +13 -0
  71. package/src/components/ItemList/ItemList.scss +7 -2
  72. package/src/components/ItemList/ItemList.tsx +45 -26
  73. package/src/components/ItemList/ItemRow.scss +19 -7
  74. package/src/components/ItemList/ItemRow.tsx +33 -12
  75. package/src/components/PointerCapture/PointerCapture.tsx +116 -0
  76. package/src/components/PointerCapture/index.ts +2 -0
  77. package/src/components/Popups/Popper.ts +1 -0
  78. package/src/components/Popups/PopupArrow.scss +91 -0
  79. package/src/components/Popups/PopupBase.scss +12 -81
  80. package/src/components/Popups/PopupBase.tsx +0 -1
  81. package/src/components/Popups/PopupCursor.tsx +1 -1
  82. package/src/components/Popups/PopupDrawingToolbar.scss +76 -0
  83. package/src/components/Popups/PopupDrawingToolbar.tsx +109 -0
  84. package/src/components/Popups/PopupHighlight.scss +39 -0
  85. package/src/components/Popups/PopupHighlight.tsx +97 -0
  86. package/src/components/Popups/PopupHighlightError.scss +23 -0
  87. package/src/components/Popups/PopupHighlightError.tsx +74 -0
  88. package/src/components/Popups/PopupList.scss +1 -4
  89. package/src/components/Popups/PopupList.tsx +2 -2
  90. package/src/components/Popups/PopupReply.tsx +51 -6
  91. package/src/components/Popups/messages.ts +30 -0
  92. package/src/components/ReplyField/ReplyField.scss +6 -1
  93. package/src/components/ReplyField/ReplyField.tsx +43 -42
  94. package/src/components/ReplyField/ReplyFieldContainer.tsx +2 -1
  95. package/src/components/ReplyForm/ReplyButton.tsx +38 -0
  96. package/src/components/ReplyForm/ReplyForm.scss +3 -0
  97. package/src/components/ReplyForm/ReplyForm.tsx +49 -12
  98. package/src/components/ReplyForm/ReplyFormContainer.tsx +6 -4
  99. package/src/constants.js +1 -8
  100. package/src/document/DocumentAnnotator.scss +15 -0
  101. package/src/document/DocumentAnnotator.ts +110 -53
  102. package/src/document/docUtil.ts +61 -0
  103. package/src/drawing/DecoratedDrawingPath.scss +9 -0
  104. package/src/drawing/DecoratedDrawingPath.tsx +43 -0
  105. package/src/drawing/DrawingAnnotations.scss +39 -0
  106. package/src/drawing/DrawingAnnotations.tsx +157 -0
  107. package/src/drawing/DrawingAnnotationsContainer.tsx +66 -0
  108. package/src/drawing/DrawingCreator.scss +9 -0
  109. package/src/drawing/DrawingCreator.tsx +183 -0
  110. package/src/drawing/DrawingCursor.ts +23 -0
  111. package/src/drawing/DrawingList.tsx +60 -0
  112. package/src/drawing/DrawingManager.tsx +15 -0
  113. package/src/drawing/DrawingPath.tsx +17 -0
  114. package/src/drawing/DrawingPathGroup.tsx +52 -0
  115. package/src/drawing/DrawingSVG.tsx +34 -0
  116. package/src/drawing/DrawingSVGGroup.tsx +23 -0
  117. package/src/drawing/DrawingTarget.scss +11 -0
  118. package/src/drawing/DrawingTarget.tsx +100 -0
  119. package/src/drawing/SVGFilterContext.js +5 -0
  120. package/src/drawing/actions.ts +48 -0
  121. package/src/drawing/drawingUtil.ts +106 -0
  122. package/src/drawing/index.ts +2 -0
  123. package/src/highlight/HighlightAnnotations.scss +12 -0
  124. package/src/highlight/HighlightAnnotations.tsx +144 -0
  125. package/src/highlight/HighlightCanvas.scss +9 -0
  126. package/src/highlight/HighlightCanvas.tsx +109 -0
  127. package/src/highlight/HighlightContainer.tsx +64 -0
  128. package/src/highlight/HighlightCreator.scss +12 -0
  129. package/src/highlight/HighlightCreatorManager.ts +79 -0
  130. package/src/highlight/HighlightList.scss +13 -0
  131. package/src/highlight/HighlightList.tsx +92 -0
  132. package/src/highlight/HighlightListener.ts +37 -0
  133. package/src/highlight/HighlightManager.tsx +15 -0
  134. package/src/highlight/HighlightSvg.scss +7 -0
  135. package/src/highlight/HighlightSvg.tsx +18 -0
  136. package/src/highlight/HighlightTarget.scss +5 -0
  137. package/src/highlight/HighlightTarget.tsx +106 -0
  138. package/src/highlight/actions.ts +36 -0
  139. package/src/highlight/highlightUtil.ts +143 -0
  140. package/src/highlight/index.ts +4 -0
  141. package/src/image/ImageAnnotator.scss +20 -0
  142. package/src/image/ImageAnnotator.ts +137 -0
  143. package/src/polyfill.ts +19 -0
  144. package/src/popup/PopupContainer.tsx +50 -0
  145. package/src/popup/PopupLayer.scss +3 -0
  146. package/src/popup/PopupLayer.tsx +103 -0
  147. package/src/popup/PopupManager.tsx +15 -0
  148. package/src/region/RegionAnnotation.scss +4 -0
  149. package/src/region/RegionAnnotation.tsx +15 -16
  150. package/src/region/RegionAnnotations.scss +1 -15
  151. package/src/region/RegionAnnotations.tsx +14 -115
  152. package/src/region/RegionAnnotationsContainer.tsx +24 -0
  153. package/src/region/RegionCreation.scss +17 -0
  154. package/src/region/RegionCreation.tsx +79 -0
  155. package/src/region/RegionCreationContainer.tsx +43 -0
  156. package/src/region/RegionCreationManager.tsx +15 -0
  157. package/src/region/RegionCreator.scss +9 -2
  158. package/src/region/RegionCreator.tsx +50 -71
  159. package/src/region/RegionList.tsx +8 -12
  160. package/src/region/RegionManager.tsx +7 -39
  161. package/src/region/RegionRect.scss +41 -9
  162. package/src/region/RegionRect.tsx +9 -3
  163. package/src/region/index.ts +1 -0
  164. package/src/region/regionUtil.ts +1 -8
  165. package/src/region/transformUtil.ts +28 -0
  166. package/src/store/annotations/actions.ts +1 -0
  167. package/src/store/annotations/reducer.ts +9 -2
  168. package/src/store/annotations/selectors.ts +1 -0
  169. package/src/store/annotations/types.ts +1 -0
  170. package/src/store/common/actions.ts +1 -0
  171. package/src/store/common/reducer.ts +16 -10
  172. package/src/store/common/selectors.ts +1 -0
  173. package/src/store/common/types.ts +3 -0
  174. package/src/store/createRootReducer.ts +4 -0
  175. package/src/store/creator/actions.ts +2 -0
  176. package/src/store/creator/reducer.ts +22 -3
  177. package/src/store/creator/selectors.ts +9 -1
  178. package/src/store/creator/types.ts +18 -3
  179. package/src/store/drawing/actions.ts +10 -0
  180. package/src/store/drawing/index.ts +4 -0
  181. package/src/store/drawing/reducer.ts +50 -0
  182. package/src/store/drawing/selectors.ts +9 -0
  183. package/src/store/drawing/types.ts +7 -0
  184. package/src/store/eventing/active.ts +4 -2
  185. package/src/store/eventing/fetch.ts +8 -0
  186. package/src/store/eventing/init.ts +14 -0
  187. package/src/store/eventing/middleware.ts +21 -3
  188. package/src/store/eventing/mode.ts +7 -0
  189. package/src/store/eventing/staged.ts +56 -0
  190. package/src/store/eventing/status.ts +19 -0
  191. package/src/store/highlight/actions.ts +106 -0
  192. package/src/store/highlight/index.ts +4 -0
  193. package/src/store/highlight/reducer.ts +37 -0
  194. package/src/store/highlight/selectors.ts +12 -0
  195. package/src/store/highlight/types.ts +14 -0
  196. package/src/store/index.ts +2 -0
  197. package/src/store/options/actions.ts +2 -0
  198. package/src/store/options/reducer.ts +17 -1
  199. package/src/store/options/selectors.ts +8 -0
  200. package/src/store/options/types.ts +5 -0
  201. package/src/store/types.ts +5 -1
  202. package/src/store/users/actions.ts +3 -2
  203. package/src/utils/resin.ts +22 -0
  204. package/src/utils/rotate.ts +131 -0
  205. package/src/utils/scroll.ts +45 -0
  206. package/src/utils/util.ts +3 -0
  207. package/src/region/RegionContainer.tsx +0 -49
  208. package/src/utils/polyfill.js +0 -161
@@ -10,8 +10,20 @@ ba.annotationsPost = 投稿
10
10
  ba.annotationsSave = 保存
11
11
  # Button label for cancelling the creation of a description, comment, or reply
12
12
  ba.popups.cancel = キャンセル
13
+ # Button label for adding a comment in the drawing toolbar
14
+ ba.popups.drawing.addComment = コメントを追加
15
+ # Button title for deleting a staged drawing
16
+ ba.popups.drawing.delete = 削除
17
+ # Button title for redoing a staged drawing
18
+ ba.popups.drawing.redo = やり直す
19
+ # Button title for undoing a staged drawing
20
+ ba.popups.drawing.undo = 元に戻す
13
21
  # Prompt message following cursor in region annotations mode
14
22
  ba.popups.popupCursor.regionPrompt = 四角を描いてコメント
23
+ # Popup message for highlight promoter
24
+ ba.popups.popupHighlight.promoter = ハイライトとコメント
25
+ # Prompt message when selection crosses multiple pages
26
+ ba.popups.popupHighlight.restrictedPrompt = コメントは1つのページに制限されています
15
27
  # Prompt message for empty popup list
16
28
  ba.popups.popupList.prompt = 他のユーザーにコメントして通知してください
17
29
  # Button label for creating a description, comment, or reply
@@ -1 +1 @@
1
- [{"id":"ba.popups.cancel","description":"Button label for cancelling the creation of a description, comment, or reply","defaultMessage":"Cancel"},{"id":"ba.popups.post","description":"Button label for creating a description, comment, or reply","defaultMessage":"Post"},{"id":"ba.popups.replyField.placeholder","description":"Placeholder for reply field editor","defaultMessage":"Type a comment..."},{"id":"ba.popups.popupList.prompt","description":"Prompt message for empty popup list","defaultMessage":"Mention someone to notify them"},{"id":"ba.popups.popupCursor.regionPrompt","description":"Prompt message following cursor in region annotations mode","defaultMessage":"Draw a box to comment"}]
1
+ [{"id":"ba.popups.cancel","description":"Button label for cancelling the creation of a description, comment, or reply","defaultMessage":"Cancel"},{"id":"ba.popups.post","description":"Button label for creating a description, comment, or reply","defaultMessage":"Post"},{"id":"ba.popups.drawing.addComment","description":"Button label for adding a comment in the drawing toolbar","defaultMessage":"Add Comment"},{"id":"ba.popups.drawing.delete","description":"Button title for deleting a staged drawing","defaultMessage":"Delete"},{"id":"ba.popups.drawing.redo","description":"Button title for redoing a staged drawing","defaultMessage":"Redo"},{"id":"ba.popups.drawing.undo","description":"Button title for undoing a staged drawing","defaultMessage":"Undo"},{"id":"ba.popups.replyField.placeholder","description":"Placeholder for reply field editor","defaultMessage":"Type a comment..."},{"id":"ba.popups.popupHighlight.promoter","description":"Popup message for highlight promoter","defaultMessage":"Highlight and Comment"},{"id":"ba.popups.popupHighlight.restrictedPrompt","description":"Prompt message when selection crosses multiple pages","defaultMessage":"Comments restricted to single page"},{"id":"ba.popups.popupList.prompt","description":"Prompt message for empty popup list","defaultMessage":"Mention someone to notify them"},{"id":"ba.popups.popupCursor.regionPrompt","description":"Prompt message following cursor in region annotations mode","defaultMessage":"Draw a box to comment"}]
package/i18n/ko-KR.js CHANGED
@@ -5,7 +5,13 @@ export default {
5
5
  "ba.annotationsPost": "게시",
6
6
  "ba.annotationsSave": "저장",
7
7
  "ba.popups.cancel": "취소",
8
+ "ba.popups.drawing.addComment": "코멘트 추가",
9
+ "ba.popups.drawing.delete": "삭제",
10
+ "ba.popups.drawing.redo": "다시 실행",
11
+ "ba.popups.drawing.undo": "실행 취소",
8
12
  "ba.popups.popupCursor.regionPrompt": "코멘트를 입력할 상자 그리기",
13
+ "ba.popups.popupHighlight.promoter": "강조 표시 및 코멘트",
14
+ "ba.popups.popupHighlight.restrictedPrompt": "단일 페이지로 제한된 코멘트",
9
15
  "ba.popups.popupList.prompt": "다른 사용자에게 알리기 위해 멘션 달기",
10
16
  "ba.popups.post": "게시",
11
17
  "ba.popups.replyField.placeholder": "코멘트 입력..."
@@ -10,8 +10,20 @@ ba.annotationsPost = 게시
10
10
  ba.annotationsSave = 저장
11
11
  # Button label for cancelling the creation of a description, comment, or reply
12
12
  ba.popups.cancel = 취소
13
+ # Button label for adding a comment in the drawing toolbar
14
+ ba.popups.drawing.addComment = 코멘트 추가
15
+ # Button title for deleting a staged drawing
16
+ ba.popups.drawing.delete = 삭제
17
+ # Button title for redoing a staged drawing
18
+ ba.popups.drawing.redo = 다시 실행
19
+ # Button title for undoing a staged drawing
20
+ ba.popups.drawing.undo = 실행 취소
13
21
  # Prompt message following cursor in region annotations mode
14
22
  ba.popups.popupCursor.regionPrompt = 코멘트를 입력할 상자 그리기
23
+ # Popup message for highlight promoter
24
+ ba.popups.popupHighlight.promoter = 강조 표시 및 코멘트
25
+ # Prompt message when selection crosses multiple pages
26
+ ba.popups.popupHighlight.restrictedPrompt = 단일 페이지로 제한된 코멘트
15
27
  # Prompt message for empty popup list
16
28
  ba.popups.popupList.prompt = 다른 사용자에게 알리기 위해 멘션 달기
17
29
  # Button label for creating a description, comment, or reply
package/i18n/nb-NO.js CHANGED
@@ -5,7 +5,13 @@ export default {
5
5
  "ba.annotationsPost": "Legg inn",
6
6
  "ba.annotationsSave": "Lagre",
7
7
  "ba.popups.cancel": "Avbryt",
8
+ "ba.popups.drawing.addComment": "Legg til kommentar",
9
+ "ba.popups.drawing.delete": "Slett",
10
+ "ba.popups.drawing.redo": "Gjør om",
11
+ "ba.popups.drawing.undo": "Angre",
8
12
  "ba.popups.popupCursor.regionPrompt": "Tegn en boks for å kommentere",
13
+ "ba.popups.popupHighlight.promoter": "Merk og Kommenter",
14
+ "ba.popups.popupHighlight.restrictedPrompt": "Kommentarer er begrenset til én side",
9
15
  "ba.popups.popupList.prompt": "Nevn noen for å varsle vedkommende",
10
16
  "ba.popups.post": "Legg inn",
11
17
  "ba.popups.replyField.placeholder": "Skriv en kommentar …"
@@ -10,8 +10,20 @@ ba.annotationsPost = Legg inn
10
10
  ba.annotationsSave = Lagre
11
11
  # Button label for cancelling the creation of a description, comment, or reply
12
12
  ba.popups.cancel = Avbryt
13
+ # Button label for adding a comment in the drawing toolbar
14
+ ba.popups.drawing.addComment = Legg til kommentar
15
+ # Button title for deleting a staged drawing
16
+ ba.popups.drawing.delete = Slett
17
+ # Button title for redoing a staged drawing
18
+ ba.popups.drawing.redo = Gjør om
19
+ # Button title for undoing a staged drawing
20
+ ba.popups.drawing.undo = Angre
13
21
  # Prompt message following cursor in region annotations mode
14
22
  ba.popups.popupCursor.regionPrompt = Tegn en boks for å kommentere
23
+ # Popup message for highlight promoter
24
+ ba.popups.popupHighlight.promoter = Merk og Kommenter
25
+ # Prompt message when selection crosses multiple pages
26
+ ba.popups.popupHighlight.restrictedPrompt = Kommentarer er begrenset til én side
15
27
  # Prompt message for empty popup list
16
28
  ba.popups.popupList.prompt = Nevn noen for å varsle vedkommende
17
29
  # Button label for creating a description, comment, or reply
package/i18n/nl-NL.js CHANGED
@@ -5,7 +5,13 @@ export default {
5
5
  "ba.annotationsPost": "Plaatsen",
6
6
  "ba.annotationsSave": "Opslaan",
7
7
  "ba.popups.cancel": "Annuleren",
8
+ "ba.popups.drawing.addComment": "Opmerking toevoegen",
9
+ "ba.popups.drawing.delete": "Verwijderen",
10
+ "ba.popups.drawing.redo": "Opnieuw",
11
+ "ba.popups.drawing.undo": "Ongedaan maken",
8
12
  "ba.popups.popupCursor.regionPrompt": "Teken een vak om een opmerking te plaatsen",
13
+ "ba.popups.popupHighlight.promoter": "Markeringen en opmerkingen plaatsen",
14
+ "ba.popups.popupHighlight.restrictedPrompt": "Opmerkingen beperkt tot enkele pagina",
9
15
  "ba.popups.popupList.prompt": "Noem iemand om die persoon een melding te sturen",
10
16
  "ba.popups.post": "Plaatsen",
11
17
  "ba.popups.replyField.placeholder": "Typ een opmerking..."
@@ -10,8 +10,20 @@ ba.annotationsPost = Plaatsen
10
10
  ba.annotationsSave = Opslaan
11
11
  # Button label for cancelling the creation of a description, comment, or reply
12
12
  ba.popups.cancel = Annuleren
13
+ # Button label for adding a comment in the drawing toolbar
14
+ ba.popups.drawing.addComment = Opmerking toevoegen
15
+ # Button title for deleting a staged drawing
16
+ ba.popups.drawing.delete = Verwijderen
17
+ # Button title for redoing a staged drawing
18
+ ba.popups.drawing.redo = Opnieuw
19
+ # Button title for undoing a staged drawing
20
+ ba.popups.drawing.undo = Ongedaan maken
13
21
  # Prompt message following cursor in region annotations mode
14
22
  ba.popups.popupCursor.regionPrompt = Teken een vak om een opmerking te plaatsen
23
+ # Popup message for highlight promoter
24
+ ba.popups.popupHighlight.promoter = Markeringen en opmerkingen plaatsen
25
+ # Prompt message when selection crosses multiple pages
26
+ ba.popups.popupHighlight.restrictedPrompt = Opmerkingen beperkt tot enkele pagina
15
27
  # Prompt message for empty popup list
16
28
  ba.popups.popupList.prompt = Noem iemand om die persoon een melding te sturen
17
29
  # Button label for creating a description, comment, or reply
package/i18n/pl-PL.js CHANGED
@@ -5,7 +5,13 @@ export default {
5
5
  "ba.annotationsPost": "Opublikuj",
6
6
  "ba.annotationsSave": "Zapisz",
7
7
  "ba.popups.cancel": "Anuluj",
8
+ "ba.popups.drawing.addComment": "Dodaj komentarz",
9
+ "ba.popups.drawing.delete": "Usuń",
10
+ "ba.popups.drawing.redo": "Ponów",
11
+ "ba.popups.drawing.undo": "Cofnij",
8
12
  "ba.popups.popupCursor.regionPrompt": "Narysuj pole, aby skomentować",
13
+ "ba.popups.popupHighlight.promoter": "Wyróżnij i skomentuj",
14
+ "ba.popups.popupHighlight.restrictedPrompt": "Komentarze ograniczone do pojedynczej strony",
9
15
  "ba.popups.popupList.prompt": "Wspomnij kogoś, aby go powiadomić",
10
16
  "ba.popups.post": "Opublikuj",
11
17
  "ba.popups.replyField.placeholder": "Wpisz komentarz..."
@@ -10,8 +10,20 @@ ba.annotationsPost = Opublikuj
10
10
  ba.annotationsSave = Zapisz
11
11
  # Button label for cancelling the creation of a description, comment, or reply
12
12
  ba.popups.cancel = Anuluj
13
+ # Button label for adding a comment in the drawing toolbar
14
+ ba.popups.drawing.addComment = Dodaj komentarz
15
+ # Button title for deleting a staged drawing
16
+ ba.popups.drawing.delete = Usuń
17
+ # Button title for redoing a staged drawing
18
+ ba.popups.drawing.redo = Ponów
19
+ # Button title for undoing a staged drawing
20
+ ba.popups.drawing.undo = Cofnij
13
21
  # Prompt message following cursor in region annotations mode
14
22
  ba.popups.popupCursor.regionPrompt = Narysuj pole, aby skomentować
23
+ # Popup message for highlight promoter
24
+ ba.popups.popupHighlight.promoter = Wyróżnij i skomentuj
25
+ # Prompt message when selection crosses multiple pages
26
+ ba.popups.popupHighlight.restrictedPrompt = Komentarze ograniczone do pojedynczej strony
15
27
  # Prompt message for empty popup list
16
28
  ba.popups.popupList.prompt = Wspomnij kogoś, aby go powiadomić
17
29
  # Button label for creating a description, comment, or reply
package/i18n/pt-BR.js CHANGED
@@ -5,7 +5,13 @@ export default {
5
5
  "ba.annotationsPost": "Publicar",
6
6
  "ba.annotationsSave": "Salvar",
7
7
  "ba.popups.cancel": "Cancelar",
8
+ "ba.popups.drawing.addComment": "Adicionar comentário",
9
+ "ba.popups.drawing.delete": "Excluir",
10
+ "ba.popups.drawing.redo": "Refazer",
11
+ "ba.popups.drawing.undo": "Desfazer",
8
12
  "ba.popups.popupCursor.regionPrompt": "Desenhe uma caixa para comentar",
13
+ "ba.popups.popupHighlight.promoter": "Realçar e comentar",
14
+ "ba.popups.popupHighlight.restrictedPrompt": "Comentários restritos a uma única página",
9
15
  "ba.popups.popupList.prompt": "Mencione alguém para notificá-lo",
10
16
  "ba.popups.post": "Publicar",
11
17
  "ba.popups.replyField.placeholder": "Digite um comentário..."
@@ -10,8 +10,20 @@ ba.annotationsPost = Publicar
10
10
  ba.annotationsSave = Salvar
11
11
  # Button label for cancelling the creation of a description, comment, or reply
12
12
  ba.popups.cancel = Cancelar
13
+ # Button label for adding a comment in the drawing toolbar
14
+ ba.popups.drawing.addComment = Adicionar comentário
15
+ # Button title for deleting a staged drawing
16
+ ba.popups.drawing.delete = Excluir
17
+ # Button title for redoing a staged drawing
18
+ ba.popups.drawing.redo = Refazer
19
+ # Button title for undoing a staged drawing
20
+ ba.popups.drawing.undo = Desfazer
13
21
  # Prompt message following cursor in region annotations mode
14
22
  ba.popups.popupCursor.regionPrompt = Desenhe uma caixa para comentar
23
+ # Popup message for highlight promoter
24
+ ba.popups.popupHighlight.promoter = Realçar e comentar
25
+ # Prompt message when selection crosses multiple pages
26
+ ba.popups.popupHighlight.restrictedPrompt = Comentários restritos a uma única página
15
27
  # Prompt message for empty popup list
16
28
  ba.popups.popupList.prompt = Mencione alguém para notificá-lo
17
29
  # Button label for creating a description, comment, or reply
package/i18n/ru-RU.js CHANGED
@@ -5,7 +5,13 @@ export default {
5
5
  "ba.annotationsPost": "Отправить",
6
6
  "ba.annotationsSave": "Сохранить",
7
7
  "ba.popups.cancel": "Отмена",
8
+ "ba.popups.drawing.addComment": "Добавить комментарий",
9
+ "ba.popups.drawing.delete": "Удалить",
10
+ "ba.popups.drawing.redo": "Повторить",
11
+ "ba.popups.drawing.undo": "Отменить",
8
12
  "ba.popups.popupCursor.regionPrompt": "Нарисуйте рамку для добавления комментария",
13
+ "ba.popups.popupHighlight.promoter": "Выделить и прокомментировать",
14
+ "ba.popups.popupHighlight.restrictedPrompt": "Комментарии ограничены одной страницей",
9
15
  "ba.popups.popupList.prompt": "Упомяните пользователя, чтобы он получил уведомление",
10
16
  "ba.popups.post": "Отправить",
11
17
  "ba.popups.replyField.placeholder": "Введите комментарий..."
@@ -10,8 +10,20 @@ ba.annotationsPost = Отправить
10
10
  ba.annotationsSave = Сохранить
11
11
  # Button label for cancelling the creation of a description, comment, or reply
12
12
  ba.popups.cancel = Отмена
13
+ # Button label for adding a comment in the drawing toolbar
14
+ ba.popups.drawing.addComment = Добавить комментарий
15
+ # Button title for deleting a staged drawing
16
+ ba.popups.drawing.delete = Удалить
17
+ # Button title for redoing a staged drawing
18
+ ba.popups.drawing.redo = Повторить
19
+ # Button title for undoing a staged drawing
20
+ ba.popups.drawing.undo = Отменить
13
21
  # Prompt message following cursor in region annotations mode
14
22
  ba.popups.popupCursor.regionPrompt = Нарисуйте рамку для добавления комментария
23
+ # Popup message for highlight promoter
24
+ ba.popups.popupHighlight.promoter = Выделить и прокомментировать
25
+ # Prompt message when selection crosses multiple pages
26
+ ba.popups.popupHighlight.restrictedPrompt = Комментарии ограничены одной страницей
15
27
  # Prompt message for empty popup list
16
28
  ba.popups.popupList.prompt = Упомяните пользователя, чтобы он получил уведомление
17
29
  # Button label for creating a description, comment, or reply
package/i18n/sv-SE.js CHANGED
@@ -5,7 +5,13 @@ export default {
5
5
  "ba.annotationsPost": "Publicera",
6
6
  "ba.annotationsSave": "Spara",
7
7
  "ba.popups.cancel": "Avbryt",
8
+ "ba.popups.drawing.addComment": "Lägg till kommentar",
9
+ "ba.popups.drawing.delete": "Radera",
10
+ "ba.popups.drawing.redo": "Gör om",
11
+ "ba.popups.drawing.undo": "Ångra",
8
12
  "ba.popups.popupCursor.regionPrompt": "Rita en ruta för att kommentera",
13
+ "ba.popups.popupHighlight.promoter": "Markera och kommentera",
14
+ "ba.popups.popupHighlight.restrictedPrompt": "Kommentarer begränsas till en sida",
9
15
  "ba.popups.popupList.prompt": "Nämn någon som ska meddela dem",
10
16
  "ba.popups.post": "Publicera",
11
17
  "ba.popups.replyField.placeholder": "Skriv en kommentar ..."
@@ -10,8 +10,20 @@ ba.annotationsPost = Publicera
10
10
  ba.annotationsSave = Spara
11
11
  # Button label for cancelling the creation of a description, comment, or reply
12
12
  ba.popups.cancel = Avbryt
13
+ # Button label for adding a comment in the drawing toolbar
14
+ ba.popups.drawing.addComment = Lägg till kommentar
15
+ # Button title for deleting a staged drawing
16
+ ba.popups.drawing.delete = Radera
17
+ # Button title for redoing a staged drawing
18
+ ba.popups.drawing.redo = Gör om
19
+ # Button title for undoing a staged drawing
20
+ ba.popups.drawing.undo = Ångra
13
21
  # Prompt message following cursor in region annotations mode
14
22
  ba.popups.popupCursor.regionPrompt = Rita en ruta för att kommentera
23
+ # Popup message for highlight promoter
24
+ ba.popups.popupHighlight.promoter = Markera och kommentera
25
+ # Prompt message when selection crosses multiple pages
26
+ ba.popups.popupHighlight.restrictedPrompt = Kommentarer begränsas till en sida
15
27
  # Prompt message for empty popup list
16
28
  ba.popups.popupList.prompt = Nämn någon som ska meddela dem
17
29
  # Button label for creating a description, comment, or reply
package/i18n/tr-TR.js CHANGED
@@ -5,7 +5,13 @@ export default {
5
5
  "ba.annotationsPost": "Gönder",
6
6
  "ba.annotationsSave": "Kaydet",
7
7
  "ba.popups.cancel": "İptal",
8
+ "ba.popups.drawing.addComment": "Yorum Ekle",
9
+ "ba.popups.drawing.delete": "Sil",
10
+ "ba.popups.drawing.redo": "Yinele",
11
+ "ba.popups.drawing.undo": "Geri Al",
8
12
  "ba.popups.popupCursor.regionPrompt": "Yorum yapmak için bir kutu çizin",
13
+ "ba.popups.popupHighlight.promoter": "Vurgulayın ve Yorum Yapın",
14
+ "ba.popups.popupHighlight.restrictedPrompt": "Yorumlar tek sayfayla sınırlandırıldı",
9
15
  "ba.popups.popupList.prompt": "Bildirim alması için birinden bahsedin",
10
16
  "ba.popups.post": "Gönder",
11
17
  "ba.popups.replyField.placeholder": "Bir yorum yazın..."
@@ -10,8 +10,20 @@ ba.annotationsPost = Gönder
10
10
  ba.annotationsSave = Kaydet
11
11
  # Button label for cancelling the creation of a description, comment, or reply
12
12
  ba.popups.cancel = İptal
13
+ # Button label for adding a comment in the drawing toolbar
14
+ ba.popups.drawing.addComment = Yorum Ekle
15
+ # Button title for deleting a staged drawing
16
+ ba.popups.drawing.delete = Sil
17
+ # Button title for redoing a staged drawing
18
+ ba.popups.drawing.redo = Yinele
19
+ # Button title for undoing a staged drawing
20
+ ba.popups.drawing.undo = Geri Al
13
21
  # Prompt message following cursor in region annotations mode
14
22
  ba.popups.popupCursor.regionPrompt = Yorum yapmak için bir kutu çizin
23
+ # Popup message for highlight promoter
24
+ ba.popups.popupHighlight.promoter = Vurgulayın ve Yorum Yapın
25
+ # Prompt message when selection crosses multiple pages
26
+ ba.popups.popupHighlight.restrictedPrompt = Yorumlar tek sayfayla sınırlandırıldı
15
27
  # Prompt message for empty popup list
16
28
  ba.popups.popupList.prompt = Bildirim alması için birinden bahsedin
17
29
  # Button label for creating a description, comment, or reply
package/i18n/zh-CN.js CHANGED
@@ -5,7 +5,13 @@ export default {
5
5
  "ba.annotationsPost": "发布",
6
6
  "ba.annotationsSave": "保存",
7
7
  "ba.popups.cancel": "取消",
8
+ "ba.popups.drawing.addComment": "添加评论",
9
+ "ba.popups.drawing.delete": "删除",
10
+ "ba.popups.drawing.redo": "恢复",
11
+ "ba.popups.drawing.undo": "撤销",
8
12
  "ba.popups.popupCursor.regionPrompt": "绘制一个框进行评论",
13
+ "ba.popups.popupHighlight.promoter": "突出显示和评论",
14
+ "ba.popups.popupHighlight.restrictedPrompt": "评论仅限一页",
9
15
  "ba.popups.popupList.prompt": "提及某人以通知他们",
10
16
  "ba.popups.post": "发布",
11
17
  "ba.popups.replyField.placeholder": "键入评论..."
@@ -10,8 +10,20 @@ ba.annotationsPost = 发布
10
10
  ba.annotationsSave = 保存
11
11
  # Button label for cancelling the creation of a description, comment, or reply
12
12
  ba.popups.cancel = 取消
13
+ # Button label for adding a comment in the drawing toolbar
14
+ ba.popups.drawing.addComment = 添加评论
15
+ # Button title for deleting a staged drawing
16
+ ba.popups.drawing.delete = 删除
17
+ # Button title for redoing a staged drawing
18
+ ba.popups.drawing.redo = 恢复
19
+ # Button title for undoing a staged drawing
20
+ ba.popups.drawing.undo = 撤销
13
21
  # Prompt message following cursor in region annotations mode
14
22
  ba.popups.popupCursor.regionPrompt = 绘制一个框进行评论
23
+ # Popup message for highlight promoter
24
+ ba.popups.popupHighlight.promoter = 突出显示和评论
25
+ # Prompt message when selection crosses multiple pages
26
+ ba.popups.popupHighlight.restrictedPrompt = 评论仅限一页
15
27
  # Prompt message for empty popup list
16
28
  ba.popups.popupList.prompt = 提及某人以通知他们
17
29
  # Button label for creating a description, comment, or reply
package/i18n/zh-TW.js CHANGED
@@ -5,7 +5,13 @@ export default {
5
5
  "ba.annotationsPost": "張貼",
6
6
  "ba.annotationsSave": "儲存",
7
7
  "ba.popups.cancel": "取消",
8
+ "ba.popups.drawing.addComment": "新增留言",
9
+ "ba.popups.drawing.delete": "刪除",
10
+ "ba.popups.drawing.redo": "重做",
11
+ "ba.popups.drawing.undo": "復原",
8
12
  "ba.popups.popupCursor.regionPrompt": "繪圖一個方塊以留言",
13
+ "ba.popups.popupHighlight.promoter": "醒目提示和留言",
14
+ "ba.popups.popupHighlight.restrictedPrompt": "留言限制在單一頁面",
9
15
  "ba.popups.popupList.prompt": "提及某人來通知該名人員",
10
16
  "ba.popups.post": "發佈",
11
17
  "ba.popups.replyField.placeholder": "輸入留言..."
@@ -10,8 +10,20 @@ ba.annotationsPost = 張貼
10
10
  ba.annotationsSave = 儲存
11
11
  # Button label for cancelling the creation of a description, comment, or reply
12
12
  ba.popups.cancel = 取消
13
+ # Button label for adding a comment in the drawing toolbar
14
+ ba.popups.drawing.addComment = 新增留言
15
+ # Button title for deleting a staged drawing
16
+ ba.popups.drawing.delete = 刪除
17
+ # Button title for redoing a staged drawing
18
+ ba.popups.drawing.redo = 重做
19
+ # Button title for undoing a staged drawing
20
+ ba.popups.drawing.undo = 復原
13
21
  # Prompt message following cursor in region annotations mode
14
22
  ba.popups.popupCursor.regionPrompt = 繪圖一個方塊以留言
23
+ # Popup message for highlight promoter
24
+ ba.popups.popupHighlight.promoter = 醒目提示和留言
25
+ # Prompt message when selection crosses multiple pages
26
+ ba.popups.popupHighlight.restrictedPrompt = 留言限制在單一頁面
15
27
  # Prompt message for empty popup list
16
28
  ba.popups.popupList.prompt = 提及某人來通知該名人員
17
29
  # Button label for creating a description, comment, or reply
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "box-annotations",
3
- "version": "4.0.0-beta.8",
3
+ "version": "4.0.1-beta.1",
4
4
  "description": "Box Annotations",
5
5
  "author": "Box (https://www.box.com/)",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -15,33 +15,13 @@
15
15
  "node": ">=10.x",
16
16
  "yarn": ">=1.10.x"
17
17
  },
18
- "dependencies": {
19
- "@formatjs/intl-pluralrules": "^1.5.5",
20
- "@formatjs/intl-relativetimeformat": "^4.5.12",
21
- "@popperjs/core": "^2.4.0",
22
- "@reduxjs/toolkit": "^1.3.5",
23
- "@types/react-redux": "^7.1.7",
24
- "axios": "^0.19.2",
25
- "box-ui-elements": "^12.0.0-beta.77",
26
- "classnames": "^2.2.5",
27
- "draft-js": "0.10.5",
28
- "formik": "^2.1.4",
29
- "lodash": "^4.17.15",
30
- "react": "^16.9.0",
31
- "react-dom": "^16.9.0",
32
- "react-intl": "^3.12.0",
33
- "react-redux": "^7.2.0",
34
- "react-tether": "1.0.5",
35
- "react-textarea-autosize": "^7.1.2",
36
- "redux": "^4.0.5",
37
- "scroll-into-view-if-needed": "^2.2.24"
38
- },
39
18
  "devDependencies": {
40
19
  "@babel/cli": "^7.8.4",
41
20
  "@babel/core": "^7.9.0",
42
21
  "@babel/plugin-proposal-class-properties": "^7.8.3",
43
22
  "@babel/plugin-transform-flow-strip-types": "^7.9.0",
44
23
  "@babel/plugin-transform-object-assign": "^7.8.3",
24
+ "@babel/plugin-transform-runtime": "^7.9.0",
45
25
  "@babel/polyfill": "^7.8.7",
46
26
  "@babel/preset-env": "^7.9.5",
47
27
  "@babel/preset-react": "^7.9.4",
@@ -50,29 +30,40 @@
50
30
  "@box/languages": "^1.1.0",
51
31
  "@commitlint/cli": "^8.3.5",
52
32
  "@commitlint/config-conventional": "^8.2.0",
33
+ "@formatjs/intl-pluralrules": "^1.5.5",
34
+ "@formatjs/intl-relativetimeformat": "^4.5.12",
35
+ "@popperjs/core": "^2.4.0",
36
+ "@reduxjs/toolkit": "^1.3.5",
53
37
  "@types/classnames": "^2.2.10",
54
38
  "@types/draft-js": "^0.10.40",
55
39
  "@types/enzyme": "^3.10.5",
56
40
  "@types/jest": "^24.9.0",
57
41
  "@types/lodash": "^4.14.150",
58
- "@types/react": "^16.9.0",
59
- "@types/react-dom": "^16.9.0",
42
+ "@types/react": "^17.0.2",
43
+ "@types/react-dom": "^17.0.1",
44
+ "@types/react-redux": "^7.1.16",
45
+ "@types/uuid": "^8.3.0",
60
46
  "@typescript-eslint/eslint-plugin": "^2.29.0",
61
47
  "@typescript-eslint/parser": "^2.29.0",
48
+ "@wojtekmaj/enzyme-adapter-react-17": "^0.4.1",
62
49
  "autoprefixer": "^9.7.6",
50
+ "axios": "^0.24.0",
63
51
  "babel-eslint": "^10.1.0",
64
52
  "babel-jest": "^24.9.0",
65
53
  "babel-loader": "^8.1.0",
66
54
  "babel-plugin-istanbul": "^6.0.0",
67
55
  "babel-plugin-react-intl": "^7.5.1",
68
56
  "babel-plugin-transform-require-ignore": "^0.1.1",
57
+ "box-node-sdk": "^1.33.0",
58
+ "box-ui-elements": "^15.0.0-beta.6",
69
59
  "circular-dependency-plugin": "^5.2.0",
60
+ "classnames": "^2.2.5",
70
61
  "conventional-github-releaser": "^3.1.3",
71
62
  "core-js": "^3.6.5",
72
63
  "css-loader": "^3.5.2",
73
64
  "cypress": "^4.4.1",
65
+ "draft-js": "0.10.5",
74
66
  "enzyme": "^3.11.0",
75
- "enzyme-adapter-react-16": "^1.15.2",
76
67
  "enzyme-to-json": "^3.4.4",
77
68
  "eslint": "^6.7.2",
78
69
  "eslint-config-airbnb": "^18.1.0",
@@ -88,11 +79,13 @@
88
79
  "eslint-plugin-prettier": "^3.1.3",
89
80
  "eslint-plugin-react": "^7.19.0",
90
81
  "eslint-plugin-react-hooks": "^1.7.0",
82
+ "formik": "^2.1.4",
91
83
  "husky": "^3.1.0",
92
84
  "jest": "^24.9.0",
93
85
  "jest-canvas-mock": "^2.2.0",
94
86
  "jest-environment-jsdom-sixteen": "^1.0.3",
95
87
  "lint-staged": "^9.5.0",
88
+ "lodash": "^4.17.15",
96
89
  "mini-css-extract-plugin": "^0.9.0",
97
90
  "node-sass": "^4.13.1",
98
91
  "npm-run-all": "^4.1.5",
@@ -100,8 +93,15 @@
100
93
  "postcss-loader": "^3.0.0",
101
94
  "prettier": "^1.19.1",
102
95
  "raw-loader": "^4.0.1",
103
- "regenerator-runtime": "^0.13.5",
96
+ "react": "^17.0.1",
97
+ "react-dom": "^17.0.1",
98
+ "react-intl": "^3.12.0",
99
+ "react-redux": "^7.2.2",
100
+ "react-tether": "1.0.5",
101
+ "react-textarea-autosize": "^7.1.2",
102
+ "redux": "^4.0.5",
104
103
  "sass-loader": "^8.0.2",
104
+ "scroll-into-view-if-needed": "^2.2.24",
105
105
  "style-loader": "^1.1.4",
106
106
  "stylelint": "^12.0.0",
107
107
  "stylelint-config-rational-order": "^0.1.2",
@@ -109,9 +109,9 @@
109
109
  "stylelint-order": "^3.1.1",
110
110
  "typescript": "^3.8.3",
111
111
  "uglifyjs-webpack-plugin": "^2.2.0",
112
+ "uuid": "^8.3.1",
112
113
  "wait-on": "^4.0.2",
113
114
  "webpack": "^4.43.0",
114
- "webpack-bundle-analyzer": "^3.7.0",
115
115
  "webpack-cli": "^3.3.11",
116
116
  "webpack-dev-server": "^3.10.3",
117
117
  "worker-farm": "^1.7.0"
@@ -140,8 +140,8 @@
140
140
  "start:dev": "yarn setup && LANGUAGE=en-US BABEL_ENV=dev NODE_ENV=dev yarn webpack-dev-server --config scripts/webpack.config.js --mode development",
141
141
  "start:linked": "IS_LINKED=1 yarn start",
142
142
  "test": "BABEL_ENV=test NODE_ENV=test yarn jest",
143
- "test:e2e": "npm-run-all -p -r start:dev cy:run",
144
- "test:e2e:open": "npm-run-all -p -r start:dev cy:open",
143
+ "test:e2e": "node scripts/cypress.js",
144
+ "test:e2e:open": "node scripts/cypress.js -o",
145
145
  "test:watch": "yarn test --watch"
146
146
  },
147
147
  "husky": {
@@ -1,8 +1,14 @@
1
1
  enum Event {
2
- ANNOTATION_CREATE = 'annotations_create',
3
- ANNOTATION_REMOVE = 'annotations_remove',
4
2
  ACTIVE_CHANGE = 'annotations_active_change',
5
3
  ACTIVE_SET = 'annotations_active_set',
4
+ CREATOR_STAGED_CHANGE = 'creator_staged_change',
5
+ CREATOR_STATUS_CHANGE = 'creator_status_change',
6
+ ANNOTATION_CREATE = 'annotations_create',
7
+ ANNOTATION_FETCH_ERROR = 'annotations_fetch_error',
8
+ ANNOTATION_REMOVE = 'annotations_remove',
9
+ ANNOTATIONS_INITIALIZED = 'annotations_initialized',
10
+ ANNOTATIONS_MODE_CHANGE = 'annotations_mode_change',
11
+ COLOR_SET = 'annotations_color_set',
6
12
  VISIBLE_SET = 'annotations_visible_set',
7
13
  }
8
14
 
@@ -5,6 +5,7 @@ declare namespace Intl {
5
5
 
6
6
  declare namespace NodeJS {
7
7
  interface Global {
8
+ window: any;
8
9
  BoxAnnotations: any;
9
10
  }
10
11
  }
@@ -31,16 +31,33 @@ export interface AnnotationRegion extends Annotation {
31
31
  target: TargetRegion;
32
32
  }
33
33
 
34
+ export type Dimensions = {
35
+ height: number;
36
+ width: number;
37
+ };
38
+
34
39
  export interface Page {
35
40
  type: 'page';
36
41
  value: number;
37
42
  }
38
43
 
44
+ export interface Path {
45
+ clientId?: string;
46
+ points: Array<Position>;
47
+ }
48
+ export interface PathGroup {
49
+ clientId?: string;
50
+ paths: Array<Path>;
51
+ stroke: Stroke;
52
+ }
53
+
39
54
  export interface Position {
40
55
  x: number;
41
56
  y: number;
42
57
  }
43
58
 
59
+ export type Shape = Required<DOMRectInit>;
60
+
44
61
  export interface User {
45
62
  id: string;
46
63
  login: string;
@@ -77,19 +94,14 @@ export type Target = TargetDrawing | TargetHighlight | TargetPoint | TargetRegio
77
94
 
78
95
  export interface TargetDrawing {
79
96
  location: Page;
80
- paths: [
81
- {
82
- points: [Position];
83
- },
84
- ];
85
- stroke: Stroke;
97
+ path_groups: Array<PathGroup>;
86
98
  type: 'drawing';
87
99
  }
88
100
 
89
101
  export interface TargetHighlight {
90
102
  location: Page;
91
103
  shapes: Array<Rect>;
92
- text: string;
104
+ text?: string;
93
105
  type: 'highlight';
94
106
  }
95
107
 
@@ -105,5 +117,6 @@ export interface TargetRegion {
105
117
  }
106
118
 
107
119
  export enum Type {
120
+ highlight = 'highlight',
108
121
  region = 'region',
109
122
  }