box-ui-elements 16.0.0-beta.9 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (788) hide show
  1. package/dist/explorer.css +1 -1
  2. package/dist/explorer.js +19 -58
  3. package/dist/openwith.css +1 -1
  4. package/dist/openwith.js +10 -10
  5. package/dist/picker.css +1 -1
  6. package/dist/picker.js +12 -12
  7. package/dist/preview.css +1 -1
  8. package/dist/preview.js +17 -56
  9. package/dist/sharing.css +1 -1
  10. package/dist/sharing.js +34 -34
  11. package/dist/sidebar.css +1 -1
  12. package/dist/sidebar.js +17 -56
  13. package/dist/uploader.css +1 -1
  14. package/dist/uploader.js +12 -12
  15. package/es/api/APIFactory.js +27 -0
  16. package/es/api/APIFactory.js.flow +26 -0
  17. package/es/api/APIFactory.js.map +1 -1
  18. package/es/api/Annotations.js +84 -8
  19. package/es/api/Annotations.js.flow +60 -6
  20. package/es/api/Annotations.js.map +1 -1
  21. package/es/api/Comments.js +2 -2
  22. package/es/api/Comments.js.flow +5 -4
  23. package/es/api/Comments.js.map +1 -1
  24. package/es/api/Feed.js +578 -71
  25. package/es/api/Feed.js.flow +677 -17
  26. package/es/api/Feed.js.map +1 -1
  27. package/es/api/FileCollaborators.js +29 -0
  28. package/es/api/FileCollaborators.js.flow +30 -0
  29. package/es/api/FileCollaborators.js.map +1 -1
  30. package/es/api/ThreadedComments.js +64 -27
  31. package/es/api/ThreadedComments.js.flow +54 -29
  32. package/es/api/ThreadedComments.js.map +1 -1
  33. package/es/api/fixtures.js +381 -0
  34. package/es/api/fixtures.js.flow +401 -0
  35. package/es/api/fixtures.js.map +1 -0
  36. package/es/api/messages.js +4 -0
  37. package/es/api/messages.js.flow +5 -0
  38. package/es/api/messages.js.map +1 -1
  39. package/es/api/utils.js +33 -0
  40. package/es/api/utils.js.flow +30 -0
  41. package/es/api/utils.js.map +1 -0
  42. package/es/common/types/annotations.js.flow +18 -12
  43. package/es/common/types/feed.js +1 -1
  44. package/es/common/types/feed.js.flow +40 -4
  45. package/es/common/types/feed.js.map +1 -1
  46. package/es/components/accessible-svg/AccessibleSVG.stories.js +20 -0
  47. package/es/components/accessible-svg/AccessibleSVG.stories.js.map +1 -0
  48. package/es/components/badge/Badge.stories.js +1 -13
  49. package/es/components/badge/Badge.stories.js.map +1 -1
  50. package/es/components/badge/BetaBadge.stories.js +10 -0
  51. package/es/components/badge/BetaBadge.stories.js.map +1 -0
  52. package/es/components/badge/TrialBadge.stories.js +10 -0
  53. package/es/components/badge/TrialBadge.stories.js.map +1 -0
  54. package/es/components/badge/UpgradeBadge.stories.js +10 -0
  55. package/es/components/badge/UpgradeBadge.stories.js.map +1 -0
  56. package/es/components/breadcrumb/Breadcrumb.js +48 -35
  57. package/es/components/breadcrumb/Breadcrumb.js.flow +68 -42
  58. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  59. package/es/components/breadcrumb/EllipsisCrumb.js +5 -3
  60. package/es/components/breadcrumb/EllipsisCrumb.js.flow +10 -6
  61. package/es/components/breadcrumb/EllipsisCrumb.js.map +1 -1
  62. package/es/components/count-badge/CountBadge.stories.js +1 -1
  63. package/es/components/count-badge/CountBadge.stories.js.map +1 -1
  64. package/es/components/draggable-list/DraggableList.stories.js +119 -5
  65. package/es/components/draggable-list/DraggableList.stories.js.map +1 -1
  66. package/es/components/dropdown-menu/DropdownMenu.js +9 -0
  67. package/es/components/dropdown-menu/DropdownMenu.js.flow +11 -0
  68. package/es/components/dropdown-menu/DropdownMenu.js.map +1 -1
  69. package/es/components/dropdown-menu/DropdownMenu.scss +3 -3
  70. package/es/components/infinite-scroll/InfiniteScroll.js +4 -2
  71. package/es/components/infinite-scroll/InfiniteScroll.js.map +1 -1
  72. package/es/components/modal/Modal.scss +5 -1
  73. package/es/components/search-form/SearchForm.js +1 -1
  74. package/es/components/search-form/SearchForm.js.flow +1 -1
  75. package/es/components/search-form/SearchForm.js.map +1 -1
  76. package/es/components/table/makeSelectable.js +304 -97
  77. package/es/components/table/makeSelectable.js.flow +299 -98
  78. package/es/components/table/makeSelectable.js.map +1 -1
  79. package/es/components/tooltip/Tooltip.js +3 -2
  80. package/es/components/tooltip/Tooltip.js.map +1 -1
  81. package/es/constants.js +11 -0
  82. package/es/constants.js.flow +11 -0
  83. package/es/constants.js.map +1 -1
  84. package/es/elements/common/annotator-context/index.js +1 -0
  85. package/es/elements/common/annotator-context/index.js.flow +4 -0
  86. package/es/elements/common/annotator-context/index.js.map +1 -1
  87. package/es/elements/common/annotator-context/types.js +12 -0
  88. package/es/elements/common/annotator-context/types.js.flow +77 -35
  89. package/es/elements/common/annotator-context/types.js.map +1 -1
  90. package/es/elements/common/annotator-context/useAnnotatorEvents.js +205 -0
  91. package/es/elements/common/annotator-context/useAnnotatorEvents.js.flow +52 -0
  92. package/es/elements/common/annotator-context/useAnnotatorEvents.js.map +1 -0
  93. package/es/elements/common/annotator-context/withAnnotations.js +224 -5
  94. package/es/elements/common/annotator-context/withAnnotations.js.flow +73 -36
  95. package/es/elements/common/annotator-context/withAnnotations.js.map +1 -1
  96. package/es/elements/common/annotator-context/withAnnotatorContext.js +12 -4
  97. package/es/elements/common/annotator-context/withAnnotatorContext.js.flow +29 -9
  98. package/es/elements/common/annotator-context/withAnnotatorContext.js.map +1 -1
  99. package/es/elements/common/current-user/index.js +3 -0
  100. package/es/elements/common/current-user/index.js.flow +8 -0
  101. package/es/elements/common/current-user/index.js.map +1 -0
  102. package/es/elements/common/current-user/withCurrentUser.js +139 -0
  103. package/es/elements/common/current-user/withCurrentUser.js.flow +40 -0
  104. package/es/elements/common/current-user/withCurrentUser.js.map +1 -0
  105. package/es/elements/common/flowTypes.js.flow +22 -4
  106. package/es/elements/common/flowTypes.js.map +1 -1
  107. package/es/elements/common/interactionTargets.js +2 -0
  108. package/es/elements/common/interactionTargets.js.flow +2 -0
  109. package/es/elements/common/interactionTargets.js.map +1 -1
  110. package/es/elements/common/logger/Logger.js +1 -1
  111. package/es/elements/common/logger/Logger.js.flow +1 -1
  112. package/es/elements/common/logger/Logger.js.map +1 -1
  113. package/es/elements/common/messages.js +4 -0
  114. package/es/elements/common/messages.js.flow +5 -0
  115. package/es/elements/common/messages.js.map +1 -1
  116. package/es/elements/content-explorer/DeleteConfirmationDialog.js +2 -1
  117. package/es/elements/content-explorer/DeleteConfirmationDialog.js.flow +3 -1
  118. package/es/elements/content-explorer/DeleteConfirmationDialog.js.map +1 -1
  119. package/es/elements/content-explorer/DeleteConfirmationDialog.scss +5 -0
  120. package/es/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js +58 -0
  121. package/es/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js.flow +60 -0
  122. package/es/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js.map +1 -0
  123. package/es/elements/content-sidebar/ActivitySidebar.js +323 -197
  124. package/es/elements/content-sidebar/ActivitySidebar.js.flow +381 -154
  125. package/es/elements/content-sidebar/ActivitySidebar.js.map +1 -1
  126. package/es/elements/content-sidebar/ActivitySidebarFilter.js +52 -0
  127. package/es/elements/content-sidebar/ActivitySidebarFilter.js.flow +59 -0
  128. package/es/elements/content-sidebar/ActivitySidebarFilter.js.map +1 -0
  129. package/es/elements/content-sidebar/ActivitySidebarFilter.scss +4 -0
  130. package/es/elements/content-sidebar/DetailsSidebar.js +50 -25
  131. package/es/elements/content-sidebar/DetailsSidebar.js.flow +32 -4
  132. package/es/elements/content-sidebar/DetailsSidebar.js.map +1 -1
  133. package/es/elements/content-sidebar/Sidebar.js +4 -1
  134. package/es/elements/content-sidebar/Sidebar.js.flow +6 -1
  135. package/es/elements/content-sidebar/Sidebar.js.map +1 -1
  136. package/es/elements/content-sidebar/SidebarContentInsights.js +45 -0
  137. package/es/elements/content-sidebar/SidebarContentInsights.js.map +1 -0
  138. package/es/elements/content-sidebar/SidebarContentInsights.scss +6 -0
  139. package/es/elements/content-sidebar/SidebarPanels.js +2 -0
  140. package/es/elements/content-sidebar/SidebarPanels.js.flow +4 -0
  141. package/es/elements/content-sidebar/SidebarPanels.js.map +1 -1
  142. package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js +91 -10
  143. package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js.flow +122 -24
  144. package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js.map +1 -1
  145. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js +27 -15
  146. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js.flow +59 -18
  147. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js.map +1 -1
  148. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js +101 -0
  149. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js.flow +126 -0
  150. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js.map +1 -0
  151. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.scss +17 -0
  152. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js +69 -0
  153. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js.flow +85 -0
  154. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js.map +1 -0
  155. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.scss +16 -0
  156. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js +62 -0
  157. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js.flow +59 -0
  158. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js.map +1 -0
  159. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.scss +22 -0
  160. package/es/elements/content-sidebar/activity-feed/activity-feed/activityFeedUtils.js +2 -2
  161. package/es/elements/content-sidebar/activity-feed/activity-feed/activityFeedUtils.js.flow +2 -2
  162. package/es/elements/content-sidebar/activity-feed/activity-feed/activityFeedUtils.js.map +1 -1
  163. package/es/elements/content-sidebar/activity-feed/activity-feed/fixtures.js +55 -0
  164. package/es/elements/content-sidebar/activity-feed/activity-feed/fixtures.js.map +1 -0
  165. package/es/elements/content-sidebar/activity-feed/activity-feed/messages.js +16 -0
  166. package/es/elements/content-sidebar/activity-feed/activity-feed/messages.js.flow +20 -0
  167. package/es/elements/content-sidebar/activity-feed/activity-feed/messages.js.map +1 -1
  168. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js +121 -0
  169. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js.flow +117 -0
  170. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js.map +1 -0
  171. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.scss +7 -0
  172. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js +75 -0
  173. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js.flow +105 -0
  174. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js.map +1 -0
  175. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.scss +5 -0
  176. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js +77 -0
  177. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js.flow +86 -0
  178. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js.map +1 -0
  179. package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.scss +3 -0
  180. package/es/elements/content-sidebar/activity-feed/annotation-thread/errors.js +11 -0
  181. package/es/elements/content-sidebar/activity-feed/annotation-thread/errors.js.flow +26 -0
  182. package/es/elements/content-sidebar/activity-feed/annotation-thread/errors.js.map +1 -0
  183. package/es/elements/content-sidebar/activity-feed/annotation-thread/index.js +2 -0
  184. package/es/elements/content-sidebar/activity-feed/annotation-thread/index.js.flow +1 -0
  185. package/es/elements/content-sidebar/activity-feed/annotation-thread/index.js.map +1 -0
  186. package/es/elements/content-sidebar/activity-feed/annotation-thread/messages.js +17 -0
  187. package/es/elements/content-sidebar/activity-feed/annotation-thread/messages.js.flow +21 -0
  188. package/es/elements/content-sidebar/activity-feed/annotation-thread/messages.js.map +1 -0
  189. package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js +180 -0
  190. package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js.flow +203 -0
  191. package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js.map +1 -0
  192. package/es/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js +124 -0
  193. package/es/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js.flow +121 -0
  194. package/es/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js.map +1 -0
  195. package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js +19 -5
  196. package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js.flow +24 -4
  197. package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js.map +1 -1
  198. package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js +25 -4
  199. package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js.flow +36 -2
  200. package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js.map +1 -1
  201. package/es/elements/content-sidebar/activity-feed/annotations/messages.js +8 -0
  202. package/es/elements/content-sidebar/activity-feed/annotations/messages.js.flow +10 -0
  203. package/es/elements/content-sidebar/activity-feed/annotations/messages.js.map +1 -1
  204. package/es/elements/content-sidebar/activity-feed/comment/Comment.js +61 -28
  205. package/es/elements/content-sidebar/activity-feed/comment/Comment.js.flow +54 -10
  206. package/es/elements/content-sidebar/activity-feed/comment/Comment.js.map +1 -1
  207. package/es/elements/content-sidebar/activity-feed/comment/messages.js +8 -0
  208. package/es/elements/content-sidebar/activity-feed/comment/messages.js.flow +10 -0
  209. package/es/elements/content-sidebar/activity-feed/comment/messages.js.map +1 -1
  210. package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js +4 -2
  211. package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js.flow +3 -1
  212. package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js.map +1 -1
  213. package/es/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.js +16 -5
  214. package/es/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.js.flow +34 -4
  215. package/es/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.js.map +1 -1
  216. package/es/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.scss +40 -3
  217. package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessage.js +49 -0
  218. package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessage.js.flow +42 -0
  219. package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessage.js.map +1 -0
  220. package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessageToggle.js +21 -0
  221. package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessageToggle.js.flow +24 -0
  222. package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessageToggle.js.map +1 -0
  223. package/es/elements/content-sidebar/activity-feed/common/activity-message/messages.js +12 -0
  224. package/es/elements/content-sidebar/activity-feed/common/activity-message/messages.js.flow +15 -0
  225. package/es/elements/content-sidebar/activity-feed/common/activity-message/messages.js.map +1 -1
  226. package/es/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.js +24 -0
  227. package/es/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.js.flow +30 -0
  228. package/es/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.js.map +1 -0
  229. package/es/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.scss +6 -0
  230. package/es/elements/content-sidebar/activity-feed/common/activity-status/index.js +2 -0
  231. package/es/elements/content-sidebar/activity-feed/common/activity-status/index.js.flow +2 -0
  232. package/es/elements/content-sidebar/activity-feed/common/activity-status/index.js.map +1 -0
  233. package/es/elements/content-sidebar/activity-feed/common/activity-status/messages.js +9 -0
  234. package/es/elements/content-sidebar/activity-feed/common/activity-status/messages.js.flow +13 -0
  235. package/es/elements/content-sidebar/activity-feed/common/activity-status/messages.js.map +1 -0
  236. package/es/elements/content-sidebar/activity-feed/common/activity-timestamp/ActivityTimestamp.scss +1 -1
  237. package/es/elements/content-sidebar/fixtures.js +181 -0
  238. package/es/elements/content-sidebar/fixtures.js.flow +185 -0
  239. package/es/elements/content-sidebar/fixtures.js.map +1 -0
  240. package/es/elements/content-sidebar/flowTypes.js.flow +9 -25
  241. package/es/elements/content-sidebar/messages.js +8 -0
  242. package/es/elements/content-sidebar/messages.js.flow +10 -0
  243. package/es/elements/content-sidebar/messages.js.map +1 -1
  244. package/es/elements/content-sidebar/withErrorHandling.js.flow +1 -1
  245. package/es/elements/content-sidebar/withErrorHandling.js.map +1 -1
  246. package/es/elements/content-sidebar/withSidebarAnnotations.js +215 -30
  247. package/es/elements/content-sidebar/withSidebarAnnotations.js.flow +162 -11
  248. package/es/elements/content-sidebar/withSidebarAnnotations.js.map +1 -1
  249. package/es/elements/content-uploader/OverallUploadsProgressBar.js +10 -8
  250. package/es/elements/content-uploader/OverallUploadsProgressBar.js.flow +11 -12
  251. package/es/elements/content-uploader/OverallUploadsProgressBar.js.map +1 -1
  252. package/es/features/classification/Classification.scss +1 -1
  253. package/es/features/classification/security-controls/SecurityControlsItem.scss +1 -0
  254. package/es/features/classification/security-controls/messages.js +8 -0
  255. package/es/features/classification/security-controls/messages.js.flow +10 -0
  256. package/es/features/classification/security-controls/messages.js.map +1 -1
  257. package/es/features/classification/security-controls/utils.js +4 -7
  258. package/es/features/classification/security-controls/utils.js.flow +8 -12
  259. package/es/features/classification/security-controls/utils.js.map +1 -1
  260. package/es/features/content-explorer/content-explorer/ContentExplorer.js +6 -1
  261. package/es/features/content-explorer/content-explorer/ContentExplorer.js.flow +4 -0
  262. package/es/features/content-explorer/content-explorer/ContentExplorer.js.map +1 -1
  263. package/es/features/content-explorer/content-explorer/ContentExplorer.scss +4 -0
  264. package/es/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js +15 -9
  265. package/es/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js.flow +14 -11
  266. package/es/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js.map +1 -1
  267. package/es/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js +4 -1
  268. package/es/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js.flow +4 -1
  269. package/es/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js.map +1 -1
  270. package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js +6 -3
  271. package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js.flow +5 -1
  272. package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js.map +1 -1
  273. package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js +6 -1
  274. package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js.flow +5 -1
  275. package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js.map +1 -1
  276. package/es/features/content-explorer/prop-types.js +7 -1
  277. package/es/features/content-explorer/prop-types.js.flow +8 -0
  278. package/es/features/content-explorer/prop-types.js.map +1 -1
  279. package/es/features/content-insights/CompactCount.js +24 -0
  280. package/es/features/content-insights/CompactCount.js.map +1 -0
  281. package/es/features/content-insights/ContentAnalyticsErrorState.js +35 -0
  282. package/es/features/content-insights/ContentAnalyticsErrorState.js.map +1 -0
  283. package/es/features/content-insights/ContentAnalyticsErrorState.scss +17 -0
  284. package/es/features/content-insights/ContentInsightsSummary.js +42 -0
  285. package/es/features/content-insights/ContentInsightsSummary.js.map +1 -0
  286. package/es/features/content-insights/ContentInsightsSummary.scss +12 -0
  287. package/es/features/content-insights/ContentInsightsSummaryGhostState.js +19 -0
  288. package/es/features/content-insights/ContentInsightsSummaryGhostState.js.map +1 -0
  289. package/es/features/content-insights/ContentInsightsSummaryGhostState.scss +9 -0
  290. package/es/features/content-insights/GraphCardGhostState.js +25 -0
  291. package/es/features/content-insights/GraphCardGhostState.js.map +1 -0
  292. package/es/features/content-insights/GraphCardGhostState.scss +18 -0
  293. package/es/features/content-insights/GraphCardPreviewsSummary.js +30 -0
  294. package/es/features/content-insights/GraphCardPreviewsSummary.js.map +1 -0
  295. package/es/features/content-insights/GraphCardPreviewsSummary.scss +10 -0
  296. package/es/features/content-insights/GraphGhostState.js +21 -0
  297. package/es/features/content-insights/GraphGhostState.js.map +1 -0
  298. package/es/features/content-insights/GraphGhostState.scss +11 -0
  299. package/es/features/content-insights/HeaderWithCount.js +23 -0
  300. package/es/features/content-insights/HeaderWithCount.js.map +1 -0
  301. package/es/features/content-insights/HeaderWithCount.scss +10 -0
  302. package/es/features/content-insights/MetricSummary.js +85 -0
  303. package/es/features/content-insights/MetricSummary.js.map +1 -0
  304. package/es/features/content-insights/MetricSummary.scss +14 -0
  305. package/es/features/content-insights/OpenContentInsightsButton.js +16 -0
  306. package/es/features/content-insights/OpenContentInsightsButton.js.map +1 -0
  307. package/es/features/content-insights/TrendPill.js +61 -0
  308. package/es/features/content-insights/TrendPill.js.map +1 -0
  309. package/es/features/content-insights/TrendPill.scss +33 -0
  310. package/es/features/content-insights/_mixins.scss +7 -0
  311. package/es/features/content-insights/_variables.scss +4 -0
  312. package/es/features/content-insights/charts/bar/Bar.js +57 -0
  313. package/es/features/content-insights/charts/bar/Bar.js.map +1 -0
  314. package/es/features/content-insights/charts/bar/Bar.scss +27 -0
  315. package/es/features/content-insights/charts/bar/BarChart.js +70 -0
  316. package/es/features/content-insights/charts/bar/BarChart.js.map +1 -0
  317. package/es/features/content-insights/charts/bar/BarChart.scss +56 -0
  318. package/es/features/content-insights/charts/types.js +2 -0
  319. package/es/{common/types/threadedComments.js.map → features/content-insights/charts/types.js.map} +1 -1
  320. package/es/features/content-insights/constants.js +54 -0
  321. package/es/features/content-insights/constants.js.map +1 -0
  322. package/es/features/content-insights/messages.js +69 -0
  323. package/es/features/content-insights/messages.js.map +1 -0
  324. package/es/features/content-insights/numberUtils.js +10 -0
  325. package/es/features/content-insights/numberUtils.js.map +1 -0
  326. package/es/features/content-insights/types.js +2 -0
  327. package/es/features/content-insights/types.js.map +1 -0
  328. package/es/features/item-details/ItemProperties.scss +1 -1
  329. package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.js +5 -3
  330. package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.js.flow +4 -2
  331. package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.js.map +1 -1
  332. package/es/features/unified-share-modal/ContactRestrictionNotice.js +34 -8
  333. package/es/features/unified-share-modal/ContactRestrictionNotice.js.flow +36 -6
  334. package/es/features/unified-share-modal/ContactRestrictionNotice.js.map +1 -1
  335. package/es/features/unified-share-modal/EmailForm.js +59 -47
  336. package/es/features/unified-share-modal/EmailForm.js.flow +31 -13
  337. package/es/features/unified-share-modal/EmailForm.js.map +1 -1
  338. package/es/features/unified-share-modal/UnifiedShareForm.js +112 -103
  339. package/es/features/unified-share-modal/UnifiedShareForm.js.flow +25 -8
  340. package/es/features/unified-share-modal/UnifiedShareForm.js.map +1 -1
  341. package/es/features/unified-share-modal/UnifiedShareModal.js +1 -0
  342. package/es/features/unified-share-modal/UnifiedShareModal.js.flow +1 -0
  343. package/es/features/unified-share-modal/UnifiedShareModal.js.map +1 -1
  344. package/es/features/unified-share-modal/flowTypes.js.flow +4 -2
  345. package/es/features/unified-share-modal/flowTypes.js.map +1 -1
  346. package/es/features/unified-share-modal/messages.js +12 -8
  347. package/es/features/unified-share-modal/messages.js.flow +14 -8
  348. package/es/features/unified-share-modal/messages.js.map +1 -1
  349. package/es/features/unified-share-modal/utils/hasRestrictedContacts.js +9 -4
  350. package/es/features/unified-share-modal/utils/hasRestrictedContacts.js.flow +10 -3
  351. package/es/features/unified-share-modal/utils/hasRestrictedContacts.js.map +1 -1
  352. package/es/features/unified-share-modal/utils/isRestrictedContact.js +15 -0
  353. package/es/features/unified-share-modal/utils/isRestrictedContact.js.flow +21 -0
  354. package/es/features/unified-share-modal/utils/isRestrictedContact.js.map +1 -0
  355. package/es/icon/fill/Alert16.js +3 -2
  356. package/es/icon/fill/Alert16.js.flow +3 -2
  357. package/es/icon/fill/Alert16.js.map +1 -1
  358. package/es/icon/fill/AlertBadge16.js +31 -0
  359. package/es/icon/fill/AlertBadge16.js.flow +29 -0
  360. package/es/icon/fill/AlertBadge16.js.map +1 -0
  361. package/es/icon/fill/AlertBadge16.stories.js +13 -0
  362. package/es/icon/fill/AlertBadge16.stories.js.map +1 -0
  363. package/es/icon/fill/Info16.js +2 -2
  364. package/es/icon/fill/Info16.js.flow +1 -1
  365. package/es/icon/fill/Info16.js.map +1 -1
  366. package/es/icon/fill/InfoBadge16.js +30 -0
  367. package/es/icon/fill/InfoBadge16.js.flow +28 -0
  368. package/es/icon/fill/InfoBadge16.js.map +1 -0
  369. package/es/icon/fill/InfoBadge16.stories.js +13 -0
  370. package/es/icon/fill/InfoBadge16.stories.js.map +1 -0
  371. package/es/icon/line/AlertBubble16.js +31 -0
  372. package/es/icon/line/AlertBubble16.js.flow +29 -0
  373. package/es/icon/line/AlertBubble16.js.map +1 -0
  374. package/es/icon/line/AlertBubble16.stories.js +13 -0
  375. package/es/icon/line/AlertBubble16.stories.js.map +1 -0
  376. package/es/icon/line/AvatarXBadge16.js +45 -0
  377. package/es/icon/line/AvatarXBadge16.js.flow +39 -0
  378. package/es/icon/line/AvatarXBadge16.js.map +1 -0
  379. package/es/icon/line/AvatarXBadge16.stories.js +13 -0
  380. package/es/icon/line/AvatarXBadge16.stories.js.map +1 -0
  381. package/es/icon/line/CoEdit16.js +32 -0
  382. package/es/icon/line/CoEdit16.js.flow +30 -0
  383. package/es/icon/line/CoEdit16.js.map +1 -0
  384. package/es/icon/line/CoEdit16.stories.js +13 -0
  385. package/es/icon/line/CoEdit16.stories.js.map +1 -0
  386. package/es/icon/line/Collaborations16.js +32 -0
  387. package/es/icon/line/Collaborations16.js.flow +30 -0
  388. package/es/icon/line/Collaborations16.js.map +1 -0
  389. package/es/icon/line/Collaborations16.stories.js +13 -0
  390. package/es/icon/line/Collaborations16.stories.js.map +1 -0
  391. package/es/icon/line/CommentBubble16.js +35 -0
  392. package/es/icon/line/CommentBubble16.js.flow +34 -0
  393. package/es/icon/line/CommentBubble16.js.map +1 -0
  394. package/es/icon/line/CommentBubble16.stories.js +13 -0
  395. package/es/icon/line/CommentBubble16.stories.js.map +1 -0
  396. package/es/src/components/accessible-svg/AccessibleSVG.stories.d.ts +7 -0
  397. package/es/src/components/badge/Badge.stories.d.ts +0 -3
  398. package/es/src/components/badge/BetaBadge.stories.d.ts +6 -0
  399. package/es/src/components/badge/TrialBadge.stories.d.ts +6 -0
  400. package/es/src/components/badge/UpgradeBadge.stories.d.ts +6 -0
  401. package/es/src/components/draggable-list/DraggableList.stories.d.ts +3 -3
  402. package/es/src/components/infinite-scroll/InfiniteScroll.d.ts +1 -1
  403. package/es/src/components/tooltip/Tooltip.d.ts +2 -0
  404. package/es/src/elements/common/annotator-context/__tests__/useAnnotatorEvents.test.d.ts +1 -0
  405. package/es/src/elements/common/annotator-context/index.d.ts +1 -0
  406. package/es/src/elements/common/annotator-context/types.d.ts +28 -6
  407. package/es/src/elements/common/annotator-context/useAnnotatorEvents.d.ts +52 -0
  408. package/es/src/elements/common/annotator-context/withAnnotations.d.ts +11 -2
  409. package/es/src/elements/common/annotator-context/withAnnotatorContext.d.ts +6 -2
  410. package/es/src/elements/common/current-user/__tests__/withCurrentUser.test.d.ts +1 -0
  411. package/es/src/elements/common/current-user/index.d.ts +2 -0
  412. package/es/src/elements/common/current-user/withCurrentUser.d.ts +20 -0
  413. package/es/src/elements/content-sidebar/SidebarContentInsights.d.ts +15 -0
  414. package/es/src/elements/content-sidebar/__tests__/SidebarContentInsights.test.d.ts +1 -0
  415. package/es/src/elements/content-sidebar/activity-feed/activity-feed/fixtures.d.ts +55 -0
  416. package/es/src/features/content-insights/CompactCount.d.ts +15 -0
  417. package/es/src/features/content-insights/ContentAnalyticsErrorState.d.ts +7 -0
  418. package/es/src/features/content-insights/ContentInsightsSummary.d.ts +12 -0
  419. package/es/src/features/content-insights/ContentInsightsSummaryGhostState.d.ts +3 -0
  420. package/es/src/features/content-insights/GraphCardGhostState.d.ts +3 -0
  421. package/es/src/features/content-insights/GraphCardPreviewsSummary.d.ts +16 -0
  422. package/es/src/features/content-insights/GraphGhostState.d.ts +3 -0
  423. package/es/src/features/content-insights/HeaderWithCount.d.ts +7 -0
  424. package/es/src/features/content-insights/MetricSummary.d.ts +18 -0
  425. package/es/src/features/content-insights/OpenContentInsightsButton.d.ts +5 -0
  426. package/es/src/features/content-insights/TrendPill.d.ts +15 -0
  427. package/es/src/features/content-insights/__tests__/CompactCount.test.d.ts +1 -0
  428. package/es/src/features/content-insights/__tests__/ContentAnalyticsErrorState.test.d.ts +1 -0
  429. package/es/src/features/content-insights/__tests__/ContentInsightsSummary.test.d.ts +1 -0
  430. package/es/src/features/content-insights/__tests__/GraphCardPreviewsSummary.test.d.ts +1 -0
  431. package/es/src/features/content-insights/__tests__/HeaderWithCount.test.d.ts +1 -0
  432. package/es/src/features/content-insights/__tests__/MetricSummary.test.d.ts +1 -0
  433. package/es/src/features/content-insights/charts/bar/Bar.d.ts +11 -0
  434. package/es/src/features/content-insights/charts/bar/BarChart.d.ts +19 -0
  435. package/es/src/features/content-insights/charts/bar/__tests__/Bar.test.d.ts +1 -0
  436. package/es/src/features/content-insights/charts/bar/__tests__/BarChart.test.d.ts +1 -0
  437. package/es/src/features/content-insights/charts/types.d.ts +2 -0
  438. package/es/src/features/content-insights/constants.d.ts +27 -0
  439. package/es/src/features/content-insights/messages.d.ts +83 -0
  440. package/es/src/features/content-insights/numberUtils.d.ts +3 -0
  441. package/es/src/features/content-insights/types.d.ts +24 -0
  442. package/es/src/icon/fill/AlertBadge16.d.ts +13 -0
  443. package/es/src/icon/fill/AlertBadge16.stories.d.ts +9 -0
  444. package/es/src/icon/fill/InfoBadge16.d.ts +13 -0
  445. package/es/src/icon/fill/InfoBadge16.stories.d.ts +9 -0
  446. package/es/src/icon/line/AlertBubble16.d.ts +13 -0
  447. package/es/src/icon/line/AlertBubble16.stories.d.ts +9 -0
  448. package/es/src/icon/line/AvatarXBadge16.d.ts +13 -0
  449. package/es/src/icon/line/AvatarXBadge16.stories.d.ts +9 -0
  450. package/es/src/icon/line/CoEdit16.d.ts +13 -0
  451. package/es/src/icon/line/CoEdit16.stories.d.ts +9 -0
  452. package/es/src/icon/line/Collaborations16.d.ts +13 -0
  453. package/es/src/icon/line/Collaborations16.stories.d.ts +9 -0
  454. package/es/src/icon/line/CommentBubble16.d.ts +13 -0
  455. package/es/src/icon/line/CommentBubble16.stories.d.ts +9 -0
  456. package/es/src/styles/variables.d.ts +3 -1
  457. package/es/styles/constants/_layout.scss +1 -1
  458. package/es/styles/constants/_media-queries.scss +2 -0
  459. package/es/styles/variables.js +6 -2
  460. package/es/styles/variables.js.flow +4 -2
  461. package/es/styles/variables.js.map +1 -1
  462. package/es/utils/error.js +5 -1
  463. package/es/utils/error.js.flow +5 -1
  464. package/es/utils/error.js.map +1 -1
  465. package/es/utils/fields.js +8 -3
  466. package/es/utils/fields.js.flow +21 -3
  467. package/es/utils/fields.js.map +1 -1
  468. package/es/utils/sorter.js.flow +2 -2
  469. package/es/utils/sorter.js.map +1 -1
  470. package/i18n/bn-IN.js +45 -7
  471. package/i18n/bn-IN.properties +83 -7
  472. package/i18n/da-DK.js +45 -7
  473. package/i18n/da-DK.properties +83 -7
  474. package/i18n/de-DE.js +45 -7
  475. package/i18n/de-DE.properties +83 -7
  476. package/i18n/en-AU.js +45 -7
  477. package/i18n/en-AU.properties +83 -7
  478. package/i18n/en-CA.js +45 -7
  479. package/i18n/en-CA.properties +83 -7
  480. package/i18n/en-GB.js +45 -7
  481. package/i18n/en-GB.properties +83 -7
  482. package/i18n/en-US.js +45 -7
  483. package/i18n/en-US.properties +83 -7
  484. package/i18n/en-x-pseudo.js +891 -854
  485. package/i18n/en-x-pseudo.properties +941 -843
  486. package/i18n/es-419.js +45 -7
  487. package/i18n/es-419.properties +83 -7
  488. package/i18n/es-ES.js +45 -7
  489. package/i18n/es-ES.properties +83 -7
  490. package/i18n/fi-FI.js +45 -7
  491. package/i18n/fi-FI.properties +83 -7
  492. package/i18n/fr-CA.js +45 -7
  493. package/i18n/fr-CA.properties +83 -7
  494. package/i18n/fr-FR.js +45 -7
  495. package/i18n/fr-FR.properties +83 -7
  496. package/i18n/hi-IN.js +45 -7
  497. package/i18n/hi-IN.properties +83 -7
  498. package/i18n/it-IT.js +45 -7
  499. package/i18n/it-IT.properties +83 -7
  500. package/i18n/ja-JP.js +47 -9
  501. package/i18n/ja-JP.properties +85 -9
  502. package/i18n/ko-KR.js +45 -7
  503. package/i18n/ko-KR.properties +83 -7
  504. package/i18n/nb-NO.js +45 -7
  505. package/i18n/nb-NO.properties +83 -7
  506. package/i18n/nl-NL.js +45 -7
  507. package/i18n/nl-NL.properties +83 -7
  508. package/i18n/pl-PL.js +45 -7
  509. package/i18n/pl-PL.properties +83 -7
  510. package/i18n/pt-BR.js +45 -7
  511. package/i18n/pt-BR.properties +83 -7
  512. package/i18n/ru-RU.js +45 -7
  513. package/i18n/ru-RU.properties +83 -7
  514. package/i18n/sv-SE.js +45 -7
  515. package/i18n/sv-SE.properties +83 -7
  516. package/i18n/tr-TR.js +45 -7
  517. package/i18n/tr-TR.properties +83 -7
  518. package/i18n/zh-CN.js +45 -7
  519. package/i18n/zh-CN.properties +83 -7
  520. package/i18n/zh-TW.js +45 -7
  521. package/i18n/zh-TW.properties +83 -7
  522. package/package.json +7 -8
  523. package/src/__mocks__/react-intl.js +4 -0
  524. package/src/api/APIFactory.js +26 -0
  525. package/src/api/Annotations.js +60 -6
  526. package/src/api/Comments.js +5 -4
  527. package/src/api/Feed.js +677 -17
  528. package/src/api/FileCollaborators.js +30 -0
  529. package/src/api/ThreadedComments.js +54 -29
  530. package/src/api/__tests__/Annotations.test.js +77 -3
  531. package/src/api/__tests__/Feed.test.js +698 -85
  532. package/src/api/__tests__/FileCollaborators.test.js +41 -0
  533. package/src/api/__tests__/ThreadedComments.test.js +47 -10
  534. package/src/api/__tests__/utils.test.js +11 -0
  535. package/src/api/fixtures.js +401 -0
  536. package/src/api/messages.js +5 -0
  537. package/src/api/utils.js +30 -0
  538. package/src/common/types/annotations.js +18 -12
  539. package/src/common/types/feed.js +40 -4
  540. package/src/components/accessible-svg/AccessibleSVG.stories.tsx +18 -0
  541. package/src/components/badge/Badge.stories.md +1 -7
  542. package/src/components/badge/Badge.stories.tsx +1 -10
  543. package/src/components/badge/BetaBadge.stories.tsx +9 -0
  544. package/src/components/badge/TrialBadge.stories.tsx +9 -0
  545. package/src/components/badge/UpgradeBadge.stories.tsx +9 -0
  546. package/src/components/breadcrumb/Breadcrumb.js +68 -42
  547. package/src/components/breadcrumb/EllipsisCrumb.js +10 -6
  548. package/src/components/count-badge/CountBadge.stories.tsx +1 -1
  549. package/src/components/draggable-list/DraggableList.stories.tsx +72 -5
  550. package/src/components/dropdown-menu/DropdownMenu.js +11 -0
  551. package/src/components/dropdown-menu/DropdownMenu.scss +3 -3
  552. package/src/components/dropdown-menu/__tests__/DropdownMenu.test.js +38 -0
  553. package/src/components/grid-view/__tests__/__snapshots__/GridViewSlider.test.js.snap +1 -0
  554. package/src/components/infinite-scroll/InfiniteScroll.md +1 -1
  555. package/src/components/infinite-scroll/InfiniteScroll.tsx +5 -2
  556. package/src/components/infinite-scroll/__tests__/InfiniteScroll.test.tsx +115 -127
  557. package/src/components/modal/Modal.scss +5 -1
  558. package/src/components/search-form/SearchForm.js +1 -1
  559. package/src/components/search-form/__tests__/SearchForm.test.js +25 -6
  560. package/src/components/sidebar-toggle-button/__tests__/__snapshots__/SidebarToggleButton.test.js.snap +4 -0
  561. package/src/components/table/__tests__/makeSelectable.test.js +654 -144
  562. package/src/components/table/makeSelectable.js +299 -98
  563. package/src/components/time/__tests__/ReadableTime.test.js +0 -1
  564. package/src/components/tooltip/Tooltip.tsx +5 -2
  565. package/src/components/tooltip/__tests__/Tooltip.test.tsx +10 -0
  566. package/src/components/tooltip/__tests__/__snapshots__/Tooltip.test.tsx.snap +1 -1
  567. package/src/constants.js +11 -0
  568. package/src/elements/common/annotator-context/__tests__/useAnnotatorEvents.test.tsx +509 -0
  569. package/src/elements/common/annotator-context/__tests__/withAnnotations.test.tsx +275 -12
  570. package/src/elements/common/annotator-context/__tests__/withAnnotatorContext.test.tsx +18 -6
  571. package/src/elements/common/annotator-context/index.js.flow +4 -0
  572. package/src/elements/common/annotator-context/index.ts +1 -0
  573. package/src/elements/common/annotator-context/types.js.flow +77 -35
  574. package/src/elements/common/annotator-context/types.ts +28 -6
  575. package/src/elements/common/annotator-context/useAnnotatorEvents.js.flow +52 -0
  576. package/src/elements/common/annotator-context/useAnnotatorEvents.ts +190 -0
  577. package/src/elements/common/annotator-context/withAnnotations.js.flow +73 -36
  578. package/src/elements/common/annotator-context/withAnnotations.tsx +170 -7
  579. package/src/elements/common/annotator-context/withAnnotatorContext.js.flow +29 -9
  580. package/src/elements/common/annotator-context/withAnnotatorContext.tsx +28 -5
  581. package/src/elements/common/current-user/__tests__/withCurrentUser.test.tsx +108 -0
  582. package/src/elements/common/current-user/index.js.flow +8 -0
  583. package/src/elements/common/current-user/index.ts +2 -0
  584. package/src/elements/common/current-user/withCurrentUser.js.flow +40 -0
  585. package/src/elements/common/current-user/withCurrentUser.tsx +139 -0
  586. package/src/elements/common/flowTypes.js +22 -4
  587. package/src/elements/common/interactionTargets.js +2 -0
  588. package/src/elements/common/logger/Logger.js +1 -1
  589. package/src/elements/common/messages.js +5 -0
  590. package/src/elements/content-explorer/DeleteConfirmationDialog.js +3 -1
  591. package/src/elements/content-explorer/DeleteConfirmationDialog.scss +5 -0
  592. package/src/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js +60 -0
  593. package/src/elements/content-explorer/stories/DeleteConfirmationDialog.stories.md +1 -0
  594. package/src/elements/content-sidebar/ActivitySidebar.js +381 -154
  595. package/src/elements/content-sidebar/ActivitySidebarFilter.js +59 -0
  596. package/src/elements/content-sidebar/ActivitySidebarFilter.scss +4 -0
  597. package/src/elements/content-sidebar/DetailsSidebar.js +32 -4
  598. package/src/elements/content-sidebar/Sidebar.js +6 -1
  599. package/src/elements/content-sidebar/SidebarContentInsights.scss +6 -0
  600. package/src/elements/content-sidebar/SidebarContentInsights.tsx +57 -0
  601. package/src/elements/content-sidebar/SidebarPanels.js +4 -0
  602. package/src/elements/content-sidebar/__tests__/ActivitySidebar.test.js +533 -243
  603. package/src/elements/content-sidebar/__tests__/ActivitySidebarFilter.test.js +54 -0
  604. package/src/elements/content-sidebar/__tests__/DetailsSidebar.test.js +45 -0
  605. package/src/elements/content-sidebar/__tests__/Sidebar.test.js +1 -1
  606. package/src/elements/content-sidebar/__tests__/SidebarContentInsights.test.tsx +56 -0
  607. package/src/elements/content-sidebar/__tests__/SidebarPanels.test.js +4 -3
  608. package/src/elements/content-sidebar/__tests__/__snapshots__/ActivitySidebar.test.js.snap +29 -15
  609. package/src/elements/content-sidebar/__tests__/__snapshots__/SidebarFileProperties.test.js.snap +1 -0
  610. package/src/elements/content-sidebar/__tests__/withSidebarAnnotations.test.js +325 -32
  611. package/src/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js +122 -24
  612. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js +59 -18
  613. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js +126 -0
  614. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.scss +17 -0
  615. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js +85 -0
  616. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.scss +16 -0
  617. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js +59 -0
  618. package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.scss +22 -0
  619. package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActiveState.test.js +19 -5
  620. package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityFeed.test.js +22 -16
  621. package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityThread.test.js +80 -0
  622. package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityThreadReplies.test.js +24 -0
  623. package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityThreadRepliesForm.test.js +47 -0
  624. package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/__snapshots__/ActiveState.test.js.snap +74 -43
  625. package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/activityFeedUtils.test.js +8 -8
  626. package/src/elements/content-sidebar/activity-feed/activity-feed/activityFeedUtils.js +2 -2
  627. package/src/elements/content-sidebar/activity-feed/activity-feed/fixtures.ts +56 -0
  628. package/src/elements/content-sidebar/activity-feed/activity-feed/messages.js +20 -0
  629. package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js +117 -0
  630. package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.scss +7 -0
  631. package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js +105 -0
  632. package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.scss +5 -0
  633. package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js +86 -0
  634. package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.scss +3 -0
  635. package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/AnnotationThread.test.js +28 -0
  636. package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/AnnotationThreadContent.test.js +89 -0
  637. package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/AnnotationThreadCreate.test.js +103 -0
  638. package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/useAnnotationAPI.test.js +202 -0
  639. package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/useRepliesAPI.test.js +99 -0
  640. package/src/elements/content-sidebar/activity-feed/annotation-thread/errors.js +26 -0
  641. package/src/elements/content-sidebar/activity-feed/annotation-thread/index.js +1 -0
  642. package/src/elements/content-sidebar/activity-feed/annotation-thread/messages.js +21 -0
  643. package/src/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js +203 -0
  644. package/src/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js +121 -0
  645. package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js +24 -4
  646. package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js +36 -2
  647. package/src/elements/content-sidebar/activity-feed/annotations/__tests__/AnnotationActivity.test.js +14 -10
  648. package/src/elements/content-sidebar/activity-feed/annotations/__tests__/AnnotationActivityMenu.test.js +35 -1
  649. package/src/elements/content-sidebar/activity-feed/annotations/messages.js +10 -0
  650. package/src/elements/content-sidebar/activity-feed/comment/Comment.js +54 -10
  651. package/src/elements/content-sidebar/activity-feed/comment/__tests__/Comment.test.js +152 -7
  652. package/src/elements/content-sidebar/activity-feed/comment/__tests__/__snapshots__/Comment.test.js.snap +12 -7
  653. package/src/elements/content-sidebar/activity-feed/comment/messages.js +10 -0
  654. package/src/elements/content-sidebar/activity-feed/comment-form/CommentForm.js +3 -1
  655. package/src/elements/content-sidebar/activity-feed/comment-form/__tests__/CommentForm.test.js +11 -0
  656. package/src/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.js +34 -4
  657. package/src/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.scss +40 -3
  658. package/src/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessage.js +42 -0
  659. package/src/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessageToggle.js +24 -0
  660. package/src/elements/content-sidebar/activity-feed/common/activity-message/__tests__/ActivityMessage.test.js +48 -1
  661. package/src/elements/content-sidebar/activity-feed/common/activity-message/messages.js +15 -0
  662. package/src/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.js +30 -0
  663. package/src/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.scss +6 -0
  664. package/src/elements/content-sidebar/activity-feed/common/activity-status/__tests__/ActivityStatus.test.js +19 -0
  665. package/src/elements/content-sidebar/activity-feed/common/activity-status/index.js +2 -0
  666. package/src/elements/content-sidebar/activity-feed/common/activity-status/messages.js +13 -0
  667. package/src/elements/content-sidebar/activity-feed/common/activity-timestamp/ActivityTimestamp.scss +1 -1
  668. package/src/elements/content-sidebar/activity-feed/task-new/__tests__/Task.test.js +4 -3
  669. package/src/elements/content-sidebar/activity-feed/task-new/__tests__/__snapshots__/Task.test.js.snap +1 -2
  670. package/src/elements/content-sidebar/fixtures.js +185 -0
  671. package/src/elements/content-sidebar/flowTypes.js +9 -25
  672. package/src/elements/content-sidebar/messages.js +10 -0
  673. package/src/elements/content-sidebar/withErrorHandling.js +1 -1
  674. package/src/elements/content-sidebar/withSidebarAnnotations.js +162 -11
  675. package/src/elements/content-uploader/OverallUploadsProgressBar.js +11 -12
  676. package/src/features/classification/Classification.scss +1 -1
  677. package/src/features/classification/security-controls/SecurityControlsItem.scss +1 -0
  678. package/src/features/classification/security-controls/__tests__/__snapshots__/utils.test.js.snap +18 -16
  679. package/src/features/classification/security-controls/__tests__/utils.test.js +13 -5
  680. package/src/features/classification/security-controls/messages.js +10 -0
  681. package/src/features/classification/security-controls/utils.js +8 -12
  682. package/src/features/collapsible-sidebar/__tests__/__snapshots__/CollapsibleSidebarLogo.test.js.snap +2 -0
  683. package/src/features/content-explorer/content-explorer/ContentExplorer.js +4 -0
  684. package/src/features/content-explorer/content-explorer/ContentExplorer.scss +4 -0
  685. package/src/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js +14 -11
  686. package/src/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js +4 -1
  687. package/src/features/content-explorer/content-explorer/__tests__/ContentExplorerBreadcrumbs.test.js +2 -2
  688. package/src/features/content-explorer/content-explorer-modal/ContentExplorerModal.js +5 -1
  689. package/src/features/content-explorer/content-explorer-modal/__tests__/__snapshots__/ContentExplorerModal.test.js.snap +1 -0
  690. package/src/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js +5 -1
  691. package/src/features/content-explorer/prop-types.js +8 -0
  692. package/src/features/content-insights/CompactCount.tsx +23 -0
  693. package/src/features/content-insights/ContentAnalyticsErrorState.scss +17 -0
  694. package/src/features/content-insights/ContentAnalyticsErrorState.tsx +44 -0
  695. package/src/features/content-insights/ContentInsightsSummary.scss +12 -0
  696. package/src/features/content-insights/ContentInsightsSummary.tsx +45 -0
  697. package/src/features/content-insights/ContentInsightsSummaryGhostState.scss +9 -0
  698. package/src/features/content-insights/ContentInsightsSummaryGhostState.tsx +18 -0
  699. package/src/features/content-insights/GraphCardGhostState.scss +18 -0
  700. package/src/features/content-insights/GraphCardGhostState.tsx +18 -0
  701. package/src/features/content-insights/GraphCardPreviewsSummary.scss +10 -0
  702. package/src/features/content-insights/GraphCardPreviewsSummary.tsx +40 -0
  703. package/src/features/content-insights/GraphGhostState.scss +11 -0
  704. package/src/features/content-insights/GraphGhostState.tsx +17 -0
  705. package/src/features/content-insights/HeaderWithCount.scss +10 -0
  706. package/src/features/content-insights/HeaderWithCount.tsx +24 -0
  707. package/src/features/content-insights/MetricSummary.scss +14 -0
  708. package/src/features/content-insights/MetricSummary.tsx +65 -0
  709. package/src/features/content-insights/OpenContentInsightsButton.tsx +20 -0
  710. package/src/features/content-insights/TrendPill.scss +33 -0
  711. package/src/features/content-insights/TrendPill.tsx +70 -0
  712. package/src/features/content-insights/__tests__/CompactCount.test.tsx +57 -0
  713. package/src/features/content-insights/__tests__/ContentAnalyticsErrorState.test.tsx +33 -0
  714. package/src/features/content-insights/__tests__/ContentInsightsSummary.test.tsx +81 -0
  715. package/src/features/content-insights/__tests__/GraphCardPreviewsSummary.test.tsx +35 -0
  716. package/src/features/content-insights/__tests__/HeaderWithCount.test.tsx +26 -0
  717. package/src/features/content-insights/__tests__/MetricSummary.test.tsx +88 -0
  718. package/src/features/content-insights/_mixins.scss +7 -0
  719. package/src/features/content-insights/_variables.scss +4 -0
  720. package/src/features/content-insights/charts/bar/Bar.scss +27 -0
  721. package/src/features/content-insights/charts/bar/Bar.tsx +48 -0
  722. package/src/features/content-insights/charts/bar/BarChart.scss +56 -0
  723. package/src/features/content-insights/charts/bar/BarChart.tsx +78 -0
  724. package/src/features/content-insights/charts/bar/__tests__/Bar.test.tsx +74 -0
  725. package/src/features/content-insights/charts/bar/__tests__/BarChart.test.tsx +110 -0
  726. package/src/features/content-insights/charts/types.ts +3 -0
  727. package/src/features/content-insights/constants.ts +60 -0
  728. package/src/features/content-insights/messages.ts +90 -0
  729. package/src/features/content-insights/numberUtils.ts +9 -0
  730. package/src/features/content-insights/types.ts +33 -0
  731. package/src/features/item-details/ItemProperties.scss +1 -1
  732. package/src/features/shared-link-settings-modal/SharedLinkSettingsModal.js +4 -2
  733. package/src/features/shared-link-settings-modal/__tests__/SharedLinkSettingsModal.test.js +22 -3
  734. package/src/features/shared-link-settings-modal/__tests__/__snapshots__/SharedLinkSettingsModal.test.js.snap +2 -1
  735. package/src/features/unified-share-modal/ContactRestrictionNotice.js +36 -6
  736. package/src/features/unified-share-modal/EmailForm.js +31 -13
  737. package/src/features/unified-share-modal/UnifiedShareForm.js +25 -8
  738. package/src/features/unified-share-modal/UnifiedShareModal.js +1 -0
  739. package/src/features/unified-share-modal/__tests__/ContactRestrictionNotice.test.js +55 -6
  740. package/src/features/unified-share-modal/__tests__/EmailForm.test.js +131 -24
  741. package/src/features/unified-share-modal/__tests__/UnifiedShareForm.test.js +89 -35
  742. package/src/features/unified-share-modal/__tests__/__snapshots__/UnifiedShareForm.test.js.snap +16 -0
  743. package/src/features/unified-share-modal/__tests__/__snapshots__/UnifiedShareModal.test.js.snap +17 -0
  744. package/src/features/unified-share-modal/flowTypes.js +4 -2
  745. package/src/features/unified-share-modal/messages.js +14 -8
  746. package/src/features/unified-share-modal/utils/__tests__/hasRestrictedContacts.test.js +24 -10
  747. package/src/features/unified-share-modal/utils/__tests__/isRestrictedContact.test.js +33 -0
  748. package/src/features/unified-share-modal/utils/hasRestrictedContacts.js +10 -3
  749. package/src/features/unified-share-modal/utils/isRestrictedContact.js +21 -0
  750. package/src/features/virtualized-table/__tests__/__snapshots__/VirtualizedTable.test.js.snap +1 -0
  751. package/src/icon/fill/Alert16.js.flow +3 -2
  752. package/src/icon/fill/Alert16.tsx +3 -2
  753. package/src/icon/fill/AlertBadge16.js.flow +29 -0
  754. package/src/icon/fill/AlertBadge16.stories.tsx +13 -0
  755. package/src/icon/fill/AlertBadge16.tsx +27 -0
  756. package/src/icon/fill/Info16.js.flow +1 -1
  757. package/src/icon/fill/Info16.tsx +1 -1
  758. package/src/icon/fill/InfoBadge16.js.flow +28 -0
  759. package/src/icon/fill/InfoBadge16.stories.tsx +13 -0
  760. package/src/icon/fill/InfoBadge16.tsx +26 -0
  761. package/src/icon/line/AlertBubble16.js.flow +29 -0
  762. package/src/icon/line/AlertBubble16.stories.tsx +13 -0
  763. package/src/icon/line/AlertBubble16.tsx +27 -0
  764. package/src/icon/line/AvatarXBadge16.js.flow +39 -0
  765. package/src/icon/line/AvatarXBadge16.stories.tsx +13 -0
  766. package/src/icon/line/AvatarXBadge16.tsx +37 -0
  767. package/src/icon/line/CoEdit16.js.flow +30 -0
  768. package/src/icon/line/CoEdit16.stories.tsx +13 -0
  769. package/src/icon/line/CoEdit16.tsx +28 -0
  770. package/src/icon/line/Collaborations16.js.flow +30 -0
  771. package/src/icon/line/Collaborations16.stories.tsx +13 -0
  772. package/src/icon/line/Collaborations16.tsx +28 -0
  773. package/src/icon/line/CommentBubble16.js.flow +34 -0
  774. package/src/icon/line/CommentBubble16.stories.tsx +13 -0
  775. package/src/icon/line/CommentBubble16.tsx +32 -0
  776. package/src/styles/constants/_layout.scss +1 -1
  777. package/src/styles/constants/_media-queries.scss +2 -0
  778. package/src/styles/variables.js +4 -2
  779. package/src/styles/variables.json +4 -2
  780. package/src/styles/variables.ts +3 -1
  781. package/src/utils/__tests__/fields.test.js +23 -4
  782. package/src/utils/__tests__/sorter.test.js +3 -3
  783. package/src/utils/error.js +5 -1
  784. package/src/utils/fields.js +21 -3
  785. package/src/utils/sorter.js +2 -2
  786. package/es/common/types/threadedComments.js +0 -2
  787. package/es/common/types/threadedComments.js.flow +0 -9
  788. package/src/common/types/threadedComments.js +0 -9
@@ -28,6 +28,7 @@ import CommentsAPI from './Comments';
28
28
  import TasksNewAPI from './tasks/TasksNew';
29
29
  import TaskCollaboratorsAPI from './tasks/TaskCollaborators';
30
30
  import TaskLinksAPI from './tasks/TaskLinks';
31
+ import ThreadedCommentsAPI from './ThreadedComments';
31
32
  import FileAccessStatsAPI from './FileAccessStats';
32
33
  import MarkerBasedGroupsAPI from './MarkerBasedGroups';
33
34
  import MarkerBasedUsersAPI from './MarkerBasedUsers';
@@ -89,6 +90,10 @@ function () {
89
90
  * @property {CommentsAPI}
90
91
  */
91
92
 
93
+ /**
94
+ * @property {ThreadedCommentsAPI}
95
+ */
96
+
92
97
  /**
93
98
  * @property {TasksNewAPI}
94
99
  */
@@ -265,6 +270,11 @@ function () {
265
270
  delete this.commentsAPI;
266
271
  }
267
272
 
273
+ if (this.threadedCommentsAPI) {
274
+ this.threadedCommentsAPI.destroy();
275
+ delete this.threadedCommentsAPI;
276
+ }
277
+
268
278
  if (this.markerBasedGroupsAPI) {
269
279
  this.markerBasedGroupsAPI.destroy();
270
280
  delete this.markerBasedGroupsAPI;
@@ -524,6 +534,23 @@ function () {
524
534
  this.commentsAPI = new CommentsAPI(this.options);
525
535
  return this.commentsAPI;
526
536
  }
537
+ /**
538
+ * API for threaded comments
539
+ *
540
+ * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call
541
+ * @return {ThreadedCommentsAPI} ThreadedCommentsAPI instance
542
+ */
543
+
544
+ }, {
545
+ key: "getThreadedCommentsAPI",
546
+ value: function getThreadedCommentsAPI(shouldDestroy) {
547
+ if (shouldDestroy) {
548
+ this.destroy();
549
+ }
550
+
551
+ this.threadedCommentsAPI = new ThreadedCommentsAPI(this.options);
552
+ return this.threadedCommentsAPI;
553
+ }
527
554
  /**
528
555
  * API for tasks
529
556
  *
@@ -17,6 +17,7 @@ import CommentsAPI from './Comments';
17
17
  import TasksNewAPI from './tasks/TasksNew';
18
18
  import TaskCollaboratorsAPI from './tasks/TaskCollaborators';
19
19
  import TaskLinksAPI from './tasks/TaskLinks';
20
+ import ThreadedCommentsAPI from './ThreadedComments';
20
21
  import FileAccessStatsAPI from './FileAccessStats';
21
22
  import MarkerBasedGroupsAPI from './MarkerBasedGroups';
22
23
  import MarkerBasedUsersAPI from './MarkerBasedUsers';
@@ -91,6 +92,11 @@ class APIFactory {
91
92
  */
92
93
  commentsAPI: CommentsAPI;
93
94
 
95
+ /**
96
+ * @property {ThreadedCommentsAPI}
97
+ */
98
+ threadedCommentsAPI: ThreadedCommentsAPI;
99
+
94
100
  /**
95
101
  * @property {TasksNewAPI}
96
102
  */
@@ -280,6 +286,11 @@ class APIFactory {
280
286
  delete this.commentsAPI;
281
287
  }
282
288
 
289
+ if (this.threadedCommentsAPI) {
290
+ this.threadedCommentsAPI.destroy();
291
+ delete this.threadedCommentsAPI;
292
+ }
293
+
283
294
  if (this.markerBasedGroupsAPI) {
284
295
  this.markerBasedGroupsAPI.destroy();
285
296
  delete this.markerBasedGroupsAPI;
@@ -510,6 +521,21 @@ class APIFactory {
510
521
  return this.commentsAPI;
511
522
  }
512
523
 
524
+ /**
525
+ * API for threaded comments
526
+ *
527
+ * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call
528
+ * @return {ThreadedCommentsAPI} ThreadedCommentsAPI instance
529
+ */
530
+ getThreadedCommentsAPI(shouldDestroy: boolean): ThreadedCommentsAPI {
531
+ if (shouldDestroy) {
532
+ this.destroy();
533
+ }
534
+
535
+ this.threadedCommentsAPI = new ThreadedCommentsAPI(this.options);
536
+ return this.threadedCommentsAPI;
537
+ }
538
+
513
539
  /**
514
540
  * API for tasks
515
541
  *
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/APIFactory.js"],"names":["Cache","ChunkedUploadAPI","PlainUploadAPI","FolderAPI","FileAPI","WebLinkAPI","SearchAPI","RecentsAPI","VersionsAPI","CommentsAPI","TasksNewAPI","TaskCollaboratorsAPI","TaskLinksAPI","FileAccessStatsAPI","MarkerBasedGroupsAPI","MarkerBasedUsersAPI","GroupsAPI","UsersAPI","MetadataAPI","FileCollaboratorsAPI","FileCollaborationsAPI","FolderCollaborationsAPI","CollaborationsAPI","FeedAPI","AppIntegrationsAPI","AnnotationsAPI","OpenWithAPI","MetadataQueryAPI","BoxEditAPI","DEFAULT_HOSTNAME_API","DEFAULT_HOSTNAME_UPLOAD","TYPE_FOLDER","TYPE_FILE","TYPE_WEBLINK","APIFactory","options","apiHost","uploadHost","cache","language","destroyCache","fileAPI","destroy","weblinkAPI","plainUploadAPI","chunkedUploadAPI","folderAPI","searchAPI","recentsAPI","versionsAPI","fileAccessStatsAPI","tasksNewAPI","taskCollaboratorsAPI","taskLinksAPI","commentsAPI","markerBasedGroupsAPI","markerBasedUsersAPI","groupsAPI","usersAPI","metadataAPI","fileCollaboratorsAPI","fileCollaborationsAPI","folderCollaborationsAPI","collaborationsAPI","appIntegrationsAPI","metadataQueryAPI","openWithAPI","annotationsAPI","type","api","getFolderAPI","getFileAPI","getWebLinkAPI","Error","shouldDestroy","feedItemsAPI","boxEditAPI"],"mappings":"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","sourcesContent":["/**\n * @flow\n * @file Main entry point for the box api\n * @author Box\n */\n\nimport Cache from '../utils/Cache';\nimport ChunkedUploadAPI from './uploads/MultiputUpload';\nimport PlainUploadAPI from './uploads/PlainUpload';\nimport FolderAPI from './Folder';\nimport FileAPI from './File';\nimport WebLinkAPI from './WebLink';\nimport SearchAPI from './Search';\nimport RecentsAPI from './Recents';\nimport VersionsAPI from './Versions';\nimport CommentsAPI from './Comments';\nimport TasksNewAPI from './tasks/TasksNew';\nimport TaskCollaboratorsAPI from './tasks/TaskCollaborators';\nimport TaskLinksAPI from './tasks/TaskLinks';\nimport FileAccessStatsAPI from './FileAccessStats';\nimport MarkerBasedGroupsAPI from './MarkerBasedGroups';\nimport MarkerBasedUsersAPI from './MarkerBasedUsers';\nimport GroupsAPI from './Groups';\nimport UsersAPI from './Users';\nimport MetadataAPI from './Metadata';\nimport FileCollaboratorsAPI from './FileCollaborators';\nimport FileCollaborationsAPI from './FileCollaborations';\nimport FolderCollaborationsAPI from './FolderCollaborations';\nimport CollaborationsAPI from './Collaborations';\nimport FeedAPI from './Feed';\nimport AppIntegrationsAPI from './AppIntegrations';\nimport AnnotationsAPI from './Annotations';\nimport OpenWithAPI from './OpenWith';\nimport MetadataQueryAPI from './MetadataQuery';\nimport BoxEditAPI from './box-edit';\nimport { DEFAULT_HOSTNAME_API, DEFAULT_HOSTNAME_UPLOAD, TYPE_FOLDER, TYPE_FILE, TYPE_WEBLINK } from '../constants';\nimport type { ItemType } from '../common/types/core';\nimport type { APIOptions } from '../common/types/api';\nimport type APICache from '../utils/Cache';\n\ntype ItemAPI = FolderAPI | FileAPI | WebLinkAPI;\n\nclass APIFactory {\n /**\n * @property {*}\n */\n options: APIOptions;\n\n /**\n * @property {FileAPI}\n */\n fileAPI: FileAPI;\n\n /**\n * @property {WebLink}\n */\n weblinkAPI: WebLinkAPI;\n\n /**\n * @property {FolderAPI}\n */\n folderAPI: FolderAPI;\n\n /**\n * @property {PlainUploadAPI}\n */\n plainUploadAPI: PlainUploadAPI;\n\n /**\n * @property {ChunkedUploadAPI}\n */\n chunkedUploadAPI: ChunkedUploadAPI;\n\n /**\n * @property {SearchAPI}\n */\n searchAPI: SearchAPI;\n\n /**\n * @property {RecentsAPI}\n */\n recentsAPI: RecentsAPI;\n\n /**\n * @property {VersionsAPI}\n */\n versionsAPI: VersionsAPI;\n\n /**\n * @property {CommentsAPI}\n */\n commentsAPI: CommentsAPI;\n\n /**\n * @property {TasksNewAPI}\n */\n tasksNewAPI: TasksNewAPI;\n\n /**\n * @property {TaskCollaboratorsAPI}\n */\n taskCollaboratorsAPI: TaskCollaboratorsAPI;\n\n /**\n * @property {TaskLinksAPI}\n */\n taskLinksAPI: TaskLinksAPI;\n\n /*\n * @property {FileAccessStatsAPI}\n */\n fileAccessStatsAPI: FileAccessStatsAPI;\n\n /*\n * @property {MarkerBasedGroupsAPI}\n */\n markerBasedGroupsAPI: MarkerBasedGroupsAPI;\n\n /*\n * @property {MarkerBasedUsersAPI}\n */\n markerBasedUsersAPI: MarkerBasedUsersAPI;\n\n /**\n * @property {GroupsAPI}\n */\n groupsAPI: GroupsAPI;\n\n /*\n * @property {UsersAPI}\n */\n usersAPI: UsersAPI;\n\n /*\n * @property {MetadataAPI}\n */\n metadataAPI: MetadataAPI;\n\n /**\n * @property {FileCollaboratorsAPI}\n */\n fileCollaboratorsAPI: FileCollaboratorsAPI;\n\n /**\n * @property {FileCollaborationsAPI}\n */\n fileCollaborationsAPI: FileCollaborationsAPI;\n\n /**\n * @property {FolderCollaborationsAPI}\n */\n folderCollaborationsAPI: FolderCollaborationsAPI;\n\n /**\n * @property {CollaborationsAPI}\n */\n collaborationsAPI: CollaborationsAPI;\n\n /**\n * @property {FeedAPI}\n */\n feedItemsAPI: FeedAPI;\n\n /**\n * @property {OpenWithAPI}\n */\n openWithAPI: OpenWithAPI;\n\n /**\n * @property {AppIntegrationsAPI}\n */\n appIntegrationsAPI: AppIntegrationsAPI;\n\n /**\n * @property {MetadataQueryAPI}\n */\n metadataQueryAPI: MetadataQueryAPI;\n\n /** @property {BoxEditAPI}\n *\n */\n boxEditAPI: BoxEditAPI;\n\n /**\n * @property {AnnotationsAPI}\n */\n annotationsAPI: AnnotationsAPI;\n\n /**\n * [constructor]\n *\n * @param {Object} options\n * @param {string} options.id - item id\n * @param {string|function} options.token - Auth token\n * @param {string} [options.sharedLink] - Shared link\n * @param {string} [options.sharedLinkPassword] - Shared link password\n * @param {string} [options.apiHost] - Api host\n * @param {string} [options.uploadHost] - Upload host name\n * @return {API} Api instance\n */\n constructor(options: APIOptions) {\n this.options = {\n ...options,\n apiHost: options.apiHost || DEFAULT_HOSTNAME_API,\n uploadHost: options.uploadHost || DEFAULT_HOSTNAME_UPLOAD,\n cache: options.cache || new Cache(),\n language: options.language,\n };\n }\n\n /**\n * [destructor]\n *\n * @param {boolean} destroyCache - true to destroy cache\n * @return {void}\n */\n destroy(destroyCache: boolean = false) {\n if (this.fileAPI) {\n this.fileAPI.destroy();\n delete this.fileAPI;\n }\n\n if (this.weblinkAPI) {\n this.weblinkAPI.destroy();\n delete this.weblinkAPI;\n }\n\n if (this.plainUploadAPI) {\n this.plainUploadAPI.destroy();\n delete this.plainUploadAPI;\n }\n\n if (this.chunkedUploadAPI) {\n this.chunkedUploadAPI.destroy();\n delete this.chunkedUploadAPI;\n }\n\n if (this.folderAPI) {\n this.folderAPI.destroy();\n delete this.folderAPI;\n }\n\n if (this.searchAPI) {\n this.searchAPI.destroy();\n delete this.searchAPI;\n }\n\n if (this.recentsAPI) {\n this.recentsAPI.destroy();\n delete this.recentsAPI;\n }\n\n if (this.versionsAPI) {\n this.versionsAPI.destroy();\n delete this.versionsAPI;\n }\n\n if (this.fileAccessStatsAPI) {\n this.fileAccessStatsAPI.destroy();\n delete this.fileAccessStatsAPI;\n }\n\n if (this.tasksNewAPI) {\n this.tasksNewAPI.destroy();\n delete this.tasksNewAPI;\n }\n\n if (this.taskCollaboratorsAPI) {\n this.taskCollaboratorsAPI.destroy();\n delete this.taskCollaboratorsAPI;\n }\n\n if (this.taskLinksAPI) {\n this.taskLinksAPI.destroy();\n delete this.taskLinksAPI;\n }\n\n if (this.commentsAPI) {\n this.commentsAPI.destroy();\n delete this.commentsAPI;\n }\n\n if (this.markerBasedGroupsAPI) {\n this.markerBasedGroupsAPI.destroy();\n delete this.markerBasedGroupsAPI;\n }\n\n if (this.markerBasedUsersAPI) {\n this.markerBasedUsersAPI.destroy();\n delete this.markerBasedUsersAPI;\n }\n\n if (this.groupsAPI) {\n this.groupsAPI.destroy();\n delete this.groupsAPI;\n }\n\n if (this.usersAPI) {\n this.usersAPI.destroy();\n delete this.usersAPI;\n }\n\n if (this.metadataAPI) {\n this.metadataAPI.destroy();\n delete this.metadataAPI;\n }\n\n if (this.fileCollaboratorsAPI) {\n this.fileCollaboratorsAPI.destroy();\n delete this.fileCollaboratorsAPI;\n }\n\n if (this.fileCollaborationsAPI) {\n this.fileCollaborationsAPI.destroy();\n delete this.fileCollaborationsAPI;\n }\n\n if (this.folderCollaborationsAPI) {\n this.folderCollaborationsAPI.destroy();\n delete this.folderCollaborationsAPI;\n }\n\n if (this.collaborationsAPI) {\n this.collaborationsAPI.destroy();\n delete this.collaborationsAPI;\n }\n\n if (this.appIntegrationsAPI) {\n this.appIntegrationsAPI.destroy();\n delete this.appIntegrationsAPI;\n }\n\n if (this.metadataQueryAPI) {\n this.metadataQueryAPI.destroy();\n delete this.metadataQueryAPI;\n }\n\n if (this.openWithAPI) {\n this.openWithAPI.destroy();\n delete this.openWithAPI;\n }\n\n if (this.annotationsAPI) {\n this.annotationsAPI.destroy();\n delete this.annotationsAPI;\n }\n\n if (destroyCache) {\n this.options.cache = new Cache();\n }\n }\n\n /**\n * Gets the cache instance\n *\n * @return {Cache} cache instance\n */\n getCache(): APICache {\n return ((this.options.cache: any): APICache);\n }\n\n /**\n * Returns the API based on type of item\n *\n * @private\n * @param {String} type - item type\n * @return {ItemAPI} api\n */\n getAPI(type: ItemType): ItemAPI {\n let api: ItemAPI;\n\n switch (type) {\n case TYPE_FOLDER:\n api = this.getFolderAPI();\n break;\n case TYPE_FILE:\n api = this.getFileAPI();\n break;\n case TYPE_WEBLINK:\n api = this.getWebLinkAPI();\n break;\n default:\n throw new Error('Unknown Type!');\n }\n\n return api;\n }\n\n /**\n * API for file\n *\n * @return {FileAPI} FileAPI instance\n */\n getFileAPI(shouldDestroy: boolean = true): FileAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n this.fileAPI = new FileAPI(this.options);\n return this.fileAPI;\n }\n\n /**\n * API for web links\n *\n * @return {WebLinkAPI} WebLinkAPI instance\n */\n getWebLinkAPI(): WebLinkAPI {\n this.destroy();\n this.weblinkAPI = new WebLinkAPI(this.options);\n return this.weblinkAPI;\n }\n\n /**\n * API for plain uploads\n *\n * @return {UploadAPI} UploadAPI instance\n */\n getPlainUploadAPI(): PlainUploadAPI {\n this.destroy();\n this.plainUploadAPI = new PlainUploadAPI(this.options);\n return this.plainUploadAPI;\n }\n\n /**\n * API for chunked uploads\n *\n * @return {UploadAPI} UploadAPI instance\n */\n getChunkedUploadAPI(): ChunkedUploadAPI {\n this.destroy();\n this.chunkedUploadAPI = new ChunkedUploadAPI(this.options);\n return this.chunkedUploadAPI;\n }\n\n /**\n * API for folder\n *\n * @return {FolderAPI} FolderAPI instance\n */\n getFolderAPI(): FolderAPI {\n this.destroy();\n this.folderAPI = new FolderAPI(this.options);\n return this.folderAPI;\n }\n\n /**\n * API for search\n *\n * @return {SearchAPI} SearchAPI instance\n */\n getSearchAPI(): SearchAPI {\n this.destroy();\n this.searchAPI = new SearchAPI(this.options);\n return this.searchAPI;\n }\n\n /**\n * API for recents\n *\n * @return {RecentsAPI} RecentsAPI instance\n */\n getRecentsAPI(): RecentsAPI {\n this.destroy();\n this.recentsAPI = new RecentsAPI(this.options);\n return this.recentsAPI;\n }\n\n /**\n * API for metadata\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {MetadataAPI} MetadataAPI instance\n */\n getMetadataAPI(shouldDestroy: boolean): MetadataAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.metadataAPI = new MetadataAPI(this.options);\n return this.metadataAPI;\n }\n\n /**\n * API for versions\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {VersionsAPI} VersionsAPI instance\n */\n getVersionsAPI(shouldDestroy: boolean): VersionsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.versionsAPI = new VersionsAPI(this.options);\n return this.versionsAPI;\n }\n\n /**\n * API for comments\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {CommentsAPI} CommentsAPI instance\n */\n getCommentsAPI(shouldDestroy: boolean): CommentsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.commentsAPI = new CommentsAPI(this.options);\n return this.commentsAPI;\n }\n\n /**\n * API for tasks\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {TasksAPI} TaskAssignmentsAPI instance\n */\n getTasksNewAPI(shouldDestroy: boolean): TasksNewAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.tasksNewAPI = new TasksNewAPI(this.options);\n return this.tasksNewAPI;\n }\n\n /**\n * API for taskCollaborators\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {TaskCollaboratorsAPI} TaskCollaboratorsAPI instance\n */\n getTaskCollaboratorsAPI(shouldDestroy: boolean): TaskCollaboratorsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.taskCollaboratorsAPI = new TaskCollaboratorsAPI(this.options);\n return this.taskCollaboratorsAPI;\n }\n\n /**\n * API for taskLinks\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {TasksAPI} TaskLinksAPI instance\n */\n getTaskLinksAPI(shouldDestroy: boolean): TaskLinksAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.taskLinksAPI = new TaskLinksAPI(this.options);\n return this.taskLinksAPI;\n }\n\n /**\n * API for file access stats\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FileAccessStatsAPI} FileAccessStatsAPI instance\n */\n getFileAccessStatsAPI(shouldDestroy: boolean): FileAccessStatsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.fileAccessStatsAPI = new FileAccessStatsAPI(this.options);\n return this.fileAccessStatsAPI;\n }\n\n /**\n * API for file collaborators\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FileCollaboratorsAPI} FileCollaboratorsAPI instance\n */\n getFileCollaboratorsAPI(shouldDestroy: boolean): FileCollaboratorsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.fileCollaboratorsAPI = new FileCollaboratorsAPI(this.options);\n return this.fileCollaboratorsAPI;\n }\n\n /**\n * API for file collaborations\n *\n * This is different from the FileCollaboratorsAPI! See ./FileCollaborations for more information.\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FileCollaborationsAPI} FileCollaborationsAPI instance\n */\n getFileCollaborationsAPI(shouldDestroy: boolean): FileCollaborationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.fileCollaborationsAPI = new FileCollaborationsAPI(this.options);\n return this.fileCollaborationsAPI;\n }\n\n /**\n * API for folder collaborations\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FolderCollaborationsAPI} FolderCollaborationsAPI instance\n */\n getFolderCollaborationsAPI(shouldDestroy: boolean): FolderCollaborationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.folderCollaborationsAPI = new FolderCollaborationsAPI(this.options);\n return this.folderCollaborationsAPI;\n }\n\n /**\n * API for collaborations\n *\n * This is different from the other collaboration/collaborator APIs!\n * See ./Collaborations for more information.\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {CollaborationsAPI} CollaborationsAPI instance\n */\n getCollaborationsAPI(shouldDestroy: boolean): CollaborationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.collaborationsAPI = new CollaborationsAPI(this.options);\n return this.collaborationsAPI;\n }\n\n /**\n * API for Groups (marker-based paging)\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {MarkerBasedGroupsAPI} MarkerBasedGroupsAPI instance\n */\n getMarkerBasedGroupsAPI(shouldDestroy: boolean): MarkerBasedGroupsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.markerBasedGroupsAPI = new MarkerBasedGroupsAPI(this.options);\n return this.markerBasedGroupsAPI;\n }\n\n /**\n * API for Users (marker-based paging)\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {MarkerBasedUsersAPI} MarkerBasedUsersAPI instance\n */\n getMarkerBasedUsersAPI(shouldDestroy: boolean): MarkerBasedUsersAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.markerBasedUsersAPI = new MarkerBasedUsersAPI(this.options);\n return this.markerBasedUsersAPI;\n }\n\n /**\n * API for Groups (offset-based paging)\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {GroupsAPI} GroupsAPI instance\n */\n getGroupsAPI(shouldDestroy: boolean): GroupsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.groupsAPI = new GroupsAPI(this.options);\n return this.groupsAPI;\n }\n\n /**\n * API for Users (offset-based paging)\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {UsersAPI} UsersAPI instance\n */\n getUsersAPI(shouldDestroy: boolean): UsersAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.usersAPI = new UsersAPI(this.options);\n return this.usersAPI;\n }\n\n /**\n * API for Feed Items\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FeedAPI} FeedAPI instance\n */\n getFeedAPI(shouldDestroy: boolean): FeedAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.feedItemsAPI = new FeedAPI(this.options);\n return this.feedItemsAPI;\n }\n\n /**\n * API for Open With\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {OpenWithAPI} OpenWithAPI instance\n */\n getOpenWithAPI(shouldDestroy: boolean): OpenWithAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.openWithAPI = new OpenWithAPI(this.options);\n return this.openWithAPI;\n }\n\n /**\n * API for the App Integrations endpoint\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {AppIntegrationsAPI} AppIntegrationsAPI instance\n */\n getAppIntegrationsAPI(shouldDestroy: boolean): AppIntegrationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.appIntegrationsAPI = new AppIntegrationsAPI(this.options);\n return this.appIntegrationsAPI;\n }\n\n /**\n * API for Metadata Query\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {MetadataQuery} MetadataQuery instance\n */\n getMetadataQueryAPI(shouldDestroy: boolean = false): MetadataQueryAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.metadataQueryAPI = new MetadataQueryAPI(this.options);\n return this.metadataQueryAPI;\n }\n\n /**\n * API for Box Edit\n *\n * @return {BoxEditAPI} BoxEditAPI instance\n */\n getBoxEditAPI(): BoxEditAPI {\n this.boxEditAPI = new BoxEditAPI();\n return this.boxEditAPI;\n }\n\n /**\n * API for Annotations\n *\n * @return {AnnotationsAPI} AnnotationsAPI instance\n */\n getAnnotationsAPI(shouldDestroy: boolean): AnnotationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.annotationsAPI = new AnnotationsAPI(this.options);\n return this.annotationsAPI;\n }\n}\n\nexport default APIFactory;\n"],"file":"APIFactory.js"}
1
+ {"version":3,"sources":["../../src/api/APIFactory.js"],"names":["Cache","ChunkedUploadAPI","PlainUploadAPI","FolderAPI","FileAPI","WebLinkAPI","SearchAPI","RecentsAPI","VersionsAPI","CommentsAPI","TasksNewAPI","TaskCollaboratorsAPI","TaskLinksAPI","ThreadedCommentsAPI","FileAccessStatsAPI","MarkerBasedGroupsAPI","MarkerBasedUsersAPI","GroupsAPI","UsersAPI","MetadataAPI","FileCollaboratorsAPI","FileCollaborationsAPI","FolderCollaborationsAPI","CollaborationsAPI","FeedAPI","AppIntegrationsAPI","AnnotationsAPI","OpenWithAPI","MetadataQueryAPI","BoxEditAPI","DEFAULT_HOSTNAME_API","DEFAULT_HOSTNAME_UPLOAD","TYPE_FOLDER","TYPE_FILE","TYPE_WEBLINK","APIFactory","options","apiHost","uploadHost","cache","language","destroyCache","fileAPI","destroy","weblinkAPI","plainUploadAPI","chunkedUploadAPI","folderAPI","searchAPI","recentsAPI","versionsAPI","fileAccessStatsAPI","tasksNewAPI","taskCollaboratorsAPI","taskLinksAPI","commentsAPI","threadedCommentsAPI","markerBasedGroupsAPI","markerBasedUsersAPI","groupsAPI","usersAPI","metadataAPI","fileCollaboratorsAPI","fileCollaborationsAPI","folderCollaborationsAPI","collaborationsAPI","appIntegrationsAPI","metadataQueryAPI","openWithAPI","annotationsAPI","type","api","getFolderAPI","getFileAPI","getWebLinkAPI","Error","shouldDestroy","feedItemsAPI","boxEditAPI"],"mappings":"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","sourcesContent":["/**\n * @flow\n * @file Main entry point for the box api\n * @author Box\n */\n\nimport Cache from '../utils/Cache';\nimport ChunkedUploadAPI from './uploads/MultiputUpload';\nimport PlainUploadAPI from './uploads/PlainUpload';\nimport FolderAPI from './Folder';\nimport FileAPI from './File';\nimport WebLinkAPI from './WebLink';\nimport SearchAPI from './Search';\nimport RecentsAPI from './Recents';\nimport VersionsAPI from './Versions';\nimport CommentsAPI from './Comments';\nimport TasksNewAPI from './tasks/TasksNew';\nimport TaskCollaboratorsAPI from './tasks/TaskCollaborators';\nimport TaskLinksAPI from './tasks/TaskLinks';\nimport ThreadedCommentsAPI from './ThreadedComments';\nimport FileAccessStatsAPI from './FileAccessStats';\nimport MarkerBasedGroupsAPI from './MarkerBasedGroups';\nimport MarkerBasedUsersAPI from './MarkerBasedUsers';\nimport GroupsAPI from './Groups';\nimport UsersAPI from './Users';\nimport MetadataAPI from './Metadata';\nimport FileCollaboratorsAPI from './FileCollaborators';\nimport FileCollaborationsAPI from './FileCollaborations';\nimport FolderCollaborationsAPI from './FolderCollaborations';\nimport CollaborationsAPI from './Collaborations';\nimport FeedAPI from './Feed';\nimport AppIntegrationsAPI from './AppIntegrations';\nimport AnnotationsAPI from './Annotations';\nimport OpenWithAPI from './OpenWith';\nimport MetadataQueryAPI from './MetadataQuery';\nimport BoxEditAPI from './box-edit';\nimport { DEFAULT_HOSTNAME_API, DEFAULT_HOSTNAME_UPLOAD, TYPE_FOLDER, TYPE_FILE, TYPE_WEBLINK } from '../constants';\nimport type { ItemType } from '../common/types/core';\nimport type { APIOptions } from '../common/types/api';\nimport type APICache from '../utils/Cache';\n\ntype ItemAPI = FolderAPI | FileAPI | WebLinkAPI;\n\nclass APIFactory {\n /**\n * @property {*}\n */\n options: APIOptions;\n\n /**\n * @property {FileAPI}\n */\n fileAPI: FileAPI;\n\n /**\n * @property {WebLink}\n */\n weblinkAPI: WebLinkAPI;\n\n /**\n * @property {FolderAPI}\n */\n folderAPI: FolderAPI;\n\n /**\n * @property {PlainUploadAPI}\n */\n plainUploadAPI: PlainUploadAPI;\n\n /**\n * @property {ChunkedUploadAPI}\n */\n chunkedUploadAPI: ChunkedUploadAPI;\n\n /**\n * @property {SearchAPI}\n */\n searchAPI: SearchAPI;\n\n /**\n * @property {RecentsAPI}\n */\n recentsAPI: RecentsAPI;\n\n /**\n * @property {VersionsAPI}\n */\n versionsAPI: VersionsAPI;\n\n /**\n * @property {CommentsAPI}\n */\n commentsAPI: CommentsAPI;\n\n /**\n * @property {ThreadedCommentsAPI}\n */\n threadedCommentsAPI: ThreadedCommentsAPI;\n\n /**\n * @property {TasksNewAPI}\n */\n tasksNewAPI: TasksNewAPI;\n\n /**\n * @property {TaskCollaboratorsAPI}\n */\n taskCollaboratorsAPI: TaskCollaboratorsAPI;\n\n /**\n * @property {TaskLinksAPI}\n */\n taskLinksAPI: TaskLinksAPI;\n\n /*\n * @property {FileAccessStatsAPI}\n */\n fileAccessStatsAPI: FileAccessStatsAPI;\n\n /*\n * @property {MarkerBasedGroupsAPI}\n */\n markerBasedGroupsAPI: MarkerBasedGroupsAPI;\n\n /*\n * @property {MarkerBasedUsersAPI}\n */\n markerBasedUsersAPI: MarkerBasedUsersAPI;\n\n /**\n * @property {GroupsAPI}\n */\n groupsAPI: GroupsAPI;\n\n /*\n * @property {UsersAPI}\n */\n usersAPI: UsersAPI;\n\n /*\n * @property {MetadataAPI}\n */\n metadataAPI: MetadataAPI;\n\n /**\n * @property {FileCollaboratorsAPI}\n */\n fileCollaboratorsAPI: FileCollaboratorsAPI;\n\n /**\n * @property {FileCollaborationsAPI}\n */\n fileCollaborationsAPI: FileCollaborationsAPI;\n\n /**\n * @property {FolderCollaborationsAPI}\n */\n folderCollaborationsAPI: FolderCollaborationsAPI;\n\n /**\n * @property {CollaborationsAPI}\n */\n collaborationsAPI: CollaborationsAPI;\n\n /**\n * @property {FeedAPI}\n */\n feedItemsAPI: FeedAPI;\n\n /**\n * @property {OpenWithAPI}\n */\n openWithAPI: OpenWithAPI;\n\n /**\n * @property {AppIntegrationsAPI}\n */\n appIntegrationsAPI: AppIntegrationsAPI;\n\n /**\n * @property {MetadataQueryAPI}\n */\n metadataQueryAPI: MetadataQueryAPI;\n\n /** @property {BoxEditAPI}\n *\n */\n boxEditAPI: BoxEditAPI;\n\n /**\n * @property {AnnotationsAPI}\n */\n annotationsAPI: AnnotationsAPI;\n\n /**\n * [constructor]\n *\n * @param {Object} options\n * @param {string} options.id - item id\n * @param {string|function} options.token - Auth token\n * @param {string} [options.sharedLink] - Shared link\n * @param {string} [options.sharedLinkPassword] - Shared link password\n * @param {string} [options.apiHost] - Api host\n * @param {string} [options.uploadHost] - Upload host name\n * @return {API} Api instance\n */\n constructor(options: APIOptions) {\n this.options = {\n ...options,\n apiHost: options.apiHost || DEFAULT_HOSTNAME_API,\n uploadHost: options.uploadHost || DEFAULT_HOSTNAME_UPLOAD,\n cache: options.cache || new Cache(),\n language: options.language,\n };\n }\n\n /**\n * [destructor]\n *\n * @param {boolean} destroyCache - true to destroy cache\n * @return {void}\n */\n destroy(destroyCache: boolean = false) {\n if (this.fileAPI) {\n this.fileAPI.destroy();\n delete this.fileAPI;\n }\n\n if (this.weblinkAPI) {\n this.weblinkAPI.destroy();\n delete this.weblinkAPI;\n }\n\n if (this.plainUploadAPI) {\n this.plainUploadAPI.destroy();\n delete this.plainUploadAPI;\n }\n\n if (this.chunkedUploadAPI) {\n this.chunkedUploadAPI.destroy();\n delete this.chunkedUploadAPI;\n }\n\n if (this.folderAPI) {\n this.folderAPI.destroy();\n delete this.folderAPI;\n }\n\n if (this.searchAPI) {\n this.searchAPI.destroy();\n delete this.searchAPI;\n }\n\n if (this.recentsAPI) {\n this.recentsAPI.destroy();\n delete this.recentsAPI;\n }\n\n if (this.versionsAPI) {\n this.versionsAPI.destroy();\n delete this.versionsAPI;\n }\n\n if (this.fileAccessStatsAPI) {\n this.fileAccessStatsAPI.destroy();\n delete this.fileAccessStatsAPI;\n }\n\n if (this.tasksNewAPI) {\n this.tasksNewAPI.destroy();\n delete this.tasksNewAPI;\n }\n\n if (this.taskCollaboratorsAPI) {\n this.taskCollaboratorsAPI.destroy();\n delete this.taskCollaboratorsAPI;\n }\n\n if (this.taskLinksAPI) {\n this.taskLinksAPI.destroy();\n delete this.taskLinksAPI;\n }\n\n if (this.commentsAPI) {\n this.commentsAPI.destroy();\n delete this.commentsAPI;\n }\n\n if (this.threadedCommentsAPI) {\n this.threadedCommentsAPI.destroy();\n delete this.threadedCommentsAPI;\n }\n\n if (this.markerBasedGroupsAPI) {\n this.markerBasedGroupsAPI.destroy();\n delete this.markerBasedGroupsAPI;\n }\n\n if (this.markerBasedUsersAPI) {\n this.markerBasedUsersAPI.destroy();\n delete this.markerBasedUsersAPI;\n }\n\n if (this.groupsAPI) {\n this.groupsAPI.destroy();\n delete this.groupsAPI;\n }\n\n if (this.usersAPI) {\n this.usersAPI.destroy();\n delete this.usersAPI;\n }\n\n if (this.metadataAPI) {\n this.metadataAPI.destroy();\n delete this.metadataAPI;\n }\n\n if (this.fileCollaboratorsAPI) {\n this.fileCollaboratorsAPI.destroy();\n delete this.fileCollaboratorsAPI;\n }\n\n if (this.fileCollaborationsAPI) {\n this.fileCollaborationsAPI.destroy();\n delete this.fileCollaborationsAPI;\n }\n\n if (this.folderCollaborationsAPI) {\n this.folderCollaborationsAPI.destroy();\n delete this.folderCollaborationsAPI;\n }\n\n if (this.collaborationsAPI) {\n this.collaborationsAPI.destroy();\n delete this.collaborationsAPI;\n }\n\n if (this.appIntegrationsAPI) {\n this.appIntegrationsAPI.destroy();\n delete this.appIntegrationsAPI;\n }\n\n if (this.metadataQueryAPI) {\n this.metadataQueryAPI.destroy();\n delete this.metadataQueryAPI;\n }\n\n if (this.openWithAPI) {\n this.openWithAPI.destroy();\n delete this.openWithAPI;\n }\n\n if (this.annotationsAPI) {\n this.annotationsAPI.destroy();\n delete this.annotationsAPI;\n }\n\n if (destroyCache) {\n this.options.cache = new Cache();\n }\n }\n\n /**\n * Gets the cache instance\n *\n * @return {Cache} cache instance\n */\n getCache(): APICache {\n return ((this.options.cache: any): APICache);\n }\n\n /**\n * Returns the API based on type of item\n *\n * @private\n * @param {String} type - item type\n * @return {ItemAPI} api\n */\n getAPI(type: ItemType): ItemAPI {\n let api: ItemAPI;\n\n switch (type) {\n case TYPE_FOLDER:\n api = this.getFolderAPI();\n break;\n case TYPE_FILE:\n api = this.getFileAPI();\n break;\n case TYPE_WEBLINK:\n api = this.getWebLinkAPI();\n break;\n default:\n throw new Error('Unknown Type!');\n }\n\n return api;\n }\n\n /**\n * API for file\n *\n * @return {FileAPI} FileAPI instance\n */\n getFileAPI(shouldDestroy: boolean = true): FileAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n this.fileAPI = new FileAPI(this.options);\n return this.fileAPI;\n }\n\n /**\n * API for web links\n *\n * @return {WebLinkAPI} WebLinkAPI instance\n */\n getWebLinkAPI(): WebLinkAPI {\n this.destroy();\n this.weblinkAPI = new WebLinkAPI(this.options);\n return this.weblinkAPI;\n }\n\n /**\n * API for plain uploads\n *\n * @return {UploadAPI} UploadAPI instance\n */\n getPlainUploadAPI(): PlainUploadAPI {\n this.destroy();\n this.plainUploadAPI = new PlainUploadAPI(this.options);\n return this.plainUploadAPI;\n }\n\n /**\n * API for chunked uploads\n *\n * @return {UploadAPI} UploadAPI instance\n */\n getChunkedUploadAPI(): ChunkedUploadAPI {\n this.destroy();\n this.chunkedUploadAPI = new ChunkedUploadAPI(this.options);\n return this.chunkedUploadAPI;\n }\n\n /**\n * API for folder\n *\n * @return {FolderAPI} FolderAPI instance\n */\n getFolderAPI(): FolderAPI {\n this.destroy();\n this.folderAPI = new FolderAPI(this.options);\n return this.folderAPI;\n }\n\n /**\n * API for search\n *\n * @return {SearchAPI} SearchAPI instance\n */\n getSearchAPI(): SearchAPI {\n this.destroy();\n this.searchAPI = new SearchAPI(this.options);\n return this.searchAPI;\n }\n\n /**\n * API for recents\n *\n * @return {RecentsAPI} RecentsAPI instance\n */\n getRecentsAPI(): RecentsAPI {\n this.destroy();\n this.recentsAPI = new RecentsAPI(this.options);\n return this.recentsAPI;\n }\n\n /**\n * API for metadata\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {MetadataAPI} MetadataAPI instance\n */\n getMetadataAPI(shouldDestroy: boolean): MetadataAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.metadataAPI = new MetadataAPI(this.options);\n return this.metadataAPI;\n }\n\n /**\n * API for versions\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {VersionsAPI} VersionsAPI instance\n */\n getVersionsAPI(shouldDestroy: boolean): VersionsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.versionsAPI = new VersionsAPI(this.options);\n return this.versionsAPI;\n }\n\n /**\n * API for comments\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {CommentsAPI} CommentsAPI instance\n */\n getCommentsAPI(shouldDestroy: boolean): CommentsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.commentsAPI = new CommentsAPI(this.options);\n return this.commentsAPI;\n }\n\n /**\n * API for threaded comments\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {ThreadedCommentsAPI} ThreadedCommentsAPI instance\n */\n getThreadedCommentsAPI(shouldDestroy: boolean): ThreadedCommentsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.threadedCommentsAPI = new ThreadedCommentsAPI(this.options);\n return this.threadedCommentsAPI;\n }\n\n /**\n * API for tasks\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {TasksAPI} TaskAssignmentsAPI instance\n */\n getTasksNewAPI(shouldDestroy: boolean): TasksNewAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.tasksNewAPI = new TasksNewAPI(this.options);\n return this.tasksNewAPI;\n }\n\n /**\n * API for taskCollaborators\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {TaskCollaboratorsAPI} TaskCollaboratorsAPI instance\n */\n getTaskCollaboratorsAPI(shouldDestroy: boolean): TaskCollaboratorsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.taskCollaboratorsAPI = new TaskCollaboratorsAPI(this.options);\n return this.taskCollaboratorsAPI;\n }\n\n /**\n * API for taskLinks\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {TasksAPI} TaskLinksAPI instance\n */\n getTaskLinksAPI(shouldDestroy: boolean): TaskLinksAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.taskLinksAPI = new TaskLinksAPI(this.options);\n return this.taskLinksAPI;\n }\n\n /**\n * API for file access stats\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FileAccessStatsAPI} FileAccessStatsAPI instance\n */\n getFileAccessStatsAPI(shouldDestroy: boolean): FileAccessStatsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.fileAccessStatsAPI = new FileAccessStatsAPI(this.options);\n return this.fileAccessStatsAPI;\n }\n\n /**\n * API for file collaborators\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FileCollaboratorsAPI} FileCollaboratorsAPI instance\n */\n getFileCollaboratorsAPI(shouldDestroy: boolean): FileCollaboratorsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.fileCollaboratorsAPI = new FileCollaboratorsAPI(this.options);\n return this.fileCollaboratorsAPI;\n }\n\n /**\n * API for file collaborations\n *\n * This is different from the FileCollaboratorsAPI! See ./FileCollaborations for more information.\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FileCollaborationsAPI} FileCollaborationsAPI instance\n */\n getFileCollaborationsAPI(shouldDestroy: boolean): FileCollaborationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.fileCollaborationsAPI = new FileCollaborationsAPI(this.options);\n return this.fileCollaborationsAPI;\n }\n\n /**\n * API for folder collaborations\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FolderCollaborationsAPI} FolderCollaborationsAPI instance\n */\n getFolderCollaborationsAPI(shouldDestroy: boolean): FolderCollaborationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.folderCollaborationsAPI = new FolderCollaborationsAPI(this.options);\n return this.folderCollaborationsAPI;\n }\n\n /**\n * API for collaborations\n *\n * This is different from the other collaboration/collaborator APIs!\n * See ./Collaborations for more information.\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {CollaborationsAPI} CollaborationsAPI instance\n */\n getCollaborationsAPI(shouldDestroy: boolean): CollaborationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.collaborationsAPI = new CollaborationsAPI(this.options);\n return this.collaborationsAPI;\n }\n\n /**\n * API for Groups (marker-based paging)\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {MarkerBasedGroupsAPI} MarkerBasedGroupsAPI instance\n */\n getMarkerBasedGroupsAPI(shouldDestroy: boolean): MarkerBasedGroupsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.markerBasedGroupsAPI = new MarkerBasedGroupsAPI(this.options);\n return this.markerBasedGroupsAPI;\n }\n\n /**\n * API for Users (marker-based paging)\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {MarkerBasedUsersAPI} MarkerBasedUsersAPI instance\n */\n getMarkerBasedUsersAPI(shouldDestroy: boolean): MarkerBasedUsersAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.markerBasedUsersAPI = new MarkerBasedUsersAPI(this.options);\n return this.markerBasedUsersAPI;\n }\n\n /**\n * API for Groups (offset-based paging)\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {GroupsAPI} GroupsAPI instance\n */\n getGroupsAPI(shouldDestroy: boolean): GroupsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.groupsAPI = new GroupsAPI(this.options);\n return this.groupsAPI;\n }\n\n /**\n * API for Users (offset-based paging)\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {UsersAPI} UsersAPI instance\n */\n getUsersAPI(shouldDestroy: boolean): UsersAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.usersAPI = new UsersAPI(this.options);\n return this.usersAPI;\n }\n\n /**\n * API for Feed Items\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {FeedAPI} FeedAPI instance\n */\n getFeedAPI(shouldDestroy: boolean): FeedAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.feedItemsAPI = new FeedAPI(this.options);\n return this.feedItemsAPI;\n }\n\n /**\n * API for Open With\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {OpenWithAPI} OpenWithAPI instance\n */\n getOpenWithAPI(shouldDestroy: boolean): OpenWithAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.openWithAPI = new OpenWithAPI(this.options);\n return this.openWithAPI;\n }\n\n /**\n * API for the App Integrations endpoint\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {AppIntegrationsAPI} AppIntegrationsAPI instance\n */\n getAppIntegrationsAPI(shouldDestroy: boolean): AppIntegrationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.appIntegrationsAPI = new AppIntegrationsAPI(this.options);\n return this.appIntegrationsAPI;\n }\n\n /**\n * API for Metadata Query\n *\n * @param {boolean} shouldDestroy - true if the factory should destroy before returning the call\n * @return {MetadataQuery} MetadataQuery instance\n */\n getMetadataQueryAPI(shouldDestroy: boolean = false): MetadataQueryAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.metadataQueryAPI = new MetadataQueryAPI(this.options);\n return this.metadataQueryAPI;\n }\n\n /**\n * API for Box Edit\n *\n * @return {BoxEditAPI} BoxEditAPI instance\n */\n getBoxEditAPI(): BoxEditAPI {\n this.boxEditAPI = new BoxEditAPI();\n return this.boxEditAPI;\n }\n\n /**\n * API for Annotations\n *\n * @return {AnnotationsAPI} AnnotationsAPI instance\n */\n getAnnotationsAPI(shouldDestroy: boolean): AnnotationsAPI {\n if (shouldDestroy) {\n this.destroy();\n }\n\n this.annotationsAPI = new AnnotationsAPI(this.options);\n return this.annotationsAPI;\n }\n}\n\nexport default APIFactory;\n"],"file":"APIFactory.js"}
@@ -4,8 +4,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
4
4
 
5
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6
6
 
7
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
-
9
7
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
10
8
 
11
9
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
@@ -14,17 +12,20 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
14
12
 
15
13
  function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
16
14
 
17
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
18
-
19
15
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
20
16
 
17
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
18
+
21
19
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
22
20
 
23
21
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
24
22
 
23
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
24
+
25
25
  import merge from 'lodash/merge';
26
26
  import { ERROR_CODE_CREATE_ANNOTATION, ERROR_CODE_CREATE_REPLY, ERROR_CODE_DELETE_ANNOTATION, ERROR_CODE_EDIT_ANNOTATION, ERROR_CODE_FETCH_ANNOTATION, ERROR_CODE_FETCH_ANNOTATIONS, ERROR_CODE_FETCH_REPLIES, PERMISSION_CAN_CREATE_ANNOTATIONS, PERMISSION_CAN_DELETE, PERMISSION_CAN_EDIT, PERMISSION_CAN_VIEW_ANNOTATIONS, PERMISSION_CAN_RESOLVE } from '../constants';
27
27
  import MarkerBasedApi from './MarkerBasedAPI';
28
+ import { formatComment } from './utils';
28
29
 
29
30
  var Annotations =
30
31
  /*#__PURE__*/
@@ -32,12 +33,89 @@ function (_MarkerBasedApi) {
32
33
  _inherits(Annotations, _MarkerBasedApi);
33
34
 
34
35
  function Annotations() {
36
+ var _getPrototypeOf2;
37
+
38
+ var _this;
39
+
35
40
  _classCallCheck(this, Annotations);
36
41
 
37
- return _possibleConstructorReturn(this, _getPrototypeOf(Annotations).apply(this, arguments));
42
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
43
+ args[_key] = arguments[_key];
44
+ }
45
+
46
+ _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Annotations)).call.apply(_getPrototypeOf2, [this].concat(args)));
47
+
48
+ _defineProperty(_assertThisInitialized(_this), "successHandler", function (data) {
49
+ if (_this.isDestroyed() || typeof _this.successCallback !== 'function') {
50
+ return;
51
+ } // There is no response data when deleting an annotation
52
+
53
+
54
+ if (!data) {
55
+ _this.successCallback();
56
+
57
+ return;
58
+ } // We don't have entries when updating/creating an annotation
59
+
60
+
61
+ if (!data.entries) {
62
+ // Check if the response is a comment (result of createAnnotationReply)
63
+ if (data.type && data.type === 'comment') {
64
+ _this.successCallback(formatComment(data));
65
+
66
+ return;
67
+ }
68
+
69
+ _this.successCallback(_this.formatReplies(data));
70
+
71
+ return;
72
+ } // Check if the response is the replies of an annotation (result of getAnnotationReplies)
73
+
74
+
75
+ if (data.entries.length && data.entries[0].type === 'comment') {
76
+ var replies = data.entries.map(formatComment);
77
+
78
+ _this.successCallback(_objectSpread({}, data, {
79
+ entries: replies
80
+ }));
81
+
82
+ return;
83
+ }
84
+
85
+ var annotations = data.entries.map(_this.formatReplies);
86
+
87
+ _this.successCallback(_objectSpread({}, data, {
88
+ entries: annotations
89
+ }));
90
+ });
91
+
92
+ return _this;
38
93
  }
39
94
 
40
95
  _createClass(Annotations, [{
96
+ key: "formatReplies",
97
+
98
+ /**
99
+ * Formats annotation replies' comment data for use in components.
100
+ *
101
+ * @param {Annotation} annotation - An individual annotation entry from the API
102
+ * @return {Annotation} Updated annotation
103
+ */
104
+ value: function formatReplies(annotation) {
105
+ if (!annotation.replies || !annotation.replies.length) {
106
+ return annotation;
107
+ }
108
+
109
+ return _objectSpread({}, annotation, {
110
+ replies: annotation.replies.map(formatComment)
111
+ });
112
+ }
113
+ /**
114
+ * Formats the annotations api response to usable data
115
+ * @param {Object} data the api response data
116
+ */
117
+
118
+ }, {
41
119
  key: "getUrl",
42
120
  value: function getUrl() {
43
121
  return "".concat(this.getBaseApiUrl(), "/undoc/annotations");
@@ -71,9 +149,7 @@ function (_MarkerBasedApi) {
71
149
  file_version: {
72
150
  id: fileVersionId,
73
151
  type: 'file_version'
74
- },
75
- status: 'open',
76
- type: 'annotation'
152
+ }
77
153
  };
78
154
  this.post({
79
155
  id: fileId,
@@ -15,18 +15,74 @@ import {
15
15
  PERMISSION_CAN_RESOLVE,
16
16
  } from '../constants';
17
17
  import MarkerBasedApi from './MarkerBasedAPI';
18
+ import { formatComment } from './utils';
18
19
 
19
20
  import type {
20
21
  Annotation,
21
22
  AnnotationPermission,
22
23
  Annotations as AnnotationsType,
23
- AnnotationStatus,
24
24
  NewAnnotation,
25
25
  } from '../common/types/annotations';
26
26
  import type { BoxItemPermission } from '../common/types/core';
27
27
  import type { ElementsXhrError } from '../common/types/api';
28
+ import type { Comment, FeedItemStatus, ThreadedComments } from '../common/types/feed';
28
29
 
29
30
  export default class Annotations extends MarkerBasedApi {
31
+ /**
32
+ * Formats annotation replies' comment data for use in components.
33
+ *
34
+ * @param {Annotation} annotation - An individual annotation entry from the API
35
+ * @return {Annotation} Updated annotation
36
+ */
37
+ formatReplies(annotation: Annotation): Annotation {
38
+ if (!annotation.replies || !annotation.replies.length) {
39
+ return annotation;
40
+ }
41
+
42
+ return {
43
+ ...annotation,
44
+ replies: annotation.replies.map(formatComment),
45
+ };
46
+ }
47
+
48
+ /**
49
+ * Formats the annotations api response to usable data
50
+ * @param {Object} data the api response data
51
+ */
52
+ successHandler = (data: Object): void => {
53
+ if (this.isDestroyed() || typeof this.successCallback !== 'function') {
54
+ return;
55
+ }
56
+
57
+ // There is no response data when deleting an annotation
58
+ if (!data) {
59
+ this.successCallback();
60
+ return;
61
+ }
62
+
63
+ // We don't have entries when updating/creating an annotation
64
+ if (!data.entries) {
65
+ // Check if the response is a comment (result of createAnnotationReply)
66
+ if (data.type && data.type === 'comment') {
67
+ this.successCallback(formatComment(data));
68
+ return;
69
+ }
70
+
71
+ this.successCallback(this.formatReplies(data));
72
+ return;
73
+ }
74
+
75
+ // Check if the response is the replies of an annotation (result of getAnnotationReplies)
76
+ if (data.entries.length && data.entries[0].type === 'comment') {
77
+ const replies = data.entries.map(formatComment);
78
+ this.successCallback({ ...data, entries: replies });
79
+ return;
80
+ }
81
+
82
+ const annotations = data.entries.map(this.formatReplies);
83
+ this.successCallback({ ...data, entries: annotations });
84
+ };
85
+
30
86
  getUrl() {
31
87
  return `${this.getBaseApiUrl()}/undoc/annotations`;
32
88
  }
@@ -64,8 +120,6 @@ export default class Annotations extends MarkerBasedApi {
64
120
  id: fileVersionId,
65
121
  type: 'file_version',
66
122
  },
67
- status: 'open',
68
- type: 'annotation',
69
123
  };
70
124
 
71
125
  this.post({
@@ -83,7 +137,7 @@ export default class Annotations extends MarkerBasedApi {
83
137
  fileId: string,
84
138
  annotationId: string,
85
139
  permissions: AnnotationPermission,
86
- payload: { message?: string, status?: AnnotationStatus },
140
+ payload: { message?: string, status?: FeedItemStatus },
87
141
  successCallback: (annotation: Annotation) => void,
88
142
  errorCallback: (e: ElementsXhrError, code: string) => void,
89
143
  ): void {
@@ -213,7 +267,7 @@ export default class Annotations extends MarkerBasedApi {
213
267
  fileId: string,
214
268
  annotationId: string,
215
269
  permissions: BoxItemPermission,
216
- successCallback: (annotation: Annotation) => void,
270
+ successCallback: (comments: ThreadedComments) => void,
217
271
  errorCallback: (e: ElementsXhrError, code: string) => void,
218
272
  ): void {
219
273
  this.errorCode = ERROR_CODE_FETCH_REPLIES;
@@ -238,7 +292,7 @@ export default class Annotations extends MarkerBasedApi {
238
292
  annotationId: string,
239
293
  permissions: BoxItemPermission,
240
294
  message: string,
241
- successCallback: (annotation: Annotation) => void,
295
+ successCallback: (comment: Comment) => void,
242
296
  errorCallback: (e: ElementsXhrError, code: string) => void,
243
297
  ): void {
244
298
  this.errorCode = ERROR_CODE_CREATE_REPLY;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/Annotations.js"],"names":["merge","ERROR_CODE_CREATE_ANNOTATION","ERROR_CODE_CREATE_REPLY","ERROR_CODE_DELETE_ANNOTATION","ERROR_CODE_EDIT_ANNOTATION","ERROR_CODE_FETCH_ANNOTATION","ERROR_CODE_FETCH_ANNOTATIONS","ERROR_CODE_FETCH_REPLIES","PERMISSION_CAN_CREATE_ANNOTATIONS","PERMISSION_CAN_DELETE","PERMISSION_CAN_EDIT","PERMISSION_CAN_VIEW_ANNOTATIONS","PERMISSION_CAN_RESOLVE","MarkerBasedApi","Annotations","getBaseApiUrl","annotationId","getUrl","getUrlForId","fileId","fileVersionId","payload","permissions","successCallback","errorCallback","errorCode","checkApiCallValidity","e","defaults","description","type","file_version","id","status","post","data","url","message","put","undefined","delete","shouldFetchReplies","requestData","params","fields","get","limit","shouldFetchAll","file_id","file_version_id","markerGet","getUrlWithRepliesForId"],"mappings":"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","sourcesContent":["// @flow\nimport merge from 'lodash/merge';\nimport {\n ERROR_CODE_CREATE_ANNOTATION,\n ERROR_CODE_CREATE_REPLY,\n ERROR_CODE_DELETE_ANNOTATION,\n ERROR_CODE_EDIT_ANNOTATION,\n ERROR_CODE_FETCH_ANNOTATION,\n ERROR_CODE_FETCH_ANNOTATIONS,\n ERROR_CODE_FETCH_REPLIES,\n PERMISSION_CAN_CREATE_ANNOTATIONS,\n PERMISSION_CAN_DELETE,\n PERMISSION_CAN_EDIT,\n PERMISSION_CAN_VIEW_ANNOTATIONS,\n PERMISSION_CAN_RESOLVE,\n} from '../constants';\nimport MarkerBasedApi from './MarkerBasedAPI';\n\nimport type {\n Annotation,\n AnnotationPermission,\n Annotations as AnnotationsType,\n AnnotationStatus,\n NewAnnotation,\n} from '../common/types/annotations';\nimport type { BoxItemPermission } from '../common/types/core';\nimport type { ElementsXhrError } from '../common/types/api';\n\nexport default class Annotations extends MarkerBasedApi {\n getUrl() {\n return `${this.getBaseApiUrl()}/undoc/annotations`;\n }\n\n getUrlForId(annotationId: string) {\n return `${this.getUrl()}/${annotationId}`;\n }\n\n getUrlWithRepliesForId(annotationId: string) {\n return `${this.getUrlForId(annotationId)}/replies`;\n }\n\n createAnnotation(\n fileId: string,\n fileVersionId: string,\n payload: NewAnnotation,\n permissions: BoxItemPermission,\n successCallback: (annotation: Annotation) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_CREATE_ANNOTATION;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_CREATE_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n const defaults = {\n description: {\n type: 'reply',\n },\n file_version: {\n id: fileVersionId,\n type: 'file_version',\n },\n status: 'open',\n type: 'annotation',\n };\n\n this.post({\n id: fileId,\n data: {\n data: merge(defaults, payload),\n },\n errorCallback,\n successCallback,\n url: this.getUrl(),\n });\n }\n\n updateAnnotation(\n fileId: string,\n annotationId: string,\n permissions: AnnotationPermission,\n payload: { message?: string, status?: AnnotationStatus },\n successCallback: (annotation: Annotation) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_EDIT_ANNOTATION;\n const { message, status } = payload;\n\n if (message) {\n try {\n this.checkApiCallValidity(PERMISSION_CAN_EDIT, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n }\n\n if (status) {\n try {\n this.checkApiCallValidity(PERMISSION_CAN_RESOLVE, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n }\n\n this.put({\n id: fileId,\n data: {\n data: {\n description: message ? { message } : undefined,\n status,\n },\n },\n errorCallback,\n successCallback,\n url: this.getUrlForId(annotationId),\n });\n }\n\n deleteAnnotation(\n fileId: string,\n annotationId: string,\n permissions: AnnotationPermission,\n successCallback: () => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_DELETE_ANNOTATION;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_DELETE, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n this.delete({\n id: fileId,\n errorCallback,\n successCallback,\n url: this.getUrlForId(annotationId),\n });\n }\n\n getAnnotation(\n fileId: string,\n annotationId: string,\n permissions: BoxItemPermission,\n successCallback: (annotation: Annotation) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n shouldFetchReplies?: boolean,\n ): void {\n this.errorCode = ERROR_CODE_FETCH_ANNOTATION;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_VIEW_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n const requestData = shouldFetchReplies ? { params: { fields: 'replies' } } : undefined;\n\n this.get({\n id: fileId,\n errorCallback,\n successCallback,\n url: this.getUrlForId(annotationId),\n requestData,\n });\n }\n\n getAnnotations(\n fileId: string,\n fileVersionId?: string,\n permissions: BoxItemPermission,\n successCallback: (annotations: AnnotationsType) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n limit?: number,\n shouldFetchAll?: boolean,\n shouldFetchReplies?: boolean,\n ): void {\n this.errorCode = ERROR_CODE_FETCH_ANNOTATIONS;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_VIEW_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n const requestData = {\n file_id: fileId,\n file_version_id: fileVersionId,\n ...(shouldFetchReplies ? { fields: 'replies' } : null),\n };\n\n this.markerGet({\n id: fileId,\n errorCallback,\n limit,\n requestData,\n shouldFetchAll,\n successCallback,\n });\n }\n\n getAnnotationReplies(\n fileId: string,\n annotationId: string,\n permissions: BoxItemPermission,\n successCallback: (annotation: Annotation) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_FETCH_REPLIES;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_VIEW_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n this.get({\n id: fileId,\n errorCallback,\n successCallback,\n url: this.getUrlWithRepliesForId(annotationId),\n });\n }\n\n createAnnotationReply(\n fileId: string,\n annotationId: string,\n permissions: BoxItemPermission,\n message: string,\n successCallback: (annotation: Annotation) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_CREATE_REPLY;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_CREATE_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n this.post({\n id: fileId,\n data: { data: { message } },\n errorCallback,\n successCallback,\n url: this.getUrlWithRepliesForId(annotationId),\n });\n }\n}\n"],"file":"Annotations.js"}
1
+ {"version":3,"sources":["../../src/api/Annotations.js"],"names":["merge","ERROR_CODE_CREATE_ANNOTATION","ERROR_CODE_CREATE_REPLY","ERROR_CODE_DELETE_ANNOTATION","ERROR_CODE_EDIT_ANNOTATION","ERROR_CODE_FETCH_ANNOTATION","ERROR_CODE_FETCH_ANNOTATIONS","ERROR_CODE_FETCH_REPLIES","PERMISSION_CAN_CREATE_ANNOTATIONS","PERMISSION_CAN_DELETE","PERMISSION_CAN_EDIT","PERMISSION_CAN_VIEW_ANNOTATIONS","PERMISSION_CAN_RESOLVE","MarkerBasedApi","formatComment","Annotations","data","isDestroyed","successCallback","entries","type","formatReplies","length","replies","map","annotations","annotation","getBaseApiUrl","annotationId","getUrl","getUrlForId","fileId","fileVersionId","payload","permissions","errorCallback","errorCode","checkApiCallValidity","e","defaults","description","file_version","id","post","url","message","status","put","undefined","delete","shouldFetchReplies","requestData","params","fields","get","limit","shouldFetchAll","file_id","file_version_id","markerGet","getUrlWithRepliesForId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAOA,KAAP,MAAkB,cAAlB;AACA,SACIC,4BADJ,EAEIC,uBAFJ,EAGIC,4BAHJ,EAIIC,0BAJJ,EAKIC,2BALJ,EAMIC,4BANJ,EAOIC,wBAPJ,EAQIC,iCARJ,EASIC,qBATJ,EAUIC,mBAVJ,EAWIC,+BAXJ,EAYIC,sBAZJ,QAaO,cAbP;AAcA,OAAOC,cAAP,MAA2B,kBAA3B;AACA,SAASC,aAAT,QAA8B,SAA9B;;IAYqBC,W;;;;;;;;;;;;;;;;;;qEAsBA,UAACC,IAAD,EAAwB;AACrC,UAAI,MAAKC,WAAL,MAAsB,OAAO,MAAKC,eAAZ,KAAgC,UAA1D,EAAsE;AAClE;AACH,OAHoC,CAKrC;;;AACA,UAAI,CAACF,IAAL,EAAW;AACP,cAAKE,eAAL;;AACA;AACH,OAToC,CAWrC;;;AACA,UAAI,CAACF,IAAI,CAACG,OAAV,EAAmB;AACf;AACA,YAAIH,IAAI,CAACI,IAAL,IAAaJ,IAAI,CAACI,IAAL,KAAc,SAA/B,EAA0C;AACtC,gBAAKF,eAAL,CAAqBJ,aAAa,CAACE,IAAD,CAAlC;;AACA;AACH;;AAED,cAAKE,eAAL,CAAqB,MAAKG,aAAL,CAAmBL,IAAnB,CAArB;;AACA;AACH,OArBoC,CAuBrC;;;AACA,UAAIA,IAAI,CAACG,OAAL,CAAaG,MAAb,IAAuBN,IAAI,CAACG,OAAL,CAAa,CAAb,EAAgBC,IAAhB,KAAyB,SAApD,EAA+D;AAC3D,YAAMG,OAAO,GAAGP,IAAI,CAACG,OAAL,CAAaK,GAAb,CAAiBV,aAAjB,CAAhB;;AACA,cAAKI,eAAL,mBAA0BF,IAA1B;AAAgCG,UAAAA,OAAO,EAAEI;AAAzC;;AACA;AACH;;AAED,UAAME,WAAW,GAAGT,IAAI,CAACG,OAAL,CAAaK,GAAb,CAAiB,MAAKH,aAAtB,CAApB;;AACA,YAAKH,eAAL,mBAA0BF,IAA1B;AAAgCG,QAAAA,OAAO,EAAEM;AAAzC;AACH,K;;;;;;;;AArDD;;;;;;kCAMcC,U,EAAoC;AAC9C,UAAI,CAACA,UAAU,CAACH,OAAZ,IAAuB,CAACG,UAAU,CAACH,OAAX,CAAmBD,MAA/C,EAAuD;AACnD,eAAOI,UAAP;AACH;;AAED,+BACOA,UADP;AAEIH,QAAAA,OAAO,EAAEG,UAAU,CAACH,OAAX,CAAmBC,GAAnB,CAAuBV,aAAvB;AAFb;AAIH;AAED;;;;;;;6BAsCS;AACL,uBAAU,KAAKa,aAAL,EAAV;AACH;;;gCAEWC,Y,EAAsB;AAC9B,uBAAU,KAAKC,MAAL,EAAV,cAA2BD,YAA3B;AACH;;;2CAEsBA,Y,EAAsB;AACzC,uBAAU,KAAKE,WAAL,CAAiBF,YAAjB,CAAV;AACH;;;qCAGGG,M,EACAC,a,EACAC,O,EACAC,W,EACAhB,e,EACAiB,a,EACI;AACJ,WAAKC,SAAL,GAAiBnC,4BAAjB;;AAEA,UAAI;AACA,aAAKoC,oBAAL,CAA0B7B,iCAA1B,EAA6D0B,WAA7D,EAA0EH,MAA1E;AACH,OAFD,CAEE,OAAOO,CAAP,EAAU;AACRH,QAAAA,aAAa,CAACG,CAAD,EAAI,KAAKF,SAAT,CAAb;AACA;AACH;;AAED,UAAMG,QAAQ,GAAG;AACbC,QAAAA,WAAW,EAAE;AACTpB,UAAAA,IAAI,EAAE;AADG,SADA;AAIbqB,QAAAA,YAAY,EAAE;AACVC,UAAAA,EAAE,EAAEV,aADM;AAEVZ,UAAAA,IAAI,EAAE;AAFI;AAJD,OAAjB;AAUA,WAAKuB,IAAL,CAAU;AACND,QAAAA,EAAE,EAAEX,MADE;AAENf,QAAAA,IAAI,EAAE;AACFA,UAAAA,IAAI,EAAEhB,KAAK,CAACuC,QAAD,EAAWN,OAAX;AADT,SAFA;AAKNE,QAAAA,aAAa,EAAbA,aALM;AAMNjB,QAAAA,eAAe,EAAfA,eANM;AAON0B,QAAAA,GAAG,EAAE,KAAKf,MAAL;AAPC,OAAV;AASH;;;qCAGGE,M,EACAH,Y,EACAM,W,EACAD,O,EACAf,e,EACAiB,a,EACI;AACJ,WAAKC,SAAL,GAAiBhC,0BAAjB;AADI,UAEIyC,OAFJ,GAEwBZ,OAFxB,CAEIY,OAFJ;AAAA,UAEaC,MAFb,GAEwBb,OAFxB,CAEaa,MAFb;;AAIJ,UAAID,OAAJ,EAAa;AACT,YAAI;AACA,eAAKR,oBAAL,CAA0B3B,mBAA1B,EAA+CwB,WAA/C,EAA4DH,MAA5D;AACH,SAFD,CAEE,OAAOO,CAAP,EAAU;AACRH,UAAAA,aAAa,CAACG,CAAD,EAAI,KAAKF,SAAT,CAAb;AACA;AACH;AACJ;;AAED,UAAIU,MAAJ,EAAY;AACR,YAAI;AACA,eAAKT,oBAAL,CAA0BzB,sBAA1B,EAAkDsB,WAAlD,EAA+DH,MAA/D;AACH,SAFD,CAEE,OAAOO,CAAP,EAAU;AACRH,UAAAA,aAAa,CAACG,CAAD,EAAI,KAAKF,SAAT,CAAb;AACA;AACH;AACJ;;AAED,WAAKW,GAAL,CAAS;AACLL,QAAAA,EAAE,EAAEX,MADC;AAELf,QAAAA,IAAI,EAAE;AACFA,UAAAA,IAAI,EAAE;AACFwB,YAAAA,WAAW,EAAEK,OAAO,GAAG;AAAEA,cAAAA,OAAO,EAAPA;AAAF,aAAH,GAAiBG,SADnC;AAEFF,YAAAA,MAAM,EAANA;AAFE;AADJ,SAFD;AAQLX,QAAAA,aAAa,EAAbA,aARK;AASLjB,QAAAA,eAAe,EAAfA,eATK;AAUL0B,QAAAA,GAAG,EAAE,KAAKd,WAAL,CAAiBF,YAAjB;AAVA,OAAT;AAYH;;;qCAGGG,M,EACAH,Y,EACAM,W,EACAhB,e,EACAiB,a,EACI;AACJ,WAAKC,SAAL,GAAiBjC,4BAAjB;;AAEA,UAAI;AACA,aAAKkC,oBAAL,CAA0B5B,qBAA1B,EAAiDyB,WAAjD,EAA8DH,MAA9D;AACH,OAFD,CAEE,OAAOO,CAAP,EAAU;AACRH,QAAAA,aAAa,CAACG,CAAD,EAAI,KAAKF,SAAT,CAAb;AACA;AACH;;AAED,WAAKa,MAAL,CAAY;AACRP,QAAAA,EAAE,EAAEX,MADI;AAERI,QAAAA,aAAa,EAAbA,aAFQ;AAGRjB,QAAAA,eAAe,EAAfA,eAHQ;AAIR0B,QAAAA,GAAG,EAAE,KAAKd,WAAL,CAAiBF,YAAjB;AAJG,OAAZ;AAMH;;;kCAGGG,M,EACAH,Y,EACAM,W,EACAhB,e,EACAiB,a,EACAe,kB,EACI;AACJ,WAAKd,SAAL,GAAiB/B,2BAAjB;;AAEA,UAAI;AACA,aAAKgC,oBAAL,CAA0B1B,+BAA1B,EAA2DuB,WAA3D,EAAwEH,MAAxE;AACH,OAFD,CAEE,OAAOO,CAAP,EAAU;AACRH,QAAAA,aAAa,CAACG,CAAD,EAAI,KAAKF,SAAT,CAAb;AACA;AACH;;AAED,UAAMe,WAAW,GAAGD,kBAAkB,GAAG;AAAEE,QAAAA,MAAM,EAAE;AAAEC,UAAAA,MAAM,EAAE;AAAV;AAAV,OAAH,GAAuCL,SAA7E;AAEA,WAAKM,GAAL,CAAS;AACLZ,QAAAA,EAAE,EAAEX,MADC;AAELI,QAAAA,aAAa,EAAbA,aAFK;AAGLjB,QAAAA,eAAe,EAAfA,eAHK;AAIL0B,QAAAA,GAAG,EAAE,KAAKd,WAAL,CAAiBF,YAAjB,CAJA;AAKLuB,QAAAA,WAAW,EAAXA;AALK,OAAT;AAOH;;;mCAGGpB,M,EACAC,a,EACAE,W,EACAhB,e,EACAiB,a,EACAoB,K,EACAC,c,EACAN,kB,EACI;AACJ,WAAKd,SAAL,GAAiB9B,4BAAjB;;AAEA,UAAI;AACA,aAAK+B,oBAAL,CAA0B1B,+BAA1B,EAA2DuB,WAA3D,EAAwEH,MAAxE;AACH,OAFD,CAEE,OAAOO,CAAP,EAAU;AACRH,QAAAA,aAAa,CAACG,CAAD,EAAI,KAAKF,SAAT,CAAb;AACA;AACH;;AAED,UAAMe,WAAW;AACbM,QAAAA,OAAO,EAAE1B,MADI;AAEb2B,QAAAA,eAAe,EAAE1B;AAFJ,SAGTkB,kBAAkB,GAAG;AAAEG,QAAAA,MAAM,EAAE;AAAV,OAAH,GAA2B,IAHpC,CAAjB;;AAMA,WAAKM,SAAL,CAAe;AACXjB,QAAAA,EAAE,EAAEX,MADO;AAEXI,QAAAA,aAAa,EAAbA,aAFW;AAGXoB,QAAAA,KAAK,EAALA,KAHW;AAIXJ,QAAAA,WAAW,EAAXA,WAJW;AAKXK,QAAAA,cAAc,EAAdA,cALW;AAMXtC,QAAAA,eAAe,EAAfA;AANW,OAAf;AAQH;;;yCAGGa,M,EACAH,Y,EACAM,W,EACAhB,e,EACAiB,a,EACI;AACJ,WAAKC,SAAL,GAAiB7B,wBAAjB;;AAEA,UAAI;AACA,aAAK8B,oBAAL,CAA0B1B,+BAA1B,EAA2DuB,WAA3D,EAAwEH,MAAxE;AACH,OAFD,CAEE,OAAOO,CAAP,EAAU;AACRH,QAAAA,aAAa,CAACG,CAAD,EAAI,KAAKF,SAAT,CAAb;AACA;AACH;;AAED,WAAKkB,GAAL,CAAS;AACLZ,QAAAA,EAAE,EAAEX,MADC;AAELI,QAAAA,aAAa,EAAbA,aAFK;AAGLjB,QAAAA,eAAe,EAAfA,eAHK;AAIL0B,QAAAA,GAAG,EAAE,KAAKgB,sBAAL,CAA4BhC,YAA5B;AAJA,OAAT;AAMH;;;0CAGGG,M,EACAH,Y,EACAM,W,EACAW,O,EACA3B,e,EACAiB,a,EACI;AACJ,WAAKC,SAAL,GAAiBlC,uBAAjB;;AAEA,UAAI;AACA,aAAKmC,oBAAL,CAA0B7B,iCAA1B,EAA6D0B,WAA7D,EAA0EH,MAA1E;AACH,OAFD,CAEE,OAAOO,CAAP,EAAU;AACRH,QAAAA,aAAa,CAACG,CAAD,EAAI,KAAKF,SAAT,CAAb;AACA;AACH;;AAED,WAAKO,IAAL,CAAU;AACND,QAAAA,EAAE,EAAEX,MADE;AAENf,QAAAA,IAAI,EAAE;AAAEA,UAAAA,IAAI,EAAE;AAAE6B,YAAAA,OAAO,EAAPA;AAAF;AAAR,SAFA;AAGNV,QAAAA,aAAa,EAAbA,aAHM;AAINjB,QAAAA,eAAe,EAAfA,eAJM;AAKN0B,QAAAA,GAAG,EAAE,KAAKgB,sBAAL,CAA4BhC,YAA5B;AALC,OAAV;AAOH;;;;EA5RoCf,c;;SAApBE,W","sourcesContent":["// @flow\nimport merge from 'lodash/merge';\nimport {\n ERROR_CODE_CREATE_ANNOTATION,\n ERROR_CODE_CREATE_REPLY,\n ERROR_CODE_DELETE_ANNOTATION,\n ERROR_CODE_EDIT_ANNOTATION,\n ERROR_CODE_FETCH_ANNOTATION,\n ERROR_CODE_FETCH_ANNOTATIONS,\n ERROR_CODE_FETCH_REPLIES,\n PERMISSION_CAN_CREATE_ANNOTATIONS,\n PERMISSION_CAN_DELETE,\n PERMISSION_CAN_EDIT,\n PERMISSION_CAN_VIEW_ANNOTATIONS,\n PERMISSION_CAN_RESOLVE,\n} from '../constants';\nimport MarkerBasedApi from './MarkerBasedAPI';\nimport { formatComment } from './utils';\n\nimport type {\n Annotation,\n AnnotationPermission,\n Annotations as AnnotationsType,\n NewAnnotation,\n} from '../common/types/annotations';\nimport type { BoxItemPermission } from '../common/types/core';\nimport type { ElementsXhrError } from '../common/types/api';\nimport type { Comment, FeedItemStatus, ThreadedComments } from '../common/types/feed';\n\nexport default class Annotations extends MarkerBasedApi {\n /**\n * Formats annotation replies' comment data for use in components.\n *\n * @param {Annotation} annotation - An individual annotation entry from the API\n * @return {Annotation} Updated annotation\n */\n formatReplies(annotation: Annotation): Annotation {\n if (!annotation.replies || !annotation.replies.length) {\n return annotation;\n }\n\n return {\n ...annotation,\n replies: annotation.replies.map(formatComment),\n };\n }\n\n /**\n * Formats the annotations api response to usable data\n * @param {Object} data the api response data\n */\n successHandler = (data: Object): void => {\n if (this.isDestroyed() || typeof this.successCallback !== 'function') {\n return;\n }\n\n // There is no response data when deleting an annotation\n if (!data) {\n this.successCallback();\n return;\n }\n\n // We don't have entries when updating/creating an annotation\n if (!data.entries) {\n // Check if the response is a comment (result of createAnnotationReply)\n if (data.type && data.type === 'comment') {\n this.successCallback(formatComment(data));\n return;\n }\n\n this.successCallback(this.formatReplies(data));\n return;\n }\n\n // Check if the response is the replies of an annotation (result of getAnnotationReplies)\n if (data.entries.length && data.entries[0].type === 'comment') {\n const replies = data.entries.map(formatComment);\n this.successCallback({ ...data, entries: replies });\n return;\n }\n\n const annotations = data.entries.map(this.formatReplies);\n this.successCallback({ ...data, entries: annotations });\n };\n\n getUrl() {\n return `${this.getBaseApiUrl()}/undoc/annotations`;\n }\n\n getUrlForId(annotationId: string) {\n return `${this.getUrl()}/${annotationId}`;\n }\n\n getUrlWithRepliesForId(annotationId: string) {\n return `${this.getUrlForId(annotationId)}/replies`;\n }\n\n createAnnotation(\n fileId: string,\n fileVersionId: string,\n payload: NewAnnotation,\n permissions: BoxItemPermission,\n successCallback: (annotation: Annotation) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_CREATE_ANNOTATION;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_CREATE_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n const defaults = {\n description: {\n type: 'reply',\n },\n file_version: {\n id: fileVersionId,\n type: 'file_version',\n },\n };\n\n this.post({\n id: fileId,\n data: {\n data: merge(defaults, payload),\n },\n errorCallback,\n successCallback,\n url: this.getUrl(),\n });\n }\n\n updateAnnotation(\n fileId: string,\n annotationId: string,\n permissions: AnnotationPermission,\n payload: { message?: string, status?: FeedItemStatus },\n successCallback: (annotation: Annotation) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_EDIT_ANNOTATION;\n const { message, status } = payload;\n\n if (message) {\n try {\n this.checkApiCallValidity(PERMISSION_CAN_EDIT, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n }\n\n if (status) {\n try {\n this.checkApiCallValidity(PERMISSION_CAN_RESOLVE, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n }\n\n this.put({\n id: fileId,\n data: {\n data: {\n description: message ? { message } : undefined,\n status,\n },\n },\n errorCallback,\n successCallback,\n url: this.getUrlForId(annotationId),\n });\n }\n\n deleteAnnotation(\n fileId: string,\n annotationId: string,\n permissions: AnnotationPermission,\n successCallback: () => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_DELETE_ANNOTATION;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_DELETE, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n this.delete({\n id: fileId,\n errorCallback,\n successCallback,\n url: this.getUrlForId(annotationId),\n });\n }\n\n getAnnotation(\n fileId: string,\n annotationId: string,\n permissions: BoxItemPermission,\n successCallback: (annotation: Annotation) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n shouldFetchReplies?: boolean,\n ): void {\n this.errorCode = ERROR_CODE_FETCH_ANNOTATION;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_VIEW_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n const requestData = shouldFetchReplies ? { params: { fields: 'replies' } } : undefined;\n\n this.get({\n id: fileId,\n errorCallback,\n successCallback,\n url: this.getUrlForId(annotationId),\n requestData,\n });\n }\n\n getAnnotations(\n fileId: string,\n fileVersionId?: string,\n permissions: BoxItemPermission,\n successCallback: (annotations: AnnotationsType) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n limit?: number,\n shouldFetchAll?: boolean,\n shouldFetchReplies?: boolean,\n ): void {\n this.errorCode = ERROR_CODE_FETCH_ANNOTATIONS;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_VIEW_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n const requestData = {\n file_id: fileId,\n file_version_id: fileVersionId,\n ...(shouldFetchReplies ? { fields: 'replies' } : null),\n };\n\n this.markerGet({\n id: fileId,\n errorCallback,\n limit,\n requestData,\n shouldFetchAll,\n successCallback,\n });\n }\n\n getAnnotationReplies(\n fileId: string,\n annotationId: string,\n permissions: BoxItemPermission,\n successCallback: (comments: ThreadedComments) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_FETCH_REPLIES;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_VIEW_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n this.get({\n id: fileId,\n errorCallback,\n successCallback,\n url: this.getUrlWithRepliesForId(annotationId),\n });\n }\n\n createAnnotationReply(\n fileId: string,\n annotationId: string,\n permissions: BoxItemPermission,\n message: string,\n successCallback: (comment: Comment) => void,\n errorCallback: (e: ElementsXhrError, code: string) => void,\n ): void {\n this.errorCode = ERROR_CODE_CREATE_REPLY;\n\n try {\n this.checkApiCallValidity(PERMISSION_CAN_CREATE_ANNOTATIONS, permissions, fileId);\n } catch (e) {\n errorCallback(e, this.errorCode);\n return;\n }\n\n this.post({\n id: fileId,\n data: { data: { message } },\n errorCallback,\n successCallback,\n url: this.getUrlWithRepliesForId(annotationId),\n });\n }\n}\n"],"file":"Annotations.js"}
@@ -184,7 +184,7 @@ function (_OffsetBasedAPI) {
184
184
  * @param {BoxItem} file - File object for which we are updating a comment
185
185
  * @param {string} commentId - Comment to be edited
186
186
  * @param {string} message - Comment message
187
- * @param {BoxItemPermission} permissions - The known permissions of the comment we're updating
187
+ * @param {BoxCommentPermission} permissions - The known permissions of the comment we're updating
188
188
  * @param {Function} successCallback - Success callback
189
189
  * @param {Function} errorCallback - Error callback
190
190
  * @return {void}
@@ -230,7 +230,7 @@ function (_OffsetBasedAPI) {
230
230
  *
231
231
  * @param {BoxItem} file - File object for which we are deleting a comment
232
232
  * @param {string} commentId - Id of the comment we are deleting
233
- * @param {BoxItemPermission} permissions - The known permissions of the comment we're deleting
233
+ * @param {BoxCommentPermission} permissions - The known permissions of the comment we're deleting
234
234
  * @param {Function} successCallback - Success callback
235
235
  * @param {Function} errorCallback - Error callback
236
236
  * @return {void}
@@ -17,6 +17,7 @@ import {
17
17
  } from '../constants';
18
18
  import type { ElementsXhrError, ElementsErrorCallback } from '../common/types/api';
19
19
  import type { BoxItem, BoxItemPermission } from '../common/types/core';
20
+ import type { BoxCommentPermission } from '../common/types/feed';
20
21
 
21
22
  class Comments extends OffsetBasedAPI {
22
23
  /**
@@ -144,7 +145,7 @@ class Comments extends OffsetBasedAPI {
144
145
  * @param {BoxItem} file - File object for which we are updating a comment
145
146
  * @param {string} commentId - Comment to be edited
146
147
  * @param {string} message - Comment message
147
- * @param {BoxItemPermission} permissions - The known permissions of the comment we're updating
148
+ * @param {BoxCommentPermission} permissions - The known permissions of the comment we're updating
148
149
  * @param {Function} successCallback - Success callback
149
150
  * @param {Function} errorCallback - Error callback
150
151
  * @return {void}
@@ -162,7 +163,7 @@ class Comments extends OffsetBasedAPI {
162
163
  errorCallback: ElementsErrorCallback,
163
164
  file: BoxItem,
164
165
  message: string,
165
- permissions: BoxItemPermission,
166
+ permissions: BoxCommentPermission,
166
167
  successCallback: Function,
167
168
  tagged_message?: string,
168
169
  }): void {
@@ -194,7 +195,7 @@ class Comments extends OffsetBasedAPI {
194
195
  *
195
196
  * @param {BoxItem} file - File object for which we are deleting a comment
196
197
  * @param {string} commentId - Id of the comment we are deleting
197
- * @param {BoxItemPermission} permissions - The known permissions of the comment we're deleting
198
+ * @param {BoxCommentPermission} permissions - The known permissions of the comment we're deleting
198
199
  * @param {Function} successCallback - Success callback
199
200
  * @param {Function} errorCallback - Error callback
200
201
  * @return {void}
@@ -209,7 +210,7 @@ class Comments extends OffsetBasedAPI {
209
210
  commentId: string,
210
211
  errorCallback: ElementsErrorCallback,
211
212
  file: BoxItem,
212
- permissions: BoxItemPermission,
213
+ permissions: BoxCommentPermission,
213
214
  successCallback: Function,
214
215
  }): void {
215
216
  this.errorCode = ERROR_CODE_DELETE_COMMENT;