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.
- package/dist/explorer.css +1 -1
- package/dist/explorer.js +19 -58
- package/dist/openwith.css +1 -1
- package/dist/openwith.js +10 -10
- package/dist/picker.css +1 -1
- package/dist/picker.js +12 -12
- package/dist/preview.css +1 -1
- package/dist/preview.js +17 -56
- package/dist/sharing.css +1 -1
- package/dist/sharing.js +34 -34
- package/dist/sidebar.css +1 -1
- package/dist/sidebar.js +17 -56
- package/dist/uploader.css +1 -1
- package/dist/uploader.js +12 -12
- package/es/api/APIFactory.js +27 -0
- package/es/api/APIFactory.js.flow +26 -0
- package/es/api/APIFactory.js.map +1 -1
- package/es/api/Annotations.js +84 -8
- package/es/api/Annotations.js.flow +60 -6
- package/es/api/Annotations.js.map +1 -1
- package/es/api/Comments.js +2 -2
- package/es/api/Comments.js.flow +5 -4
- package/es/api/Comments.js.map +1 -1
- package/es/api/Feed.js +578 -71
- package/es/api/Feed.js.flow +677 -17
- package/es/api/Feed.js.map +1 -1
- package/es/api/FileCollaborators.js +29 -0
- package/es/api/FileCollaborators.js.flow +30 -0
- package/es/api/FileCollaborators.js.map +1 -1
- package/es/api/ThreadedComments.js +64 -27
- package/es/api/ThreadedComments.js.flow +54 -29
- package/es/api/ThreadedComments.js.map +1 -1
- package/es/api/fixtures.js +381 -0
- package/es/api/fixtures.js.flow +401 -0
- package/es/api/fixtures.js.map +1 -0
- package/es/api/messages.js +4 -0
- package/es/api/messages.js.flow +5 -0
- package/es/api/messages.js.map +1 -1
- package/es/api/utils.js +33 -0
- package/es/api/utils.js.flow +30 -0
- package/es/api/utils.js.map +1 -0
- package/es/common/types/annotations.js.flow +18 -12
- package/es/common/types/feed.js +1 -1
- package/es/common/types/feed.js.flow +40 -4
- package/es/common/types/feed.js.map +1 -1
- package/es/components/accessible-svg/AccessibleSVG.stories.js +20 -0
- package/es/components/accessible-svg/AccessibleSVG.stories.js.map +1 -0
- package/es/components/badge/Badge.stories.js +1 -13
- package/es/components/badge/Badge.stories.js.map +1 -1
- package/es/components/badge/BetaBadge.stories.js +10 -0
- package/es/components/badge/BetaBadge.stories.js.map +1 -0
- package/es/components/badge/TrialBadge.stories.js +10 -0
- package/es/components/badge/TrialBadge.stories.js.map +1 -0
- package/es/components/badge/UpgradeBadge.stories.js +10 -0
- package/es/components/badge/UpgradeBadge.stories.js.map +1 -0
- package/es/components/breadcrumb/Breadcrumb.js +48 -35
- package/es/components/breadcrumb/Breadcrumb.js.flow +68 -42
- package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/es/components/breadcrumb/EllipsisCrumb.js +5 -3
- package/es/components/breadcrumb/EllipsisCrumb.js.flow +10 -6
- package/es/components/breadcrumb/EllipsisCrumb.js.map +1 -1
- package/es/components/count-badge/CountBadge.stories.js +1 -1
- package/es/components/count-badge/CountBadge.stories.js.map +1 -1
- package/es/components/draggable-list/DraggableList.stories.js +119 -5
- package/es/components/draggable-list/DraggableList.stories.js.map +1 -1
- package/es/components/dropdown-menu/DropdownMenu.js +9 -0
- package/es/components/dropdown-menu/DropdownMenu.js.flow +11 -0
- package/es/components/dropdown-menu/DropdownMenu.js.map +1 -1
- package/es/components/dropdown-menu/DropdownMenu.scss +3 -3
- package/es/components/infinite-scroll/InfiniteScroll.js +4 -2
- package/es/components/infinite-scroll/InfiniteScroll.js.map +1 -1
- package/es/components/modal/Modal.scss +5 -1
- package/es/components/search-form/SearchForm.js +1 -1
- package/es/components/search-form/SearchForm.js.flow +1 -1
- package/es/components/search-form/SearchForm.js.map +1 -1
- package/es/components/table/makeSelectable.js +304 -97
- package/es/components/table/makeSelectable.js.flow +299 -98
- package/es/components/table/makeSelectable.js.map +1 -1
- package/es/components/tooltip/Tooltip.js +3 -2
- package/es/components/tooltip/Tooltip.js.map +1 -1
- package/es/constants.js +11 -0
- package/es/constants.js.flow +11 -0
- package/es/constants.js.map +1 -1
- package/es/elements/common/annotator-context/index.js +1 -0
- package/es/elements/common/annotator-context/index.js.flow +4 -0
- package/es/elements/common/annotator-context/index.js.map +1 -1
- package/es/elements/common/annotator-context/types.js +12 -0
- package/es/elements/common/annotator-context/types.js.flow +77 -35
- package/es/elements/common/annotator-context/types.js.map +1 -1
- package/es/elements/common/annotator-context/useAnnotatorEvents.js +205 -0
- package/es/elements/common/annotator-context/useAnnotatorEvents.js.flow +52 -0
- package/es/elements/common/annotator-context/useAnnotatorEvents.js.map +1 -0
- package/es/elements/common/annotator-context/withAnnotations.js +224 -5
- package/es/elements/common/annotator-context/withAnnotations.js.flow +73 -36
- package/es/elements/common/annotator-context/withAnnotations.js.map +1 -1
- package/es/elements/common/annotator-context/withAnnotatorContext.js +12 -4
- package/es/elements/common/annotator-context/withAnnotatorContext.js.flow +29 -9
- package/es/elements/common/annotator-context/withAnnotatorContext.js.map +1 -1
- package/es/elements/common/current-user/index.js +3 -0
- package/es/elements/common/current-user/index.js.flow +8 -0
- package/es/elements/common/current-user/index.js.map +1 -0
- package/es/elements/common/current-user/withCurrentUser.js +139 -0
- package/es/elements/common/current-user/withCurrentUser.js.flow +40 -0
- package/es/elements/common/current-user/withCurrentUser.js.map +1 -0
- package/es/elements/common/flowTypes.js.flow +22 -4
- package/es/elements/common/flowTypes.js.map +1 -1
- package/es/elements/common/interactionTargets.js +2 -0
- package/es/elements/common/interactionTargets.js.flow +2 -0
- package/es/elements/common/interactionTargets.js.map +1 -1
- package/es/elements/common/logger/Logger.js +1 -1
- package/es/elements/common/logger/Logger.js.flow +1 -1
- package/es/elements/common/logger/Logger.js.map +1 -1
- package/es/elements/common/messages.js +4 -0
- package/es/elements/common/messages.js.flow +5 -0
- package/es/elements/common/messages.js.map +1 -1
- package/es/elements/content-explorer/DeleteConfirmationDialog.js +2 -1
- package/es/elements/content-explorer/DeleteConfirmationDialog.js.flow +3 -1
- package/es/elements/content-explorer/DeleteConfirmationDialog.js.map +1 -1
- package/es/elements/content-explorer/DeleteConfirmationDialog.scss +5 -0
- package/es/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js +58 -0
- package/es/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js.flow +60 -0
- package/es/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js.map +1 -0
- package/es/elements/content-sidebar/ActivitySidebar.js +323 -197
- package/es/elements/content-sidebar/ActivitySidebar.js.flow +381 -154
- package/es/elements/content-sidebar/ActivitySidebar.js.map +1 -1
- package/es/elements/content-sidebar/ActivitySidebarFilter.js +52 -0
- package/es/elements/content-sidebar/ActivitySidebarFilter.js.flow +59 -0
- package/es/elements/content-sidebar/ActivitySidebarFilter.js.map +1 -0
- package/es/elements/content-sidebar/ActivitySidebarFilter.scss +4 -0
- package/es/elements/content-sidebar/DetailsSidebar.js +50 -25
- package/es/elements/content-sidebar/DetailsSidebar.js.flow +32 -4
- package/es/elements/content-sidebar/DetailsSidebar.js.map +1 -1
- package/es/elements/content-sidebar/Sidebar.js +4 -1
- package/es/elements/content-sidebar/Sidebar.js.flow +6 -1
- package/es/elements/content-sidebar/Sidebar.js.map +1 -1
- package/es/elements/content-sidebar/SidebarContentInsights.js +45 -0
- package/es/elements/content-sidebar/SidebarContentInsights.js.map +1 -0
- package/es/elements/content-sidebar/SidebarContentInsights.scss +6 -0
- package/es/elements/content-sidebar/SidebarPanels.js +2 -0
- package/es/elements/content-sidebar/SidebarPanels.js.flow +4 -0
- package/es/elements/content-sidebar/SidebarPanels.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js +91 -10
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js.flow +122 -24
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js +27 -15
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js.flow +59 -18
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js +101 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js.flow +126 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.scss +17 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js +69 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js.flow +85 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.scss +16 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js +62 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js.flow +59 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.scss +22 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/activityFeedUtils.js +2 -2
- package/es/elements/content-sidebar/activity-feed/activity-feed/activityFeedUtils.js.flow +2 -2
- package/es/elements/content-sidebar/activity-feed/activity-feed/activityFeedUtils.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/fixtures.js +55 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/fixtures.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/messages.js +16 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/messages.js.flow +20 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/messages.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js +121 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js.flow +117 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.scss +7 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js +75 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js.flow +105 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.scss +5 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js +77 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js.flow +86 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.scss +3 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/errors.js +11 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/errors.js.flow +26 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/errors.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/index.js +2 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/index.js.flow +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/index.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/messages.js +17 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/messages.js.flow +21 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/messages.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js +180 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js.flow +203 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js +124 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js.flow +121 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js +19 -5
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js.flow +24 -4
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js +25 -4
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js.flow +36 -2
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotations/messages.js +8 -0
- package/es/elements/content-sidebar/activity-feed/annotations/messages.js.flow +10 -0
- package/es/elements/content-sidebar/activity-feed/annotations/messages.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/comment/Comment.js +61 -28
- package/es/elements/content-sidebar/activity-feed/comment/Comment.js.flow +54 -10
- package/es/elements/content-sidebar/activity-feed/comment/Comment.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/comment/messages.js +8 -0
- package/es/elements/content-sidebar/activity-feed/comment/messages.js.flow +10 -0
- package/es/elements/content-sidebar/activity-feed/comment/messages.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js +4 -2
- package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js.flow +3 -1
- package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.js +16 -5
- package/es/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.js.flow +34 -4
- package/es/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.scss +40 -3
- package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessage.js +49 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessage.js.flow +42 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessage.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessageToggle.js +21 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessageToggle.js.flow +24 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessageToggle.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-message/messages.js +12 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-message/messages.js.flow +15 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-message/messages.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.js +24 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.js.flow +30 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.scss +6 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/index.js +2 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/index.js.flow +2 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/index.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/messages.js +9 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/messages.js.flow +13 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-status/messages.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/common/activity-timestamp/ActivityTimestamp.scss +1 -1
- package/es/elements/content-sidebar/fixtures.js +181 -0
- package/es/elements/content-sidebar/fixtures.js.flow +185 -0
- package/es/elements/content-sidebar/fixtures.js.map +1 -0
- package/es/elements/content-sidebar/flowTypes.js.flow +9 -25
- package/es/elements/content-sidebar/messages.js +8 -0
- package/es/elements/content-sidebar/messages.js.flow +10 -0
- package/es/elements/content-sidebar/messages.js.map +1 -1
- package/es/elements/content-sidebar/withErrorHandling.js.flow +1 -1
- package/es/elements/content-sidebar/withErrorHandling.js.map +1 -1
- package/es/elements/content-sidebar/withSidebarAnnotations.js +215 -30
- package/es/elements/content-sidebar/withSidebarAnnotations.js.flow +162 -11
- package/es/elements/content-sidebar/withSidebarAnnotations.js.map +1 -1
- package/es/elements/content-uploader/OverallUploadsProgressBar.js +10 -8
- package/es/elements/content-uploader/OverallUploadsProgressBar.js.flow +11 -12
- package/es/elements/content-uploader/OverallUploadsProgressBar.js.map +1 -1
- package/es/features/classification/Classification.scss +1 -1
- package/es/features/classification/security-controls/SecurityControlsItem.scss +1 -0
- package/es/features/classification/security-controls/messages.js +8 -0
- package/es/features/classification/security-controls/messages.js.flow +10 -0
- package/es/features/classification/security-controls/messages.js.map +1 -1
- package/es/features/classification/security-controls/utils.js +4 -7
- package/es/features/classification/security-controls/utils.js.flow +8 -12
- package/es/features/classification/security-controls/utils.js.map +1 -1
- package/es/features/content-explorer/content-explorer/ContentExplorer.js +6 -1
- package/es/features/content-explorer/content-explorer/ContentExplorer.js.flow +4 -0
- package/es/features/content-explorer/content-explorer/ContentExplorer.js.map +1 -1
- package/es/features/content-explorer/content-explorer/ContentExplorer.scss +4 -0
- package/es/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js +15 -9
- package/es/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js.flow +14 -11
- package/es/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js.map +1 -1
- package/es/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js +4 -1
- package/es/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js.flow +4 -1
- package/es/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js.map +1 -1
- package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js +6 -3
- package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js.flow +5 -1
- package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js.map +1 -1
- package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js +6 -1
- package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js.flow +5 -1
- package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js.map +1 -1
- package/es/features/content-explorer/prop-types.js +7 -1
- package/es/features/content-explorer/prop-types.js.flow +8 -0
- package/es/features/content-explorer/prop-types.js.map +1 -1
- package/es/features/content-insights/CompactCount.js +24 -0
- package/es/features/content-insights/CompactCount.js.map +1 -0
- package/es/features/content-insights/ContentAnalyticsErrorState.js +35 -0
- package/es/features/content-insights/ContentAnalyticsErrorState.js.map +1 -0
- package/es/features/content-insights/ContentAnalyticsErrorState.scss +17 -0
- package/es/features/content-insights/ContentInsightsSummary.js +42 -0
- package/es/features/content-insights/ContentInsightsSummary.js.map +1 -0
- package/es/features/content-insights/ContentInsightsSummary.scss +12 -0
- package/es/features/content-insights/ContentInsightsSummaryGhostState.js +19 -0
- package/es/features/content-insights/ContentInsightsSummaryGhostState.js.map +1 -0
- package/es/features/content-insights/ContentInsightsSummaryGhostState.scss +9 -0
- package/es/features/content-insights/GraphCardGhostState.js +25 -0
- package/es/features/content-insights/GraphCardGhostState.js.map +1 -0
- package/es/features/content-insights/GraphCardGhostState.scss +18 -0
- package/es/features/content-insights/GraphCardPreviewsSummary.js +30 -0
- package/es/features/content-insights/GraphCardPreviewsSummary.js.map +1 -0
- package/es/features/content-insights/GraphCardPreviewsSummary.scss +10 -0
- package/es/features/content-insights/GraphGhostState.js +21 -0
- package/es/features/content-insights/GraphGhostState.js.map +1 -0
- package/es/features/content-insights/GraphGhostState.scss +11 -0
- package/es/features/content-insights/HeaderWithCount.js +23 -0
- package/es/features/content-insights/HeaderWithCount.js.map +1 -0
- package/es/features/content-insights/HeaderWithCount.scss +10 -0
- package/es/features/content-insights/MetricSummary.js +85 -0
- package/es/features/content-insights/MetricSummary.js.map +1 -0
- package/es/features/content-insights/MetricSummary.scss +14 -0
- package/es/features/content-insights/OpenContentInsightsButton.js +16 -0
- package/es/features/content-insights/OpenContentInsightsButton.js.map +1 -0
- package/es/features/content-insights/TrendPill.js +61 -0
- package/es/features/content-insights/TrendPill.js.map +1 -0
- package/es/features/content-insights/TrendPill.scss +33 -0
- package/es/features/content-insights/_mixins.scss +7 -0
- package/es/features/content-insights/_variables.scss +4 -0
- package/es/features/content-insights/charts/bar/Bar.js +57 -0
- package/es/features/content-insights/charts/bar/Bar.js.map +1 -0
- package/es/features/content-insights/charts/bar/Bar.scss +27 -0
- package/es/features/content-insights/charts/bar/BarChart.js +70 -0
- package/es/features/content-insights/charts/bar/BarChart.js.map +1 -0
- package/es/features/content-insights/charts/bar/BarChart.scss +56 -0
- package/es/features/content-insights/charts/types.js +2 -0
- package/es/{common/types/threadedComments.js.map → features/content-insights/charts/types.js.map} +1 -1
- package/es/features/content-insights/constants.js +54 -0
- package/es/features/content-insights/constants.js.map +1 -0
- package/es/features/content-insights/messages.js +69 -0
- package/es/features/content-insights/messages.js.map +1 -0
- package/es/features/content-insights/numberUtils.js +10 -0
- package/es/features/content-insights/numberUtils.js.map +1 -0
- package/es/features/content-insights/types.js +2 -0
- package/es/features/content-insights/types.js.map +1 -0
- package/es/features/item-details/ItemProperties.scss +1 -1
- package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.js +5 -3
- package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.js.flow +4 -2
- package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.js.map +1 -1
- package/es/features/unified-share-modal/ContactRestrictionNotice.js +34 -8
- package/es/features/unified-share-modal/ContactRestrictionNotice.js.flow +36 -6
- package/es/features/unified-share-modal/ContactRestrictionNotice.js.map +1 -1
- package/es/features/unified-share-modal/EmailForm.js +59 -47
- package/es/features/unified-share-modal/EmailForm.js.flow +31 -13
- package/es/features/unified-share-modal/EmailForm.js.map +1 -1
- package/es/features/unified-share-modal/UnifiedShareForm.js +112 -103
- package/es/features/unified-share-modal/UnifiedShareForm.js.flow +25 -8
- package/es/features/unified-share-modal/UnifiedShareForm.js.map +1 -1
- package/es/features/unified-share-modal/UnifiedShareModal.js +1 -0
- package/es/features/unified-share-modal/UnifiedShareModal.js.flow +1 -0
- package/es/features/unified-share-modal/UnifiedShareModal.js.map +1 -1
- package/es/features/unified-share-modal/flowTypes.js.flow +4 -2
- package/es/features/unified-share-modal/flowTypes.js.map +1 -1
- package/es/features/unified-share-modal/messages.js +12 -8
- package/es/features/unified-share-modal/messages.js.flow +14 -8
- package/es/features/unified-share-modal/messages.js.map +1 -1
- package/es/features/unified-share-modal/utils/hasRestrictedContacts.js +9 -4
- package/es/features/unified-share-modal/utils/hasRestrictedContacts.js.flow +10 -3
- package/es/features/unified-share-modal/utils/hasRestrictedContacts.js.map +1 -1
- package/es/features/unified-share-modal/utils/isRestrictedContact.js +15 -0
- package/es/features/unified-share-modal/utils/isRestrictedContact.js.flow +21 -0
- package/es/features/unified-share-modal/utils/isRestrictedContact.js.map +1 -0
- package/es/icon/fill/Alert16.js +3 -2
- package/es/icon/fill/Alert16.js.flow +3 -2
- package/es/icon/fill/Alert16.js.map +1 -1
- package/es/icon/fill/AlertBadge16.js +31 -0
- package/es/icon/fill/AlertBadge16.js.flow +29 -0
- package/es/icon/fill/AlertBadge16.js.map +1 -0
- package/es/icon/fill/AlertBadge16.stories.js +13 -0
- package/es/icon/fill/AlertBadge16.stories.js.map +1 -0
- package/es/icon/fill/Info16.js +2 -2
- package/es/icon/fill/Info16.js.flow +1 -1
- package/es/icon/fill/Info16.js.map +1 -1
- package/es/icon/fill/InfoBadge16.js +30 -0
- package/es/icon/fill/InfoBadge16.js.flow +28 -0
- package/es/icon/fill/InfoBadge16.js.map +1 -0
- package/es/icon/fill/InfoBadge16.stories.js +13 -0
- package/es/icon/fill/InfoBadge16.stories.js.map +1 -0
- package/es/icon/line/AlertBubble16.js +31 -0
- package/es/icon/line/AlertBubble16.js.flow +29 -0
- package/es/icon/line/AlertBubble16.js.map +1 -0
- package/es/icon/line/AlertBubble16.stories.js +13 -0
- package/es/icon/line/AlertBubble16.stories.js.map +1 -0
- package/es/icon/line/AvatarXBadge16.js +45 -0
- package/es/icon/line/AvatarXBadge16.js.flow +39 -0
- package/es/icon/line/AvatarXBadge16.js.map +1 -0
- package/es/icon/line/AvatarXBadge16.stories.js +13 -0
- package/es/icon/line/AvatarXBadge16.stories.js.map +1 -0
- package/es/icon/line/CoEdit16.js +32 -0
- package/es/icon/line/CoEdit16.js.flow +30 -0
- package/es/icon/line/CoEdit16.js.map +1 -0
- package/es/icon/line/CoEdit16.stories.js +13 -0
- package/es/icon/line/CoEdit16.stories.js.map +1 -0
- package/es/icon/line/Collaborations16.js +32 -0
- package/es/icon/line/Collaborations16.js.flow +30 -0
- package/es/icon/line/Collaborations16.js.map +1 -0
- package/es/icon/line/Collaborations16.stories.js +13 -0
- package/es/icon/line/Collaborations16.stories.js.map +1 -0
- package/es/icon/line/CommentBubble16.js +35 -0
- package/es/icon/line/CommentBubble16.js.flow +34 -0
- package/es/icon/line/CommentBubble16.js.map +1 -0
- package/es/icon/line/CommentBubble16.stories.js +13 -0
- package/es/icon/line/CommentBubble16.stories.js.map +1 -0
- package/es/src/components/accessible-svg/AccessibleSVG.stories.d.ts +7 -0
- package/es/src/components/badge/Badge.stories.d.ts +0 -3
- package/es/src/components/badge/BetaBadge.stories.d.ts +6 -0
- package/es/src/components/badge/TrialBadge.stories.d.ts +6 -0
- package/es/src/components/badge/UpgradeBadge.stories.d.ts +6 -0
- package/es/src/components/draggable-list/DraggableList.stories.d.ts +3 -3
- package/es/src/components/infinite-scroll/InfiniteScroll.d.ts +1 -1
- package/es/src/components/tooltip/Tooltip.d.ts +2 -0
- package/es/src/elements/common/annotator-context/__tests__/useAnnotatorEvents.test.d.ts +1 -0
- package/es/src/elements/common/annotator-context/index.d.ts +1 -0
- package/es/src/elements/common/annotator-context/types.d.ts +28 -6
- package/es/src/elements/common/annotator-context/useAnnotatorEvents.d.ts +52 -0
- package/es/src/elements/common/annotator-context/withAnnotations.d.ts +11 -2
- package/es/src/elements/common/annotator-context/withAnnotatorContext.d.ts +6 -2
- package/es/src/elements/common/current-user/__tests__/withCurrentUser.test.d.ts +1 -0
- package/es/src/elements/common/current-user/index.d.ts +2 -0
- package/es/src/elements/common/current-user/withCurrentUser.d.ts +20 -0
- package/es/src/elements/content-sidebar/SidebarContentInsights.d.ts +15 -0
- package/es/src/elements/content-sidebar/__tests__/SidebarContentInsights.test.d.ts +1 -0
- package/es/src/elements/content-sidebar/activity-feed/activity-feed/fixtures.d.ts +55 -0
- package/es/src/features/content-insights/CompactCount.d.ts +15 -0
- package/es/src/features/content-insights/ContentAnalyticsErrorState.d.ts +7 -0
- package/es/src/features/content-insights/ContentInsightsSummary.d.ts +12 -0
- package/es/src/features/content-insights/ContentInsightsSummaryGhostState.d.ts +3 -0
- package/es/src/features/content-insights/GraphCardGhostState.d.ts +3 -0
- package/es/src/features/content-insights/GraphCardPreviewsSummary.d.ts +16 -0
- package/es/src/features/content-insights/GraphGhostState.d.ts +3 -0
- package/es/src/features/content-insights/HeaderWithCount.d.ts +7 -0
- package/es/src/features/content-insights/MetricSummary.d.ts +18 -0
- package/es/src/features/content-insights/OpenContentInsightsButton.d.ts +5 -0
- package/es/src/features/content-insights/TrendPill.d.ts +15 -0
- package/es/src/features/content-insights/__tests__/CompactCount.test.d.ts +1 -0
- package/es/src/features/content-insights/__tests__/ContentAnalyticsErrorState.test.d.ts +1 -0
- package/es/src/features/content-insights/__tests__/ContentInsightsSummary.test.d.ts +1 -0
- package/es/src/features/content-insights/__tests__/GraphCardPreviewsSummary.test.d.ts +1 -0
- package/es/src/features/content-insights/__tests__/HeaderWithCount.test.d.ts +1 -0
- package/es/src/features/content-insights/__tests__/MetricSummary.test.d.ts +1 -0
- package/es/src/features/content-insights/charts/bar/Bar.d.ts +11 -0
- package/es/src/features/content-insights/charts/bar/BarChart.d.ts +19 -0
- package/es/src/features/content-insights/charts/bar/__tests__/Bar.test.d.ts +1 -0
- package/es/src/features/content-insights/charts/bar/__tests__/BarChart.test.d.ts +1 -0
- package/es/src/features/content-insights/charts/types.d.ts +2 -0
- package/es/src/features/content-insights/constants.d.ts +27 -0
- package/es/src/features/content-insights/messages.d.ts +83 -0
- package/es/src/features/content-insights/numberUtils.d.ts +3 -0
- package/es/src/features/content-insights/types.d.ts +24 -0
- package/es/src/icon/fill/AlertBadge16.d.ts +13 -0
- package/es/src/icon/fill/AlertBadge16.stories.d.ts +9 -0
- package/es/src/icon/fill/InfoBadge16.d.ts +13 -0
- package/es/src/icon/fill/InfoBadge16.stories.d.ts +9 -0
- package/es/src/icon/line/AlertBubble16.d.ts +13 -0
- package/es/src/icon/line/AlertBubble16.stories.d.ts +9 -0
- package/es/src/icon/line/AvatarXBadge16.d.ts +13 -0
- package/es/src/icon/line/AvatarXBadge16.stories.d.ts +9 -0
- package/es/src/icon/line/CoEdit16.d.ts +13 -0
- package/es/src/icon/line/CoEdit16.stories.d.ts +9 -0
- package/es/src/icon/line/Collaborations16.d.ts +13 -0
- package/es/src/icon/line/Collaborations16.stories.d.ts +9 -0
- package/es/src/icon/line/CommentBubble16.d.ts +13 -0
- package/es/src/icon/line/CommentBubble16.stories.d.ts +9 -0
- package/es/src/styles/variables.d.ts +3 -1
- package/es/styles/constants/_layout.scss +1 -1
- package/es/styles/constants/_media-queries.scss +2 -0
- package/es/styles/variables.js +6 -2
- package/es/styles/variables.js.flow +4 -2
- package/es/styles/variables.js.map +1 -1
- package/es/utils/error.js +5 -1
- package/es/utils/error.js.flow +5 -1
- package/es/utils/error.js.map +1 -1
- package/es/utils/fields.js +8 -3
- package/es/utils/fields.js.flow +21 -3
- package/es/utils/fields.js.map +1 -1
- package/es/utils/sorter.js.flow +2 -2
- package/es/utils/sorter.js.map +1 -1
- package/i18n/bn-IN.js +45 -7
- package/i18n/bn-IN.properties +83 -7
- package/i18n/da-DK.js +45 -7
- package/i18n/da-DK.properties +83 -7
- package/i18n/de-DE.js +45 -7
- package/i18n/de-DE.properties +83 -7
- package/i18n/en-AU.js +45 -7
- package/i18n/en-AU.properties +83 -7
- package/i18n/en-CA.js +45 -7
- package/i18n/en-CA.properties +83 -7
- package/i18n/en-GB.js +45 -7
- package/i18n/en-GB.properties +83 -7
- package/i18n/en-US.js +45 -7
- package/i18n/en-US.properties +83 -7
- package/i18n/en-x-pseudo.js +891 -854
- package/i18n/en-x-pseudo.properties +941 -843
- package/i18n/es-419.js +45 -7
- package/i18n/es-419.properties +83 -7
- package/i18n/es-ES.js +45 -7
- package/i18n/es-ES.properties +83 -7
- package/i18n/fi-FI.js +45 -7
- package/i18n/fi-FI.properties +83 -7
- package/i18n/fr-CA.js +45 -7
- package/i18n/fr-CA.properties +83 -7
- package/i18n/fr-FR.js +45 -7
- package/i18n/fr-FR.properties +83 -7
- package/i18n/hi-IN.js +45 -7
- package/i18n/hi-IN.properties +83 -7
- package/i18n/it-IT.js +45 -7
- package/i18n/it-IT.properties +83 -7
- package/i18n/ja-JP.js +47 -9
- package/i18n/ja-JP.properties +85 -9
- package/i18n/ko-KR.js +45 -7
- package/i18n/ko-KR.properties +83 -7
- package/i18n/nb-NO.js +45 -7
- package/i18n/nb-NO.properties +83 -7
- package/i18n/nl-NL.js +45 -7
- package/i18n/nl-NL.properties +83 -7
- package/i18n/pl-PL.js +45 -7
- package/i18n/pl-PL.properties +83 -7
- package/i18n/pt-BR.js +45 -7
- package/i18n/pt-BR.properties +83 -7
- package/i18n/ru-RU.js +45 -7
- package/i18n/ru-RU.properties +83 -7
- package/i18n/sv-SE.js +45 -7
- package/i18n/sv-SE.properties +83 -7
- package/i18n/tr-TR.js +45 -7
- package/i18n/tr-TR.properties +83 -7
- package/i18n/zh-CN.js +45 -7
- package/i18n/zh-CN.properties +83 -7
- package/i18n/zh-TW.js +45 -7
- package/i18n/zh-TW.properties +83 -7
- package/package.json +7 -8
- package/src/__mocks__/react-intl.js +4 -0
- package/src/api/APIFactory.js +26 -0
- package/src/api/Annotations.js +60 -6
- package/src/api/Comments.js +5 -4
- package/src/api/Feed.js +677 -17
- package/src/api/FileCollaborators.js +30 -0
- package/src/api/ThreadedComments.js +54 -29
- package/src/api/__tests__/Annotations.test.js +77 -3
- package/src/api/__tests__/Feed.test.js +698 -85
- package/src/api/__tests__/FileCollaborators.test.js +41 -0
- package/src/api/__tests__/ThreadedComments.test.js +47 -10
- package/src/api/__tests__/utils.test.js +11 -0
- package/src/api/fixtures.js +401 -0
- package/src/api/messages.js +5 -0
- package/src/api/utils.js +30 -0
- package/src/common/types/annotations.js +18 -12
- package/src/common/types/feed.js +40 -4
- package/src/components/accessible-svg/AccessibleSVG.stories.tsx +18 -0
- package/src/components/badge/Badge.stories.md +1 -7
- package/src/components/badge/Badge.stories.tsx +1 -10
- package/src/components/badge/BetaBadge.stories.tsx +9 -0
- package/src/components/badge/TrialBadge.stories.tsx +9 -0
- package/src/components/badge/UpgradeBadge.stories.tsx +9 -0
- package/src/components/breadcrumb/Breadcrumb.js +68 -42
- package/src/components/breadcrumb/EllipsisCrumb.js +10 -6
- package/src/components/count-badge/CountBadge.stories.tsx +1 -1
- package/src/components/draggable-list/DraggableList.stories.tsx +72 -5
- package/src/components/dropdown-menu/DropdownMenu.js +11 -0
- package/src/components/dropdown-menu/DropdownMenu.scss +3 -3
- package/src/components/dropdown-menu/__tests__/DropdownMenu.test.js +38 -0
- package/src/components/grid-view/__tests__/__snapshots__/GridViewSlider.test.js.snap +1 -0
- package/src/components/infinite-scroll/InfiniteScroll.md +1 -1
- package/src/components/infinite-scroll/InfiniteScroll.tsx +5 -2
- package/src/components/infinite-scroll/__tests__/InfiniteScroll.test.tsx +115 -127
- package/src/components/modal/Modal.scss +5 -1
- package/src/components/search-form/SearchForm.js +1 -1
- package/src/components/search-form/__tests__/SearchForm.test.js +25 -6
- package/src/components/sidebar-toggle-button/__tests__/__snapshots__/SidebarToggleButton.test.js.snap +4 -0
- package/src/components/table/__tests__/makeSelectable.test.js +654 -144
- package/src/components/table/makeSelectable.js +299 -98
- package/src/components/time/__tests__/ReadableTime.test.js +0 -1
- package/src/components/tooltip/Tooltip.tsx +5 -2
- package/src/components/tooltip/__tests__/Tooltip.test.tsx +10 -0
- package/src/components/tooltip/__tests__/__snapshots__/Tooltip.test.tsx.snap +1 -1
- package/src/constants.js +11 -0
- package/src/elements/common/annotator-context/__tests__/useAnnotatorEvents.test.tsx +509 -0
- package/src/elements/common/annotator-context/__tests__/withAnnotations.test.tsx +275 -12
- package/src/elements/common/annotator-context/__tests__/withAnnotatorContext.test.tsx +18 -6
- package/src/elements/common/annotator-context/index.js.flow +4 -0
- package/src/elements/common/annotator-context/index.ts +1 -0
- package/src/elements/common/annotator-context/types.js.flow +77 -35
- package/src/elements/common/annotator-context/types.ts +28 -6
- package/src/elements/common/annotator-context/useAnnotatorEvents.js.flow +52 -0
- package/src/elements/common/annotator-context/useAnnotatorEvents.ts +190 -0
- package/src/elements/common/annotator-context/withAnnotations.js.flow +73 -36
- package/src/elements/common/annotator-context/withAnnotations.tsx +170 -7
- package/src/elements/common/annotator-context/withAnnotatorContext.js.flow +29 -9
- package/src/elements/common/annotator-context/withAnnotatorContext.tsx +28 -5
- package/src/elements/common/current-user/__tests__/withCurrentUser.test.tsx +108 -0
- package/src/elements/common/current-user/index.js.flow +8 -0
- package/src/elements/common/current-user/index.ts +2 -0
- package/src/elements/common/current-user/withCurrentUser.js.flow +40 -0
- package/src/elements/common/current-user/withCurrentUser.tsx +139 -0
- package/src/elements/common/flowTypes.js +22 -4
- package/src/elements/common/interactionTargets.js +2 -0
- package/src/elements/common/logger/Logger.js +1 -1
- package/src/elements/common/messages.js +5 -0
- package/src/elements/content-explorer/DeleteConfirmationDialog.js +3 -1
- package/src/elements/content-explorer/DeleteConfirmationDialog.scss +5 -0
- package/src/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js +60 -0
- package/src/elements/content-explorer/stories/DeleteConfirmationDialog.stories.md +1 -0
- package/src/elements/content-sidebar/ActivitySidebar.js +381 -154
- package/src/elements/content-sidebar/ActivitySidebarFilter.js +59 -0
- package/src/elements/content-sidebar/ActivitySidebarFilter.scss +4 -0
- package/src/elements/content-sidebar/DetailsSidebar.js +32 -4
- package/src/elements/content-sidebar/Sidebar.js +6 -1
- package/src/elements/content-sidebar/SidebarContentInsights.scss +6 -0
- package/src/elements/content-sidebar/SidebarContentInsights.tsx +57 -0
- package/src/elements/content-sidebar/SidebarPanels.js +4 -0
- package/src/elements/content-sidebar/__tests__/ActivitySidebar.test.js +533 -243
- package/src/elements/content-sidebar/__tests__/ActivitySidebarFilter.test.js +54 -0
- package/src/elements/content-sidebar/__tests__/DetailsSidebar.test.js +45 -0
- package/src/elements/content-sidebar/__tests__/Sidebar.test.js +1 -1
- package/src/elements/content-sidebar/__tests__/SidebarContentInsights.test.tsx +56 -0
- package/src/elements/content-sidebar/__tests__/SidebarPanels.test.js +4 -3
- package/src/elements/content-sidebar/__tests__/__snapshots__/ActivitySidebar.test.js.snap +29 -15
- package/src/elements/content-sidebar/__tests__/__snapshots__/SidebarFileProperties.test.js.snap +1 -0
- package/src/elements/content-sidebar/__tests__/withSidebarAnnotations.test.js +325 -32
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js +122 -24
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js +59 -18
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js +126 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.scss +17 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js +85 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.scss +16 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js +59 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.scss +22 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActiveState.test.js +19 -5
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityFeed.test.js +22 -16
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityThread.test.js +80 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityThreadReplies.test.js +24 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityThreadRepliesForm.test.js +47 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/__snapshots__/ActiveState.test.js.snap +74 -43
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/activityFeedUtils.test.js +8 -8
- package/src/elements/content-sidebar/activity-feed/activity-feed/activityFeedUtils.js +2 -2
- package/src/elements/content-sidebar/activity-feed/activity-feed/fixtures.ts +56 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/messages.js +20 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js +117 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.scss +7 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js +105 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.scss +5 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js +86 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.scss +3 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/AnnotationThread.test.js +28 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/AnnotationThreadContent.test.js +89 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/AnnotationThreadCreate.test.js +103 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/useAnnotationAPI.test.js +202 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/useRepliesAPI.test.js +99 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/errors.js +26 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/index.js +1 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/messages.js +21 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js +203 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js +121 -0
- package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js +24 -4
- package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js +36 -2
- package/src/elements/content-sidebar/activity-feed/annotations/__tests__/AnnotationActivity.test.js +14 -10
- package/src/elements/content-sidebar/activity-feed/annotations/__tests__/AnnotationActivityMenu.test.js +35 -1
- package/src/elements/content-sidebar/activity-feed/annotations/messages.js +10 -0
- package/src/elements/content-sidebar/activity-feed/comment/Comment.js +54 -10
- package/src/elements/content-sidebar/activity-feed/comment/__tests__/Comment.test.js +152 -7
- package/src/elements/content-sidebar/activity-feed/comment/__tests__/__snapshots__/Comment.test.js.snap +12 -7
- package/src/elements/content-sidebar/activity-feed/comment/messages.js +10 -0
- package/src/elements/content-sidebar/activity-feed/comment-form/CommentForm.js +3 -1
- package/src/elements/content-sidebar/activity-feed/comment-form/__tests__/CommentForm.test.js +11 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.js +34 -4
- package/src/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.scss +40 -3
- package/src/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessage.js +42 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-message/CollapsableMessageToggle.js +24 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-message/__tests__/ActivityMessage.test.js +48 -1
- package/src/elements/content-sidebar/activity-feed/common/activity-message/messages.js +15 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.js +30 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.scss +6 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-status/__tests__/ActivityStatus.test.js +19 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-status/index.js +2 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-status/messages.js +13 -0
- package/src/elements/content-sidebar/activity-feed/common/activity-timestamp/ActivityTimestamp.scss +1 -1
- package/src/elements/content-sidebar/activity-feed/task-new/__tests__/Task.test.js +4 -3
- package/src/elements/content-sidebar/activity-feed/task-new/__tests__/__snapshots__/Task.test.js.snap +1 -2
- package/src/elements/content-sidebar/fixtures.js +185 -0
- package/src/elements/content-sidebar/flowTypes.js +9 -25
- package/src/elements/content-sidebar/messages.js +10 -0
- package/src/elements/content-sidebar/withErrorHandling.js +1 -1
- package/src/elements/content-sidebar/withSidebarAnnotations.js +162 -11
- package/src/elements/content-uploader/OverallUploadsProgressBar.js +11 -12
- package/src/features/classification/Classification.scss +1 -1
- package/src/features/classification/security-controls/SecurityControlsItem.scss +1 -0
- package/src/features/classification/security-controls/__tests__/__snapshots__/utils.test.js.snap +18 -16
- package/src/features/classification/security-controls/__tests__/utils.test.js +13 -5
- package/src/features/classification/security-controls/messages.js +10 -0
- package/src/features/classification/security-controls/utils.js +8 -12
- package/src/features/collapsible-sidebar/__tests__/__snapshots__/CollapsibleSidebarLogo.test.js.snap +2 -0
- package/src/features/content-explorer/content-explorer/ContentExplorer.js +4 -0
- package/src/features/content-explorer/content-explorer/ContentExplorer.scss +4 -0
- package/src/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js +14 -11
- package/src/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js +4 -1
- package/src/features/content-explorer/content-explorer/__tests__/ContentExplorerBreadcrumbs.test.js +2 -2
- package/src/features/content-explorer/content-explorer-modal/ContentExplorerModal.js +5 -1
- package/src/features/content-explorer/content-explorer-modal/__tests__/__snapshots__/ContentExplorerModal.test.js.snap +1 -0
- package/src/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js +5 -1
- package/src/features/content-explorer/prop-types.js +8 -0
- package/src/features/content-insights/CompactCount.tsx +23 -0
- package/src/features/content-insights/ContentAnalyticsErrorState.scss +17 -0
- package/src/features/content-insights/ContentAnalyticsErrorState.tsx +44 -0
- package/src/features/content-insights/ContentInsightsSummary.scss +12 -0
- package/src/features/content-insights/ContentInsightsSummary.tsx +45 -0
- package/src/features/content-insights/ContentInsightsSummaryGhostState.scss +9 -0
- package/src/features/content-insights/ContentInsightsSummaryGhostState.tsx +18 -0
- package/src/features/content-insights/GraphCardGhostState.scss +18 -0
- package/src/features/content-insights/GraphCardGhostState.tsx +18 -0
- package/src/features/content-insights/GraphCardPreviewsSummary.scss +10 -0
- package/src/features/content-insights/GraphCardPreviewsSummary.tsx +40 -0
- package/src/features/content-insights/GraphGhostState.scss +11 -0
- package/src/features/content-insights/GraphGhostState.tsx +17 -0
- package/src/features/content-insights/HeaderWithCount.scss +10 -0
- package/src/features/content-insights/HeaderWithCount.tsx +24 -0
- package/src/features/content-insights/MetricSummary.scss +14 -0
- package/src/features/content-insights/MetricSummary.tsx +65 -0
- package/src/features/content-insights/OpenContentInsightsButton.tsx +20 -0
- package/src/features/content-insights/TrendPill.scss +33 -0
- package/src/features/content-insights/TrendPill.tsx +70 -0
- package/src/features/content-insights/__tests__/CompactCount.test.tsx +57 -0
- package/src/features/content-insights/__tests__/ContentAnalyticsErrorState.test.tsx +33 -0
- package/src/features/content-insights/__tests__/ContentInsightsSummary.test.tsx +81 -0
- package/src/features/content-insights/__tests__/GraphCardPreviewsSummary.test.tsx +35 -0
- package/src/features/content-insights/__tests__/HeaderWithCount.test.tsx +26 -0
- package/src/features/content-insights/__tests__/MetricSummary.test.tsx +88 -0
- package/src/features/content-insights/_mixins.scss +7 -0
- package/src/features/content-insights/_variables.scss +4 -0
- package/src/features/content-insights/charts/bar/Bar.scss +27 -0
- package/src/features/content-insights/charts/bar/Bar.tsx +48 -0
- package/src/features/content-insights/charts/bar/BarChart.scss +56 -0
- package/src/features/content-insights/charts/bar/BarChart.tsx +78 -0
- package/src/features/content-insights/charts/bar/__tests__/Bar.test.tsx +74 -0
- package/src/features/content-insights/charts/bar/__tests__/BarChart.test.tsx +110 -0
- package/src/features/content-insights/charts/types.ts +3 -0
- package/src/features/content-insights/constants.ts +60 -0
- package/src/features/content-insights/messages.ts +90 -0
- package/src/features/content-insights/numberUtils.ts +9 -0
- package/src/features/content-insights/types.ts +33 -0
- package/src/features/item-details/ItemProperties.scss +1 -1
- package/src/features/shared-link-settings-modal/SharedLinkSettingsModal.js +4 -2
- package/src/features/shared-link-settings-modal/__tests__/SharedLinkSettingsModal.test.js +22 -3
- package/src/features/shared-link-settings-modal/__tests__/__snapshots__/SharedLinkSettingsModal.test.js.snap +2 -1
- package/src/features/unified-share-modal/ContactRestrictionNotice.js +36 -6
- package/src/features/unified-share-modal/EmailForm.js +31 -13
- package/src/features/unified-share-modal/UnifiedShareForm.js +25 -8
- package/src/features/unified-share-modal/UnifiedShareModal.js +1 -0
- package/src/features/unified-share-modal/__tests__/ContactRestrictionNotice.test.js +55 -6
- package/src/features/unified-share-modal/__tests__/EmailForm.test.js +131 -24
- package/src/features/unified-share-modal/__tests__/UnifiedShareForm.test.js +89 -35
- package/src/features/unified-share-modal/__tests__/__snapshots__/UnifiedShareForm.test.js.snap +16 -0
- package/src/features/unified-share-modal/__tests__/__snapshots__/UnifiedShareModal.test.js.snap +17 -0
- package/src/features/unified-share-modal/flowTypes.js +4 -2
- package/src/features/unified-share-modal/messages.js +14 -8
- package/src/features/unified-share-modal/utils/__tests__/hasRestrictedContacts.test.js +24 -10
- package/src/features/unified-share-modal/utils/__tests__/isRestrictedContact.test.js +33 -0
- package/src/features/unified-share-modal/utils/hasRestrictedContacts.js +10 -3
- package/src/features/unified-share-modal/utils/isRestrictedContact.js +21 -0
- package/src/features/virtualized-table/__tests__/__snapshots__/VirtualizedTable.test.js.snap +1 -0
- package/src/icon/fill/Alert16.js.flow +3 -2
- package/src/icon/fill/Alert16.tsx +3 -2
- package/src/icon/fill/AlertBadge16.js.flow +29 -0
- package/src/icon/fill/AlertBadge16.stories.tsx +13 -0
- package/src/icon/fill/AlertBadge16.tsx +27 -0
- package/src/icon/fill/Info16.js.flow +1 -1
- package/src/icon/fill/Info16.tsx +1 -1
- package/src/icon/fill/InfoBadge16.js.flow +28 -0
- package/src/icon/fill/InfoBadge16.stories.tsx +13 -0
- package/src/icon/fill/InfoBadge16.tsx +26 -0
- package/src/icon/line/AlertBubble16.js.flow +29 -0
- package/src/icon/line/AlertBubble16.stories.tsx +13 -0
- package/src/icon/line/AlertBubble16.tsx +27 -0
- package/src/icon/line/AvatarXBadge16.js.flow +39 -0
- package/src/icon/line/AvatarXBadge16.stories.tsx +13 -0
- package/src/icon/line/AvatarXBadge16.tsx +37 -0
- package/src/icon/line/CoEdit16.js.flow +30 -0
- package/src/icon/line/CoEdit16.stories.tsx +13 -0
- package/src/icon/line/CoEdit16.tsx +28 -0
- package/src/icon/line/Collaborations16.js.flow +30 -0
- package/src/icon/line/Collaborations16.stories.tsx +13 -0
- package/src/icon/line/Collaborations16.tsx +28 -0
- package/src/icon/line/CommentBubble16.js.flow +34 -0
- package/src/icon/line/CommentBubble16.stories.tsx +13 -0
- package/src/icon/line/CommentBubble16.tsx +32 -0
- package/src/styles/constants/_layout.scss +1 -1
- package/src/styles/constants/_media-queries.scss +2 -0
- package/src/styles/variables.js +4 -2
- package/src/styles/variables.json +4 -2
- package/src/styles/variables.ts +3 -1
- package/src/utils/__tests__/fields.test.js +23 -4
- package/src/utils/__tests__/sorter.test.js +3 -3
- package/src/utils/error.js +5 -1
- package/src/utils/fields.js +21 -3
- package/src/utils/sorter.js +2 -2
- package/es/common/types/threadedComments.js +0 -2
- package/es/common/types/threadedComments.js.flow +0 -9
- package/src/common/types/threadedComments.js +0 -9
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import noop from 'lodash/noop';
|
|
5
|
+
import Bar from './Bar';
|
|
6
|
+
import { AccessorFunction, Direction } from '../types';
|
|
7
|
+
|
|
8
|
+
import './BarChart.scss';
|
|
9
|
+
|
|
10
|
+
type ValueAccessor = string | AccessorFunction;
|
|
11
|
+
|
|
12
|
+
interface Props {
|
|
13
|
+
className?: string;
|
|
14
|
+
data: Array<any>;
|
|
15
|
+
direction?: Direction;
|
|
16
|
+
label: string;
|
|
17
|
+
labelAccessor: string;
|
|
18
|
+
onBarMouseEnter?: (arg1: { datum: any }) => void;
|
|
19
|
+
onBarMouseLeave?: (arg1: { datum: any }) => void;
|
|
20
|
+
valueAccessor: ValueAccessor;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function isFunction(valueAccessor: ValueAccessor): valueAccessor is AccessorFunction {
|
|
24
|
+
return typeof valueAccessor === 'function';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function BarChart({
|
|
28
|
+
className,
|
|
29
|
+
data = [],
|
|
30
|
+
direction = 'vertical',
|
|
31
|
+
label,
|
|
32
|
+
onBarMouseEnter,
|
|
33
|
+
onBarMouseLeave,
|
|
34
|
+
labelAccessor,
|
|
35
|
+
valueAccessor,
|
|
36
|
+
}: Props) {
|
|
37
|
+
const isHorizontal = direction === 'horizontal';
|
|
38
|
+
const isInteractive = !!onBarMouseEnter || !!onBarMouseLeave;
|
|
39
|
+
const max = data
|
|
40
|
+
.map(datum => (isFunction(valueAccessor) ? valueAccessor(datum) : datum[valueAccessor]))
|
|
41
|
+
.reduce((previousValue, currentValue) => Math.max(previousValue, currentValue), 0);
|
|
42
|
+
|
|
43
|
+
const getSize = (datum: any) => {
|
|
44
|
+
// If max is 0 then all other values in the data array are 0 so return 0
|
|
45
|
+
// instead of allowing the following calculation to return Infinity
|
|
46
|
+
if (max === 0) {
|
|
47
|
+
return 0;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return ((isFunction(valueAccessor) ? valueAccessor(datum) : datum[valueAccessor]) / max) * 100;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const handleBarMouseEnter = onBarMouseEnter || noop;
|
|
54
|
+
const handleBarMouseLeave = onBarMouseLeave || noop;
|
|
55
|
+
|
|
56
|
+
return (
|
|
57
|
+
<div
|
|
58
|
+
aria-label={label}
|
|
59
|
+
className={classNames('ca-BarChart', className, {
|
|
60
|
+
'is-horizontal': isHorizontal,
|
|
61
|
+
'is-interactive': isInteractive,
|
|
62
|
+
})}
|
|
63
|
+
role="img"
|
|
64
|
+
>
|
|
65
|
+
{data.map(datum => (
|
|
66
|
+
<Bar
|
|
67
|
+
key={datum[labelAccessor]}
|
|
68
|
+
direction={direction}
|
|
69
|
+
onMouseEnter={() => handleBarMouseEnter({ datum })}
|
|
70
|
+
onMouseLeave={() => handleBarMouseLeave({ datum })}
|
|
71
|
+
size={getSize(datum)}
|
|
72
|
+
/>
|
|
73
|
+
))}
|
|
74
|
+
</div>
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export default BarChart;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { fireEvent, render, RenderResult } from '@testing-library/react';
|
|
3
|
+
import Bar from '../Bar';
|
|
4
|
+
|
|
5
|
+
describe('features/content-insights/charts/bar/Bar', () => {
|
|
6
|
+
const getDefaultProps = () => ({
|
|
7
|
+
size: 80,
|
|
8
|
+
});
|
|
9
|
+
const getWrapper = (props = {}) => {
|
|
10
|
+
return render(<Bar {...getDefaultProps()} {...props} />);
|
|
11
|
+
};
|
|
12
|
+
const getFirstChild = (wrapper: RenderResult): HTMLElement => wrapper.container.firstChild as HTMLElement;
|
|
13
|
+
|
|
14
|
+
describe('render', () => {
|
|
15
|
+
test('should render correctly', () => {
|
|
16
|
+
const wrapper = getWrapper();
|
|
17
|
+
const element = getFirstChild(wrapper);
|
|
18
|
+
|
|
19
|
+
expect(element).toHaveClass('ca-Bar');
|
|
20
|
+
expect(element.querySelector('.ca-Bar-value')).toHaveStyle(`height: 80%`);
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
test('should render a minimum bar if value is 0', () => {
|
|
24
|
+
const wrapper = getWrapper({ size: 0 });
|
|
25
|
+
const element = getFirstChild(wrapper);
|
|
26
|
+
|
|
27
|
+
expect(element.querySelector('.ca-Bar-value')).toHaveStyle(`height: 2px`);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
test('should render a minimum bar if value is < 0', () => {
|
|
31
|
+
const wrapper = getWrapper({ size: -5 });
|
|
32
|
+
const element = getFirstChild(wrapper);
|
|
33
|
+
|
|
34
|
+
expect(element.querySelector('.ca-Bar-value')).toHaveStyle(`height: 2px`);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
test('should render a color if provided', () => {
|
|
38
|
+
const wrapper = getWrapper({ color: 'blue' });
|
|
39
|
+
const element = getFirstChild(wrapper);
|
|
40
|
+
|
|
41
|
+
expect(element.querySelector('.ca-Bar-value')).toHaveStyle(`background-color: blue`);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
test('should render horizontally if provided', () => {
|
|
45
|
+
const wrapper = getWrapper({ direction: 'horizontal' });
|
|
46
|
+
const element = getFirstChild(wrapper);
|
|
47
|
+
|
|
48
|
+
expect(element).toHaveClass('is-horizontal');
|
|
49
|
+
expect(element.querySelector('.ca-Bar-value')).toHaveStyle(`width: 80%`);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
describe('callbacks', () => {
|
|
54
|
+
test('should call onMouseEnter', () => {
|
|
55
|
+
const onMouseEnter = jest.fn();
|
|
56
|
+
const wrapper = getWrapper({ onMouseEnter });
|
|
57
|
+
const element = getFirstChild(wrapper);
|
|
58
|
+
|
|
59
|
+
fireEvent.mouseEnter(element);
|
|
60
|
+
|
|
61
|
+
expect(onMouseEnter).toBeCalled();
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
test('should call onMouseLeave', () => {
|
|
65
|
+
const onMouseLeave = jest.fn();
|
|
66
|
+
const wrapper = getWrapper({ onMouseLeave });
|
|
67
|
+
const element = getFirstChild(wrapper);
|
|
68
|
+
|
|
69
|
+
fireEvent.mouseLeave(element);
|
|
70
|
+
|
|
71
|
+
expect(onMouseLeave).toBeCalled();
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
});
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { fireEvent, render, RenderResult } from '@testing-library/react';
|
|
3
|
+
import BarChart from '../BarChart';
|
|
4
|
+
|
|
5
|
+
describe('features/content-insights/charts/bar/BarChart', () => {
|
|
6
|
+
const defaultAccessorsData = [
|
|
7
|
+
{ x: 1, y: 2 },
|
|
8
|
+
{ x: 2, y: 4 },
|
|
9
|
+
{ x: 3, y: 10 },
|
|
10
|
+
];
|
|
11
|
+
const horizontalAccessorsData = [
|
|
12
|
+
{ x: 1, y: 1 },
|
|
13
|
+
{ x: 2, y: 2 },
|
|
14
|
+
{ x: 10, y: 3 },
|
|
15
|
+
];
|
|
16
|
+
const zeroData = [
|
|
17
|
+
{ x: 1, y: 0 },
|
|
18
|
+
{ x: 2, y: 0 },
|
|
19
|
+
{ x: 3, y: 0 },
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
const getDefaultProps = () => ({
|
|
23
|
+
data: defaultAccessorsData,
|
|
24
|
+
label: 'Chart Label',
|
|
25
|
+
labelAccessor: 'x',
|
|
26
|
+
valueAccessor: 'y',
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
const getWrapper = (props = {}) => {
|
|
30
|
+
return render(<BarChart {...getDefaultProps()} {...props} />);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const getFirstChild = (wrapper: RenderResult): HTMLElement => wrapper.container.firstChild as HTMLElement;
|
|
34
|
+
|
|
35
|
+
describe('render', () => {
|
|
36
|
+
test('should render correctly', () => {
|
|
37
|
+
const wrapper = getWrapper();
|
|
38
|
+
const element = getFirstChild(wrapper);
|
|
39
|
+
|
|
40
|
+
expect(element).toHaveClass('ca-BarChart');
|
|
41
|
+
expect(element.getAttribute('aria-label')).toBe('Chart Label');
|
|
42
|
+
expect(element.getAttribute('role')).toBe('img');
|
|
43
|
+
expect(element.children.length).toBe(3);
|
|
44
|
+
expect(element.children.item(0)?.querySelector('.ca-Bar-value')).toHaveStyle(`height: 20%`); // max value of the data is 10, since the first item is 2, 2/10 is 20%
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
test('should render horizontally if provided', () => {
|
|
48
|
+
const wrapper = getWrapper({
|
|
49
|
+
data: horizontalAccessorsData,
|
|
50
|
+
direction: 'horizontal',
|
|
51
|
+
labelAccessor: 'y',
|
|
52
|
+
valueAccessor: 'x',
|
|
53
|
+
});
|
|
54
|
+
const element = getFirstChild(wrapper);
|
|
55
|
+
|
|
56
|
+
expect(element).toHaveClass('is-horizontal');
|
|
57
|
+
expect(element.children.length).toBe(3);
|
|
58
|
+
expect(element.children.item(0)?.querySelector('.ca-Bar-value')).toHaveStyle(`width: 10%`); // max value of the data is 10, since the first item is 1, 1/10 is 10%
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
test('should use valueAccessor as function if provided', () => {
|
|
62
|
+
const data = [
|
|
63
|
+
{ x: 1, y: ['a', 'b'] },
|
|
64
|
+
{ x: 2, y: ['a', 'b', 'c', 'd'] },
|
|
65
|
+
{ x: 3, y: ['a'] },
|
|
66
|
+
];
|
|
67
|
+
const valueAccessor = ({ y }: { y: Array<string> }) => y.length;
|
|
68
|
+
const wrapper = getWrapper({ data, valueAccessor });
|
|
69
|
+
const element = getFirstChild(wrapper);
|
|
70
|
+
|
|
71
|
+
expect(element).toHaveClass('ca-BarChart');
|
|
72
|
+
expect(element.getAttribute('aria-label')).toBe('Chart Label');
|
|
73
|
+
expect(element.getAttribute('role')).toBe('img');
|
|
74
|
+
expect(element.children.length).toBe(3);
|
|
75
|
+
expect(element.children.item(0)?.querySelector('.ca-Bar-value')).toHaveStyle(`height: 50%`); // max value of the data is 4, since the first item is 2, 2/4 is 50%
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
test('should have all bars be minimum height if all values are zero', () => {
|
|
79
|
+
const wrapper = getWrapper({ data: zeroData });
|
|
80
|
+
const element = getFirstChild(wrapper);
|
|
81
|
+
|
|
82
|
+
expect(element.children.length).toBe(3);
|
|
83
|
+
expect(element.children.item(0)?.querySelector('.ca-Bar-value')).toHaveStyle(`height: 2px`);
|
|
84
|
+
expect(element.children.item(1)?.querySelector('.ca-Bar-value')).toHaveStyle(`height: 2px`);
|
|
85
|
+
expect(element.children.item(2)?.querySelector('.ca-Bar-value')).toHaveStyle(`height: 2px`);
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
describe('callbacks', () => {
|
|
90
|
+
test('should call onBarMouseEnter with the data', () => {
|
|
91
|
+
const onBarMouseEnter = jest.fn();
|
|
92
|
+
const wrapper = getWrapper({ onBarMouseEnter });
|
|
93
|
+
const element = getFirstChild(wrapper);
|
|
94
|
+
|
|
95
|
+
fireEvent.mouseEnter(element.children.item(0) as HTMLElement);
|
|
96
|
+
|
|
97
|
+
expect(onBarMouseEnter).toBeCalledWith({ datum: { x: 1, y: 2 } });
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
test('should call onBarMouseLeave with the data', () => {
|
|
101
|
+
const onBarMouseLeave = jest.fn();
|
|
102
|
+
const wrapper = getWrapper({ onBarMouseLeave });
|
|
103
|
+
const element = getFirstChild(wrapper);
|
|
104
|
+
|
|
105
|
+
fireEvent.mouseLeave(element.children.item(0) as HTMLElement);
|
|
106
|
+
|
|
107
|
+
expect(onBarMouseLeave).toBeCalledWith({ datum: { x: 1, y: 2 } });
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
});
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
const DOWNLOADS = 'DOWNLOADS';
|
|
2
|
+
const PREVIEWS = 'PREVIEWS';
|
|
3
|
+
const USERS = 'USERS';
|
|
4
|
+
|
|
5
|
+
export const METRIC = Object.freeze({
|
|
6
|
+
DOWNLOADS,
|
|
7
|
+
PREVIEWS,
|
|
8
|
+
USERS,
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
const WEEK = 'week';
|
|
12
|
+
const MONTH = 'month';
|
|
13
|
+
const THREEMONTHS = 'threemonths';
|
|
14
|
+
const YEAR = 'year';
|
|
15
|
+
|
|
16
|
+
export const PERIOD = Object.freeze({
|
|
17
|
+
WEEK,
|
|
18
|
+
MONTH,
|
|
19
|
+
THREEMONTHS,
|
|
20
|
+
YEAR,
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
const ONE_WEEK = 'one_week';
|
|
24
|
+
const TWO_WEEKS = 'two_weeks';
|
|
25
|
+
const ONE_MONTH = 'one_month';
|
|
26
|
+
const TWO_MONTHS = 'two_months';
|
|
27
|
+
const THREE_MONTHS = 'three_months';
|
|
28
|
+
const SIX_MONTHS = 'six_months';
|
|
29
|
+
const ONE_YEAR = 'one_year';
|
|
30
|
+
const TWO_YEARS = 'two_years';
|
|
31
|
+
|
|
32
|
+
export const PRESET_TIMES = Object.freeze({
|
|
33
|
+
ONE_WEEK,
|
|
34
|
+
TWO_WEEKS,
|
|
35
|
+
ONE_MONTH,
|
|
36
|
+
TWO_MONTHS,
|
|
37
|
+
THREE_MONTHS,
|
|
38
|
+
SIX_MONTHS,
|
|
39
|
+
ONE_YEAR,
|
|
40
|
+
TWO_YEARS,
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
export const PRESET_TO_TIMESTAMPS_MAP = {
|
|
44
|
+
[PERIOD.WEEK]: {
|
|
45
|
+
currentPeriod: PRESET_TIMES.ONE_WEEK,
|
|
46
|
+
previousPeriod: PRESET_TIMES.TWO_WEEKS,
|
|
47
|
+
},
|
|
48
|
+
[PERIOD.MONTH]: {
|
|
49
|
+
currentPeriod: PRESET_TIMES.ONE_MONTH,
|
|
50
|
+
previousPeriod: PRESET_TIMES.TWO_MONTHS,
|
|
51
|
+
},
|
|
52
|
+
[PERIOD.THREEMONTHS]: {
|
|
53
|
+
currentPeriod: PRESET_TIMES.THREE_MONTHS,
|
|
54
|
+
previousPeriod: PRESET_TIMES.SIX_MONTHS,
|
|
55
|
+
},
|
|
56
|
+
[PERIOD.YEAR]: {
|
|
57
|
+
currentPeriod: PRESET_TIMES.ONE_YEAR,
|
|
58
|
+
previousPeriod: PRESET_TIMES.TWO_YEARS,
|
|
59
|
+
},
|
|
60
|
+
} as const;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl';
|
|
2
|
+
|
|
3
|
+
const messages = defineMessages({
|
|
4
|
+
contentAnalyticsErrorText: {
|
|
5
|
+
defaultMessage: 'There was a problem loading content insights. Please try again.',
|
|
6
|
+
description: 'Text shown to users when opening the content insights flyout and there is an error',
|
|
7
|
+
id: 'be.contentInsights.contentAnalyticsErrorText',
|
|
8
|
+
},
|
|
9
|
+
contentAnalyticsPermissionError: {
|
|
10
|
+
defaultMessage: 'Oops! You no longer have access to view content insights.',
|
|
11
|
+
description: 'Message shown when the user does not have access to view content insights anymore',
|
|
12
|
+
id: 'be.contentInsights.contentAnalyticsPermissionError',
|
|
13
|
+
},
|
|
14
|
+
contentInsightsTitle: {
|
|
15
|
+
defaultMessage: 'Content Insights',
|
|
16
|
+
description: 'Title for Content Insights section in file sidebar',
|
|
17
|
+
id: 'be.contentInsights.contentInsightsTitle',
|
|
18
|
+
},
|
|
19
|
+
downloadGraphLabel: {
|
|
20
|
+
defaultMessage: 'Chart displaying the number of downloads over the selected time period',
|
|
21
|
+
description: 'Label for the chart displaying the number of downloads over the selected time period',
|
|
22
|
+
id: 'be.contentInsights.downloadGraphLabel',
|
|
23
|
+
},
|
|
24
|
+
downloadGraphType: {
|
|
25
|
+
defaultMessage: 'DOWNLOADS',
|
|
26
|
+
description: 'Title for the content insights graph card regarding number of Previews',
|
|
27
|
+
id: 'be.contentInsights.downloadGraphType',
|
|
28
|
+
},
|
|
29
|
+
trendMonth: {
|
|
30
|
+
defaultMessage: 'PAST MONTH',
|
|
31
|
+
description:
|
|
32
|
+
'Trend description for the content insights graph card regarding the count of events from the past month',
|
|
33
|
+
id: 'be.contentInsights.trendMonth',
|
|
34
|
+
},
|
|
35
|
+
trendThreeMonths: {
|
|
36
|
+
defaultMessage: 'PAST 3 MONTHS',
|
|
37
|
+
description:
|
|
38
|
+
'Trend description for the content insights graph card regarding the count of events from the past three months',
|
|
39
|
+
id: 'be.contentInsights.trendThreeMonths',
|
|
40
|
+
},
|
|
41
|
+
trendWeek: {
|
|
42
|
+
defaultMessage: 'PAST WEEK',
|
|
43
|
+
description:
|
|
44
|
+
'Trend description for the content insights graph card regarding the count of events from the past week',
|
|
45
|
+
id: 'be.contentInsights.trendWeek',
|
|
46
|
+
},
|
|
47
|
+
trendYear: {
|
|
48
|
+
defaultMessage: 'PAST YEAR',
|
|
49
|
+
description:
|
|
50
|
+
'Trend description for the content insights graph card regarding the count of events from the past year',
|
|
51
|
+
id: 'be.contentInsights.trendYear',
|
|
52
|
+
},
|
|
53
|
+
trendDown: {
|
|
54
|
+
defaultMessage: 'Trending down',
|
|
55
|
+
description: 'Label for the arrow indicator in the trend pill',
|
|
56
|
+
id: 'be.contentInsights.trendDown',
|
|
57
|
+
},
|
|
58
|
+
trendUp: {
|
|
59
|
+
defaultMessage: 'Trending up',
|
|
60
|
+
description: 'Label for the arrow indicator in the trend pill',
|
|
61
|
+
id: 'be.contentInsights.trendUp',
|
|
62
|
+
},
|
|
63
|
+
peopleGraphLabel: {
|
|
64
|
+
defaultMessage: 'Chart displaying the number of users over the selected time period',
|
|
65
|
+
description: 'Label for the chart displaying the number of users over the selected time period',
|
|
66
|
+
id: 'be.contentInsights.peopleGraphLabel',
|
|
67
|
+
},
|
|
68
|
+
peopleTitle: {
|
|
69
|
+
defaultMessage: 'PEOPLE',
|
|
70
|
+
description: 'Title used to represent how many users have interacted with the file',
|
|
71
|
+
id: 'be.contentInsights.peopleTitle',
|
|
72
|
+
},
|
|
73
|
+
previewGraphLabel: {
|
|
74
|
+
defaultMessage: 'Chart displaying the number of previews over the selected time period',
|
|
75
|
+
description: 'Label for the chart displaying the number of previews over the selected time period',
|
|
76
|
+
id: 'be.contentInsights.previewGraphLabel',
|
|
77
|
+
},
|
|
78
|
+
previewGraphType: {
|
|
79
|
+
defaultMessage: 'PREVIEWS',
|
|
80
|
+
description: 'Title for the content insights graph card regarding number of Previews',
|
|
81
|
+
id: 'be.contentInsights.previewGraphType',
|
|
82
|
+
},
|
|
83
|
+
openContentInsightsButton: {
|
|
84
|
+
defaultMessage: 'See Details',
|
|
85
|
+
description: 'Open Content Insights button which opens the Content Insights Modal',
|
|
86
|
+
id: 'be.contentInsights.openContentInsightsButton',
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
export default messages;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IntlShape } from 'react-intl';
|
|
2
|
+
|
|
3
|
+
const formatCount = (count: number, intl: IntlShape): string | string[] => {
|
|
4
|
+
const shouldAbbreviate = count >= 10000;
|
|
5
|
+
return shouldAbbreviate ? intl.formatNumber(count, { notation: 'compact' }) : intl.formatNumber(count);
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
// eslint-disable-next-line import/prefer-default-export
|
|
9
|
+
export { formatCount };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { METRIC, PERIOD, PRESET_TIMES } from './constants';
|
|
2
|
+
|
|
3
|
+
export type Metric = typeof METRIC[keyof typeof METRIC];
|
|
4
|
+
|
|
5
|
+
export type Period = typeof PERIOD[keyof typeof PERIOD];
|
|
6
|
+
|
|
7
|
+
export type PresetTimes = typeof PRESET_TIMES[keyof typeof PRESET_TIMES];
|
|
8
|
+
|
|
9
|
+
export type TimeRangeType = 'day' | 'week' | 'month';
|
|
10
|
+
|
|
11
|
+
export type TimeRange = {
|
|
12
|
+
end: number;
|
|
13
|
+
start: number;
|
|
14
|
+
type: TimeRangeType;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export type MetricsData = {
|
|
18
|
+
downloadsCount: number;
|
|
19
|
+
previewsCount: number;
|
|
20
|
+
users: Set<string>;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export type GraphDatum = TimeRange & MetricsData;
|
|
24
|
+
|
|
25
|
+
export type GraphData = Array<GraphDatum>;
|
|
26
|
+
|
|
27
|
+
export type ResponseError = Error & {
|
|
28
|
+
data?: string;
|
|
29
|
+
detail?: string;
|
|
30
|
+
errorCode?: string;
|
|
31
|
+
status: number;
|
|
32
|
+
title?: string;
|
|
33
|
+
};
|
|
@@ -8,7 +8,7 @@ import { Modal, ModalActions } from '../../components/modal';
|
|
|
8
8
|
import InlineNotice from '../../components/inline-notice';
|
|
9
9
|
import Link from '../../components/link/LinkBase';
|
|
10
10
|
import commonMessages from '../../common/messages';
|
|
11
|
-
import Classification from '../classification';
|
|
11
|
+
import Classification, { getClassificationLabelColor } from '../classification';
|
|
12
12
|
|
|
13
13
|
import VanityNameSection from './VanityNameSection';
|
|
14
14
|
import PasswordSection from './PasswordSection';
|
|
@@ -363,15 +363,17 @@ class SharedLinkSettingsModal extends Component {
|
|
|
363
363
|
renderModalTitle() {
|
|
364
364
|
const { item } = this.props;
|
|
365
365
|
const { bannerPolicy, classification } = item;
|
|
366
|
+
const classificationColor = getClassificationLabelColor(bannerPolicy);
|
|
366
367
|
|
|
367
368
|
return (
|
|
368
369
|
<span className="bdl-SharedLinkSettingsModal-title">
|
|
369
370
|
<FormattedMessage {...messages.modalTitle} />
|
|
370
371
|
<Classification
|
|
372
|
+
className="bdl-SharedLinkSettingsModal-classification"
|
|
373
|
+
color={classificationColor}
|
|
371
374
|
definition={bannerPolicy ? bannerPolicy.body : undefined}
|
|
372
375
|
messageStyle="tooltip"
|
|
373
376
|
name={classification}
|
|
374
|
-
className="bdl-SharedLinkSettingsModal-classification"
|
|
375
377
|
/>
|
|
376
378
|
</span>
|
|
377
379
|
);
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import sinon from 'sinon';
|
|
3
3
|
|
|
4
|
+
import classificationColorsMap from '../../classification/classificationColorsMap';
|
|
5
|
+
|
|
4
6
|
import SharedLinkSettingsModal from '../SharedLinkSettingsModal';
|
|
5
7
|
|
|
6
8
|
const sandbox = sinon.sandbox.create();
|
|
@@ -285,9 +287,26 @@ describe('features/shared-link-settings-modal/SharedLinkSettingsModal', () => {
|
|
|
285
287
|
});
|
|
286
288
|
|
|
287
289
|
describe('renderModalTitle()', () => {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
290
|
+
test('should render modal title and match snapshot', () => {
|
|
291
|
+
const wrapper = getWrapper();
|
|
292
|
+
const title = shallow(wrapper.instance().renderModalTitle());
|
|
293
|
+
expect(title).toMatchSnapshot();
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
test('should render classification label with fill and stroke colors that match the classification color id', () => {
|
|
297
|
+
const colorID = 3;
|
|
298
|
+
const { color } = classificationColorsMap[colorID];
|
|
299
|
+
|
|
300
|
+
const item = {
|
|
301
|
+
bannerPolicy: {
|
|
302
|
+
colorID,
|
|
303
|
+
},
|
|
304
|
+
};
|
|
305
|
+
|
|
306
|
+
const wrapper = getWrapper({ item });
|
|
307
|
+
const title = shallow(wrapper.instance().renderModalTitle());
|
|
308
|
+
expect(title.find('Classification').props().color).toBe(color);
|
|
309
|
+
});
|
|
291
310
|
});
|
|
292
311
|
|
|
293
312
|
describe('render()', () => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
2
|
|
|
3
|
-
exports[` 1`] = `
|
|
3
|
+
exports[`features/shared-link-settings-modal/SharedLinkSettingsModal renderModalTitle() should render modal title and match snapshot 1`] = `
|
|
4
4
|
<span
|
|
5
5
|
className="bdl-SharedLinkSettingsModal-title"
|
|
6
6
|
>
|
|
@@ -10,6 +10,7 @@ exports[` 1`] = `
|
|
|
10
10
|
/>
|
|
11
11
|
<Classification
|
|
12
12
|
className="bdl-SharedLinkSettingsModal-classification"
|
|
13
|
+
color="#ffeb7f"
|
|
13
14
|
definition="test"
|
|
14
15
|
messageStyle="tooltip"
|
|
15
16
|
name="internal"
|
|
@@ -11,6 +11,7 @@ import PlainButton from '../../components/plain-button';
|
|
|
11
11
|
import InlineNotice from '../../components/inline-notice';
|
|
12
12
|
import LoadingIndicator from '../../components/loading-indicator/LoadingIndicator';
|
|
13
13
|
import SingleSelectField from '../../components/select-field/SingleSelectField';
|
|
14
|
+
import isRestrictedContact from './utils/isRestrictedContact';
|
|
14
15
|
import { COLLAB_RESTRICTION_TYPE_ACCESS_POLICY, COLLAB_RESTRICTION_TYPE_INFORMATION_BARRIER } from './constants';
|
|
15
16
|
|
|
16
17
|
import messages from './messages';
|
|
@@ -22,6 +23,8 @@ import './ContactRestrictionNotice.scss';
|
|
|
22
23
|
|
|
23
24
|
const SINGLE_CONTACT = 'singleContact';
|
|
24
25
|
const MULTIPLE_CONTACTS = 'multipleContacts';
|
|
26
|
+
const EMAIL_CONTACT = 'email';
|
|
27
|
+
const GROUP_CONTACT = 'group';
|
|
25
28
|
const RESTRICTION_JUSTIFICATION_ENABLED = 'restrictionJustificationEnabled';
|
|
26
29
|
const RESTRICTION_JUSTIFICATION_DISABLED = 'restrictionJustificationDisabled';
|
|
27
30
|
|
|
@@ -37,7 +40,10 @@ const restrictionNoticeMessageMap = {
|
|
|
37
40
|
},
|
|
38
41
|
},
|
|
39
42
|
[COLLAB_RESTRICTION_TYPE_INFORMATION_BARRIER]: {
|
|
40
|
-
[SINGLE_CONTACT]:
|
|
43
|
+
[SINGLE_CONTACT]: {
|
|
44
|
+
[EMAIL_CONTACT]: messages.contactRestrictionNoticeInformationBarrierSingular,
|
|
45
|
+
[GROUP_CONTACT]: messages.contactRestrictionNoticeInformationBarrierSingularGroup,
|
|
46
|
+
},
|
|
41
47
|
[MULTIPLE_CONTACTS]: messages.contactRestrictionNoticeInformationBarrier,
|
|
42
48
|
},
|
|
43
49
|
};
|
|
@@ -51,6 +57,7 @@ type Props = {
|
|
|
51
57
|
onRemoveRestrictedContacts: () => void,
|
|
52
58
|
onSelectJustificationReason: (justificationReasonOption: SelectOptionProp) => void,
|
|
53
59
|
restrictedEmails: Array<string>,
|
|
60
|
+
restrictedGroups: Array<number>,
|
|
54
61
|
selectedContacts: Array<Contact>,
|
|
55
62
|
selectedJustificationReason: ?SelectOptionProp,
|
|
56
63
|
} & InjectIntlProvidedProps;
|
|
@@ -65,17 +72,24 @@ const ContactRestrictionNotice = ({
|
|
|
65
72
|
onRemoveRestrictedContacts,
|
|
66
73
|
onSelectJustificationReason,
|
|
67
74
|
restrictedEmails,
|
|
75
|
+
restrictedGroups,
|
|
68
76
|
selectedContacts,
|
|
69
77
|
selectedJustificationReason,
|
|
70
78
|
}: Props) => {
|
|
71
|
-
const restrictedContacts = selectedContacts.filter(
|
|
79
|
+
const restrictedContacts = selectedContacts.filter(contact =>
|
|
80
|
+
isRestrictedContact(contact, restrictedEmails, restrictedGroups),
|
|
81
|
+
);
|
|
72
82
|
const restrictedContactCount = restrictedContacts.length;
|
|
73
83
|
|
|
74
84
|
if (!restrictedContactCount) {
|
|
75
85
|
return null;
|
|
76
86
|
}
|
|
77
87
|
|
|
78
|
-
const
|
|
88
|
+
const [firstContact] = restrictedContacts;
|
|
89
|
+
const isFirstContactAGroup = firstContact.type === 'group';
|
|
90
|
+
const firstContactEmail = isFirstContactAGroup ? undefined : firstContact.value;
|
|
91
|
+
const firstContactGroupName = isFirstContactAGroup ? firstContact.text : undefined;
|
|
92
|
+
|
|
79
93
|
const selectedValue = getProp(selectedJustificationReason, 'value', null);
|
|
80
94
|
const isErrorTooltipShown = !!error;
|
|
81
95
|
|
|
@@ -91,8 +105,17 @@ const ContactRestrictionNotice = ({
|
|
|
91
105
|
let restrictionNoticeMessage;
|
|
92
106
|
// Information Barrier restrictions do not allow justifications
|
|
93
107
|
if (collabRestrictionType === COLLAB_RESTRICTION_TYPE_INFORMATION_BARRIER) {
|
|
94
|
-
|
|
95
|
-
|
|
108
|
+
if (restrictedContactCountType === SINGLE_CONTACT) {
|
|
109
|
+
const contactType = isFirstContactAGroup ? GROUP_CONTACT : EMAIL_CONTACT;
|
|
110
|
+
|
|
111
|
+
// Group names are displayed in quotes, which need to be localized, hence why
|
|
112
|
+
// we need to use different messages for groups and emails
|
|
113
|
+
restrictionNoticeMessage =
|
|
114
|
+
restrictionNoticeMessageMap[COLLAB_RESTRICTION_TYPE_INFORMATION_BARRIER][SINGLE_CONTACT][contactType];
|
|
115
|
+
} else {
|
|
116
|
+
restrictionNoticeMessage =
|
|
117
|
+
restrictionNoticeMessageMap[COLLAB_RESTRICTION_TYPE_INFORMATION_BARRIER][MULTIPLE_CONTACTS];
|
|
118
|
+
}
|
|
96
119
|
} else {
|
|
97
120
|
restrictionNoticeMessage =
|
|
98
121
|
restrictionNoticeMessageMap[collabRestrictionType][justificationStatus][restrictedContactCountType];
|
|
@@ -119,7 +142,13 @@ const ContactRestrictionNotice = ({
|
|
|
119
142
|
>
|
|
120
143
|
<FormattedMessage
|
|
121
144
|
{...restrictionNoticeMessage}
|
|
122
|
-
values={{
|
|
145
|
+
values={{
|
|
146
|
+
count: restrictedContactCount,
|
|
147
|
+
// We use the first contact because email address and
|
|
148
|
+
// group name are only displayed for single contact messages
|
|
149
|
+
email: firstContactEmail,
|
|
150
|
+
groupName: firstContactGroupName,
|
|
151
|
+
}}
|
|
123
152
|
/>
|
|
124
153
|
|
|
125
154
|
{isRestrictionJustificationEnabled && justificationSelectSection}
|
|
@@ -128,6 +157,7 @@ const ContactRestrictionNotice = ({
|
|
|
128
157
|
data-resin-target="removeBtn"
|
|
129
158
|
onClick={onRemoveRestrictedContacts}
|
|
130
159
|
>
|
|
160
|
+
{/* TODO: count was removed but need to keep it while translations are updated otherwise non-English messages will break */}
|
|
131
161
|
<FormattedMessage {...removeButtonLabelMessage} values={{ count: restrictedContactCount }} />
|
|
132
162
|
</PlainButton>
|
|
133
163
|
</InlineNotice>
|