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
@@ -2,10 +2,10 @@
2
2
  import * as React from 'react';
3
3
  import getProp from 'lodash/get';
4
4
  import isNil from 'lodash/isNil';
5
+ import { FormattedMessage } from 'react-intl';
5
6
 
6
7
  import type { Controls, MessageItem } from '../flowTypes';
7
8
 
8
- import FormattedCompMessage from '../../../components/i18n/FormattedCompMessage';
9
9
  import Link from '../../../components/link/Link';
10
10
  import appRestrictionsMessageMap from './appRestrictionsMessageMap';
11
11
  import downloadRestrictionsMessageMap from './downloadRestrictionsMessageMap';
@@ -100,23 +100,19 @@ const getWatermarkingMessages = (controls: Controls): Array<MessageItem> => {
100
100
  const items = [];
101
101
  const isWatermarkEnabled = getProp(controls, `${WATERMARK}.enabled`, false);
102
102
  if (isWatermarkEnabled) {
103
- const formattedCompMessage = (
104
- <FormattedCompMessage
105
- id="boxui.securityControls.watermarkingAppliedWithLink"
106
- description="Bullet point that summarizes watermarking applied to classification"
107
- >
108
- Watermarking will be applied, click{' '}
103
+ const formattedMessages = (
104
+ <>
105
+ <FormattedMessage {...messages.watermarkingApplied} />
109
106
  <Link
110
107
  className="support-link"
111
108
  href="https://support.box.com/hc/en-us/articles/360044195253"
112
109
  target="_blank"
113
110
  >
114
- here
115
- </Link>{' '}
116
- more details on Watermarking
117
- </FormattedCompMessage>
111
+ <FormattedMessage {...messages.linkForMoreDetails} />
112
+ </Link>
113
+ </>
118
114
  );
119
- items.push({ message: formattedCompMessage });
115
+ items.push({ message: formattedMessages });
120
116
  }
121
117
 
122
118
  return items;
@@ -40,6 +40,7 @@ exports[`components/core/collapsible-sidebar/CollapsibleSidebar render 1`] = `
40
40
  Object {
41
41
  "formatDate": [Function],
42
42
  "formatMessage": [Function],
43
+ "formatNumber": [Function],
43
44
  "formatRelativeTime": [Function],
44
45
  }
45
46
  }
@@ -201,6 +202,7 @@ exports[`components/core/collapsible-sidebar/CollapsibleSidebar render 2`] = `
201
202
  Object {
202
203
  "formatDate": [Function],
203
204
  "formatMessage": [Function],
205
+ "formatNumber": [Function],
204
206
  "formatRelativeTime": [Function],
205
207
  }
206
208
  }
@@ -19,6 +19,8 @@ class ContentExplorer extends Component {
19
19
  static propTypes = {
20
20
  /** Props for the action buttons container */
21
21
  actionButtonsProps: PropTypes.object,
22
+ /** Props for breadcrumbs */
23
+ breadcrumbProps: PropTypes.object,
22
24
  /** Props for the cancel button */
23
25
  cancelButtonProps: PropTypes.object,
24
26
  /** Props for the choose button */
@@ -387,6 +389,7 @@ class ContentExplorer extends Component {
387
389
  render() {
388
390
  const {
389
391
  actionButtonsProps,
392
+ breadcrumbProps,
390
393
  cancelButtonProps,
391
394
  chooseButtonProps,
392
395
  chooseButtonText,
@@ -470,6 +473,7 @@ class ContentExplorer extends Component {
470
473
  {...contentExplorerProps}
471
474
  >
472
475
  <ContentExplorerHeaderActions
476
+ breadcrumbProps={breadcrumbProps}
473
477
  contentExplorerMode={contentExplorerMode}
474
478
  customInput={customInput}
475
479
  foldersPath={foldersPath}
@@ -112,4 +112,8 @@
112
112
  display: flex;
113
113
  flex: 1;
114
114
  flex-direction: column;
115
+
116
+ .content-explorer-breadcrumbs-up-button {
117
+ display: none;
118
+ }
115
119
  }
@@ -3,15 +3,16 @@ import React from 'react';
3
3
  import { injectIntl } from 'react-intl';
4
4
 
5
5
  import Button from '../../../components/button';
6
- import PlainButton from '../../../components/plain-button';
7
6
  import Breadcrumb from '../../../components/breadcrumb';
8
7
  import IconChevron from '../../../icons/general/IconChevron';
9
8
  import IconAllFiles from '../../../icons/general/IconAllFiles';
9
+ import PlainButton from '../../../components/plain-button';
10
10
 
11
11
  import { FoldersPathPropType } from '../prop-types';
12
12
  import messages from '../messages';
13
13
 
14
14
  const ContentExplorerBreadcrumbs = ({
15
+ breadcrumbProps,
15
16
  foldersPath,
16
17
  intl: { formatMessage },
17
18
  isUpButtonDisabled = false,
@@ -28,23 +29,25 @@ const ContentExplorerBreadcrumbs = ({
28
29
  >
29
30
  <IconChevron direction="left" size="6px" color="#333" />
30
31
  </Button>
31
- <Breadcrumb label={formatMessage(messages.breadcrumb)}>
32
+ <Breadcrumb label={formatMessage(messages.breadcrumb)} {...breadcrumbProps}>
32
33
  {foldersPath.map((folder, i) => (
33
- <PlainButton
34
- className="lnk"
35
- key={folder.id}
36
- title={folder.name}
37
- onClick={event => onBreadcrumbClick(i, event)}
38
- >
39
- {i === 0 && <IconAllFiles />}
40
- <span>{folder.name}</span>
41
- </PlainButton>
34
+ <div key={folder.id} className="lnk">
35
+ <PlainButton
36
+ data-testid="breadcrumb-lnk"
37
+ onClick={event => onBreadcrumbClick(i, event)}
38
+ title={folder.name}
39
+ >
40
+ {i === 0 && <IconAllFiles />}
41
+ <span>{folder.name}</span>
42
+ </PlainButton>
43
+ </div>
42
44
  ))}
43
45
  </Breadcrumb>
44
46
  </div>
45
47
  );
46
48
 
47
49
  ContentExplorerBreadcrumbs.propTypes = {
50
+ breadcrumbProps: PropTypes.object,
48
51
  foldersPath: FoldersPathPropType.isRequired,
49
52
  intl: PropTypes.any,
50
53
  isUpButtonDisabled: PropTypes.bool,
@@ -6,7 +6,7 @@ import ContentExplorerSearch from './ContentExplorerSearch';
6
6
  import ContentExplorerNewFolderButton from './ContentExplorerNewFolderButton';
7
7
  import ContentExplorerBreadcrumbs from './ContentExplorerBreadcrumbs';
8
8
 
9
- import { ContentExplorerModePropType, FoldersPathPropType } from '../prop-types';
9
+ import { BreadcrumbPropType, ContentExplorerModePropType, FoldersPathPropType } from '../prop-types';
10
10
  import messages from '../messages';
11
11
 
12
12
  const SEARCH_RESULTS_FOLDER_ID = 'search_results_id';
@@ -15,6 +15,7 @@ const isSearchResultsFolder = folder => folder && folder.id === SEARCH_RESULTS_F
15
15
 
16
16
  class ContentExplorerHeaderActions extends Component {
17
17
  static propTypes = {
18
+ breadcrumbProps: BreadcrumbPropType,
18
19
  children: PropTypes.node,
19
20
  contentExplorerMode: ContentExplorerModePropType.isRequired,
20
21
  customInput: PropTypes.func,
@@ -147,6 +148,7 @@ class ContentExplorerHeaderActions extends Component {
147
148
 
148
149
  render() {
149
150
  const {
151
+ breadcrumbProps,
150
152
  children,
151
153
  contentExplorerMode,
152
154
  customInput: CustomInput,
@@ -184,6 +186,7 @@ class ContentExplorerHeaderActions extends Component {
184
186
  {children}
185
187
  </div>
186
188
  <ContentExplorerBreadcrumbs
189
+ breadcrumbProps={breadcrumbProps}
187
190
  foldersPath={foldersPath}
188
191
  isUpButtonDisabled={foldersPath.length <= 1 && !isInSearchMode}
189
192
  onUpButtonClick={this.handleBreadcrumbsUpButtonClick}
@@ -29,7 +29,7 @@ describe('features/content-explorer/content-explorer/ContentExplorerBreadcrumbs'
29
29
  expect(wrapper.find('Breadcrumb').length).toBe(1);
30
30
  expect(wrapper.find('IconAllFiles').length).toBe(1);
31
31
 
32
- const breadcrumbs = wrapper.find('.lnk');
32
+ const breadcrumbs = wrapper.find('[data-testid="breadcrumb-lnk"]');
33
33
 
34
34
  expect(breadcrumbs.length).toBe(foldersPath.length);
35
35
 
@@ -76,7 +76,7 @@ describe('features/content-explorer/content-explorer/ContentExplorerBreadcrumbs'
76
76
  });
77
77
 
78
78
  wrapper
79
- .find('.lnk')
79
+ .find('[data-testid="breadcrumb-lnk"]')
80
80
  .at(breadcrumbIndex)
81
81
  .simulate('click', event);
82
82
 
@@ -2,13 +2,15 @@
2
2
  import * as React from 'react';
3
3
  import classNames from 'classnames';
4
4
 
5
+ import ContentExplorer from '../content-explorer';
5
6
  import { Modal } from '../../../components/modal';
6
7
 
7
- import ContentExplorer from '../content-explorer';
8
+ import type { BreadcrumbProps } from '../../../components/breadcrumb/Breadcrumb';
8
9
 
9
10
  import './ContentExplorerModal.scss';
10
11
 
11
12
  type Props = {
13
+ breadcrumbProps?: BreadcrumbProps,
12
14
  className?: string,
13
15
  customInput?: React.ComponentType<any>,
14
16
  description?: string,
@@ -21,6 +23,7 @@ type Props = {
21
23
  };
22
24
 
23
25
  const ContentExplorerModal = ({
26
+ breadcrumbProps = {},
24
27
  className = '',
25
28
  customInput,
26
29
  title = '',
@@ -42,6 +45,7 @@ const ContentExplorerModal = ({
42
45
  >
43
46
  {description}
44
47
  <ContentExplorer
48
+ breadcrumbProps={breadcrumbProps}
45
49
  customInput={customInput}
46
50
  isResponsive={isResponsive}
47
51
  onCancelButtonClick={onRequestClose}
@@ -14,6 +14,7 @@ exports[`features/content-explorer/content-explorer-modal/ContentExplorerModal r
14
14
  >
15
15
  <ContentExplorer
16
16
  actionButtonsProps={Object {}}
17
+ breadcrumbProps={Object {}}
17
18
  cancelButtonProps={Object {}}
18
19
  chooseButtonProps={Object {}}
19
20
  className=""
@@ -2,12 +2,14 @@ import PropTypes from 'prop-types';
2
2
  import React, { Component } from 'react';
3
3
  import classNames from 'classnames';
4
4
 
5
- import { ContentExplorerModePropType, FoldersPathPropType, ItemsPropType } from '../prop-types';
5
+ import { BreadcrumbPropType, ContentExplorerModePropType, FoldersPathPropType, ItemsPropType } from '../prop-types';
6
6
  import ContentExplorerModal from '../content-explorer-modal';
7
7
  import NewFolderModal from '../new-folder-modal';
8
8
 
9
9
  class ContentExplorerModalContainer extends Component {
10
10
  static propTypes = {
11
+ /** Breadcrumb component options */
12
+ breadcrumbProps: BreadcrumbPropType,
11
13
  /** Adds class name. */
12
14
  className: PropTypes.string,
13
15
  /** Any extra items in the header to the right of the search input (and new folder button) */
@@ -161,6 +163,7 @@ class ContentExplorerModalContainer extends Component {
161
163
 
162
164
  render() {
163
165
  const {
166
+ breadcrumbProps,
164
167
  className,
165
168
  headerActionsAccessory,
166
169
  modalTitle,
@@ -199,6 +202,7 @@ class ContentExplorerModalContainer extends Component {
199
202
  return (
200
203
  <div className={classNames('content-explorer-modal-container', className)}>
201
204
  <ContentExplorerModal
205
+ breadcrumbProps={breadcrumbProps}
202
206
  className={isNewFolderModalOpen ? 'hidden' : ''}
203
207
  headerActionsAccessory={headerActionsAccessory}
204
208
  title={modalTitle}
@@ -43,7 +43,15 @@ const ItemsPropType = PropTypes.arrayOf(ItemOrPlaceholderPropType);
43
43
 
44
44
  const ItemsMapPropType = PropTypes.objectOf(ItemPropType);
45
45
 
46
+ const BreadcrumbPropType = PropTypes.shape({
47
+ className: PropTypes.string,
48
+ itemsBeforeOverflow: PropTypes.number,
49
+ overflowIcon: PropTypes.node,
50
+ threshold: PropTypes.number,
51
+ });
52
+
46
53
  export {
54
+ BreadcrumbPropType,
47
55
  ContentExplorerModePropType,
48
56
  FolderPropType,
49
57
  FoldersPathPropType,
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import { injectIntl, IntlShape } from 'react-intl';
3
+ import classNames from 'classnames';
4
+
5
+ import { formatCount } from './numberUtils';
6
+
7
+ interface Props {
8
+ className?: string;
9
+ count: number;
10
+ intl: IntlShape;
11
+ onMouseEnter?: () => void;
12
+ onMouseLeave?: () => void;
13
+ }
14
+
15
+ function CompactCount({ className, count, intl, ...rest }: Props) {
16
+ return (
17
+ <span className={classNames('CompactCount', className)} {...rest}>
18
+ {formatCount(count, intl)}
19
+ </span>
20
+ );
21
+ }
22
+
23
+ export default injectIntl(CompactCount);
@@ -0,0 +1,17 @@
1
+ @import '../../styles/variables';
2
+
3
+ .ContentAnalyticsErrorState {
4
+ display: flex;
5
+ flex-direction: column;
6
+ align-items: center;
7
+ justify-content: center;
8
+ height: 100%;
9
+ }
10
+
11
+ .ContentAnalyticsErrorState-text,
12
+ .ContentAnalyticsErrorState-text--permission {
13
+ width: 100%;
14
+ margin-top: $bdl-grid-unit * 5;
15
+ font-size: $bdl-fontSize--dejaBlue;
16
+ text-align: center;
17
+ }
@@ -0,0 +1,44 @@
1
+ import * as React from 'react';
2
+ import { FormattedMessage } from 'react-intl';
3
+
4
+ import MetricsReview56 from '../../illustration/MetricsReview56';
5
+ import messages from './messages';
6
+ import { ResponseError } from './types';
7
+
8
+ import './ContentAnalyticsErrorState.scss';
9
+
10
+ interface Props {
11
+ error?: ResponseError;
12
+ }
13
+
14
+ const ContentAnalyticsErrorState = ({ error }: Props) => {
15
+ const renderErrorMessage = (responseError?: ResponseError) => {
16
+ const isPermissionError = !!responseError && responseError.status === 403;
17
+
18
+ if (isPermissionError) {
19
+ return (
20
+ <div
21
+ className="ContentAnalyticsErrorState-text--permission"
22
+ data-testid="ContentAnalyticsErrorState-text--permission"
23
+ >
24
+ <FormattedMessage {...messages.contentAnalyticsPermissionError} />
25
+ </div>
26
+ );
27
+ }
28
+
29
+ return (
30
+ <div className="ContentAnalyticsErrorState-text" data-testid="ContentAnalyticsErrorState-text">
31
+ <FormattedMessage {...messages.contentAnalyticsErrorText} />
32
+ </div>
33
+ );
34
+ };
35
+
36
+ return (
37
+ <div className="ContentAnalyticsErrorState" data-testid="ContentAnalyticsErrorState">
38
+ <MetricsReview56 data-testid="ContentAnalyticsErrorState-image" />
39
+ {renderErrorMessage(error)}
40
+ </div>
41
+ );
42
+ };
43
+
44
+ export default ContentAnalyticsErrorState;
@@ -0,0 +1,12 @@
1
+ @import '../../styles/variables';
2
+
3
+ .ContentInsightsSummary {
4
+ display: flex;
5
+ flex-direction: column;
6
+
7
+ .OpenContentInsightsButton {
8
+ margin-top: $bdl-grid-unit * 5;
9
+ margin-right: 0;
10
+ margin-left: 0;
11
+ }
12
+ }
@@ -0,0 +1,45 @@
1
+ import * as React from 'react';
2
+
3
+ import ContentAnalyticsErrorState from './ContentAnalyticsErrorState';
4
+ import ContentInsightsSummaryGhostState from './ContentInsightsSummaryGhostState';
5
+ import GraphCardPreviewsSummary from './GraphCardPreviewsSummary';
6
+ import OpenContentInsightsButton from './OpenContentInsightsButton';
7
+ import { GraphData, ResponseError } from './types';
8
+
9
+ import './ContentInsightsSummary.scss';
10
+
11
+ interface Props {
12
+ graphData: GraphData;
13
+ error?: ResponseError;
14
+ isLoading: boolean;
15
+ onClick: () => void;
16
+ previousPeriodCount: number;
17
+ totalCount: number;
18
+ }
19
+
20
+ const ContentInsightsSummary = ({ error, graphData, isLoading, previousPeriodCount, onClick, totalCount }: Props) => {
21
+ const renderContentAnalyticsSummary = () => {
22
+ if (error) {
23
+ return <ContentAnalyticsErrorState error={error} />;
24
+ }
25
+
26
+ if (isLoading) {
27
+ return <ContentInsightsSummaryGhostState />;
28
+ }
29
+
30
+ return (
31
+ <>
32
+ <GraphCardPreviewsSummary
33
+ graphData={graphData}
34
+ previousPeriodCount={previousPeriodCount}
35
+ totalCount={totalCount}
36
+ />
37
+ <OpenContentInsightsButton onClick={onClick} />
38
+ </>
39
+ );
40
+ };
41
+
42
+ return <div className="ContentInsightsSummary">{renderContentAnalyticsSummary()}</div>;
43
+ };
44
+
45
+ export default ContentInsightsSummary;
@@ -0,0 +1,9 @@
1
+ @import '../../styles/variables';
2
+
3
+ .ContentInsightsSummaryGhostState-cta {
4
+ margin-top: $bdl-grid-unit * 5;
5
+ }
6
+
7
+ .ContentInsightsSummaryGhostState-ctaButton {
8
+ margin: 0;
9
+ }
@@ -0,0 +1,18 @@
1
+ import * as React from 'react';
2
+
3
+ import Ghost from '../../components/ghost';
4
+
5
+ import GraphCardGhostState from './GraphCardGhostState';
6
+
7
+ import './ContentInsightsSummaryGhostState.scss';
8
+
9
+ const ContentInsightsSummaryGhostState = () => (
10
+ <div className="ContentInsightsSummaryGhostState">
11
+ <GraphCardGhostState />
12
+ <div className="ContentInsightsSummaryGhostState-cta">
13
+ <Ghost borderRadius={6} className="ContentInsightsSummaryGhostState-ctaButton" height={32} />
14
+ </div>
15
+ </div>
16
+ );
17
+
18
+ export default ContentInsightsSummaryGhostState;
@@ -0,0 +1,18 @@
1
+ @import '../../styles/variables';
2
+
3
+ .GraphCardGhostState {
4
+ display: flex;
5
+ flex-direction: column;
6
+ }
7
+
8
+ .GraphCardGhostState-header {
9
+ display: flex;
10
+ flex: 0 0 70px;
11
+ flex-direction: column;
12
+ justify-content: space-around;
13
+ }
14
+
15
+ .GraphCardGhostState-headlinePill {
16
+ margin-top: $bdl-grid-unit * 2;
17
+ margin-bottom: $bdl-grid-unit * 6;
18
+ }
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import Ghost from '../../components/ghost';
3
+
4
+ import GraphGhostState from './GraphGhostState';
5
+
6
+ import './GraphCardGhostState.scss';
7
+
8
+ const GraphCardGhostState = () => (
9
+ <div className="GraphCardGhostState" data-testid="GraphCardGhostState">
10
+ <div className="GraphCardGhostState-header">
11
+ <Ghost borderRadius={4} height={16} width={56} />
12
+ <Ghost borderRadius={4} className="GraphCardGhostState-headlinePill" height={20} width={96} />
13
+ </div>
14
+ <GraphGhostState />
15
+ </div>
16
+ );
17
+
18
+ export default GraphCardGhostState;
@@ -0,0 +1,10 @@
1
+ @import './variables';
2
+
3
+ .GraphCardPreviewsSummary-chart.ca-BarChart {
4
+ flex: 0 0 $ContentInsights-chart-height-small;
5
+ margin-top: $bdl-grid-unit * 5.5;
6
+
7
+ .ca-Bar-value {
8
+ background: $ContentInsights-chart-color-previews;
9
+ }
10
+ }
@@ -0,0 +1,40 @@
1
+ import * as React from 'react';
2
+ import { injectIntl, IntlShape } from 'react-intl';
3
+
4
+ import BarChart from './charts/bar/BarChart';
5
+ import messages from './messages';
6
+ import MetricSummary from './MetricSummary';
7
+ import { METRIC, PERIOD } from './constants';
8
+ import { GraphData } from './types';
9
+
10
+ import './GraphCardPreviewsSummary.scss';
11
+
12
+ interface Props {
13
+ graphData: GraphData;
14
+ intl: IntlShape;
15
+ previousPeriodCount: number;
16
+ totalCount: number;
17
+ }
18
+
19
+ function GraphCardPreviewsSummary({ graphData, intl, previousPeriodCount, totalCount }: Props) {
20
+ return (
21
+ <>
22
+ <MetricSummary
23
+ data={graphData}
24
+ metric={METRIC.PREVIEWS}
25
+ period={PERIOD.WEEK}
26
+ previousPeriodCount={previousPeriodCount}
27
+ totalCount={totalCount}
28
+ />
29
+ <BarChart
30
+ className="GraphCardPreviewsSummary-chart"
31
+ data={graphData}
32
+ label={intl.formatMessage(messages.previewGraphLabel)}
33
+ labelAccessor="start"
34
+ valueAccessor="previewsCount"
35
+ />
36
+ </>
37
+ );
38
+ }
39
+
40
+ export default injectIntl(GraphCardPreviewsSummary);
@@ -0,0 +1,11 @@
1
+ @import '../../styles/variables';
2
+
3
+ .GraphGhostState {
4
+ display: flex;
5
+ align-items: flex-end;
6
+ justify-content: space-around;
7
+
8
+ .bdl-Ghost + .bdl-Ghost {
9
+ margin-left: $bdl-grid-unit * .5;
10
+ }
11
+ }
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import Ghost from '../../components/ghost';
3
+
4
+ import './GraphGhostState.scss';
5
+
6
+ const GRAPH_BAR_HEIGHTS = [28, 36, 54, 80, 36, 48, 28];
7
+
8
+ const GraphGhostState = () => (
9
+ <div className="GraphGhostState">
10
+ {GRAPH_BAR_HEIGHTS.map((height, index) => (
11
+ // eslint-disable-next-line react/no-array-index-key
12
+ <Ghost key={index} borderRadius={4} height={height} />
13
+ ))}
14
+ </div>
15
+ );
16
+
17
+ export default GraphGhostState;
@@ -0,0 +1,10 @@
1
+ @import './mixins';
2
+
3
+ .HeaderWithCount {
4
+ @include ContentInsightsHeaderText;
5
+ }
6
+
7
+ .HeaderWithCount-titleCount::before {
8
+ margin: 0 $bdl-grid-unit;
9
+ content: '•';
10
+ }
@@ -0,0 +1,24 @@
1
+ import * as React from 'react';
2
+ import CompactCount from './CompactCount';
3
+
4
+ import './HeaderWithCount.scss';
5
+
6
+ interface Props {
7
+ title: string;
8
+ totalCount?: number;
9
+ }
10
+
11
+ function isNumber(count?: number): count is number {
12
+ return typeof count === 'number';
13
+ }
14
+
15
+ function HeaderWithCount({ title, totalCount }: Props) {
16
+ return (
17
+ <div className="HeaderWithCount">
18
+ <span className="HeaderWithCount-title">{title}</span>
19
+ {isNumber(totalCount) ? <CompactCount className="HeaderWithCount-titleCount" count={totalCount} /> : null}
20
+ </div>
21
+ );
22
+ }
23
+
24
+ export default HeaderWithCount;
@@ -0,0 +1,14 @@
1
+ @import '../../styles/variables';
2
+
3
+ .MetricSummary-periodCount {
4
+ font-size: 21px;
5
+ }
6
+
7
+ .MetricSummary-period {
8
+ display: flex;
9
+ margin-top: $bdl-grid-unit * 1.5;
10
+
11
+ .MetricSummary-periodCount {
12
+ margin-right: $bdl-grid-unit * 2;
13
+ }
14
+ }