box-ui-elements 16.0.0-beta.8 → 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 +180 -27
- package/es/api/Annotations.js.flow +150 -14
- 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 -69
- 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 -10
- 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/fill/UserSettings16.js +38 -0
- package/es/icon/fill/UserSettings16.js.flow +38 -0
- package/es/icon/fill/UserSettings16.js.map +1 -0
- package/es/icon/fill/UserSettings16.stories.js +13 -0
- package/es/icon/fill/UserSettings16.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/fill/UserSettings16.d.ts +13 -0
- package/es/src/icon/fill/UserSettings16.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 +150 -14
- 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 +217 -11
- package/src/api/__tests__/Feed.test.js +699 -86
- 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 -10
- 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/fill/UserSettings16.js.flow +38 -0
- package/src/icon/fill/UserSettings16.stories.tsx +13 -0
- package/src/icon/fill/UserSettings16.tsx +36 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/content-explorer/content-explorer/ContentExplorer.js"],"names":["PropTypes","React","Component","classNames","omit","ContentExplorerHeaderActions","ContentExplorerEmptyState","ContentExplorerActionButtons","ContentExplorerSelectAll","ItemList","ContentExplorerModePropType","FoldersPathPropType","ItemsPropType","ContentExplorerModes","ItemTypes","ContentExplorer","props","node","className","limit","nodeOfInterest","counter","parentNode","includes","contentExplorerMode","MULTI_SELECT","event","isInside","domNode","contains","target","shouldDeselectItems","deselectItems","enteredFolder","onEnterFolder","foldersPath","state","folderIndex","findIndex","folder","id","newFoldersPath","slice","concat","newState","selectedItems","setState","searchQuery","onSearchSubmit","isInSearchMode","folderBeforeSearch","onExitSearch","index","items","onSelectItem","item","isDisabled","isLoading","stopPropagation","newSelectedItems","toggleSelectedItem","isSelectAllChecked","onChooseItems","type","FOLDER","enterFolder","preventDefault","result","forEach","unselectAll","selectAll","isViewingSearchResults","length","initialSelectedItems","initialFoldersPath","document","addEventListener","handleDocumentClick","prevInitialFoldersPath","removeEventListener","actionButtonsProps","cancelButtonProps","chooseButtonProps","chooseButtonText","customInput","headerActionsAccessory","onMoveItem","onCopyItem","onCancelButtonClick","onCreateNewFolderButtonClick","onSelectedClick","showCreateNewFolderButton","isChooseButtonLoading","isCopyButtonLoading","isCreateNewFolderAllowed","isMoveButtonLoading","isResponsive","isSelectAllAllowed","numItemsPerPage","numTotalItems","onLoadMoreItems","itemIconRenderer","itemNameLinkRenderer","itemButtonRenderer","itemRowRenderer","listWidth","listHeight","searchInputProps","rest","currentFolder","getCurrentFolder","contentExplorerProps","selectedItemsIds","Object","keys","areActionButtonsDisabled","isActionDisabled","SELECT_FILE","handleContentExplorerClick","ref","handleFoldersPathUpdated","handleExitSearch","handleSearchSubmit","handleSelectAllClick","renderItemListEmptyState","handleItemClick","handleItemDoubleClick","handleItemNameClick","object","string","isRequired","func","bool","number"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport omit from 'lodash/omit';\n\nimport ContentExplorerHeaderActions from './ContentExplorerHeaderActions';\nimport ContentExplorerEmptyState from './ContentExplorerEmptyState';\nimport ContentExplorerActionButtons from './ContentExplorerActionButtons';\nimport ContentExplorerSelectAll from './ContentExplorerSelectAll';\n\nimport ItemList from '../item-list';\nimport { ContentExplorerModePropType, FoldersPathPropType, ItemsPropType } from '../prop-types';\nimport ContentExplorerModes from '../modes';\nimport ItemTypes from '../item-types';\n\nimport './ContentExplorer.scss';\n\nclass ContentExplorer extends Component {\n static propTypes = {\n /** Props for the action buttons container */\n actionButtonsProps: PropTypes.object,\n /** Props for the cancel button */\n cancelButtonProps: PropTypes.object,\n /** Props for the choose button */\n chooseButtonProps: PropTypes.object,\n /** Custom text for the choose button */\n chooseButtonText: PropTypes.node,\n /** Adds class name. */\n className: PropTypes.string,\n /** Configures the content explorer based on the user's intended action (ex. select file or move/copy) */\n contentExplorerMode: ContentExplorerModePropType.isRequired,\n /** Props that contains the custom search input. Is rendered in header actions */\n customInput: PropTypes.func,\n /** Any extra items in the header to the right of the search input (and new folder button) */\n headerActionsAccessory: PropTypes.node,\n /** Initial path of folders. The last folder in the array is the current folder. */\n initialFoldersPath: FoldersPathPropType.isRequired,\n /** Initial items that will show up as selected */\n initialSelectedItems: PropTypes.object,\n /** Whether to use the responsive version */\n isResponsive: PropTypes.bool,\n /**\n * Called when the current folder changes\n *\n * @param {Object} enteredFolder\n * @param {Array} newFoldersPath\n */\n onEnterFolder: PropTypes.func.isRequired,\n /**\n * Called when an item is selected\n *\n * @param {Object} selectedItem\n * @param {number} selectedItemIndex\n */\n onSelectItem: PropTypes.func,\n /**\n * Called when an item is chosen\n *\n * @param {Object[]} chosenItems\n */\n onChooseItems: PropTypes.func,\n /** Called when selected button is clicked */\n onSelectedClick: PropTypes.func,\n /**\n * Called when a destination folder has been selected for moving an item to\n *\n * @param {Object} destFolder destination folder\n */\n onMoveItem: PropTypes.func,\n /**\n * Called when a destination folder has been selected for copying an item to\n *\n * @param {Object} destFolder destination folder\n */\n onCopyItem: PropTypes.func,\n /** Called when cancel button is clicked */\n onCancelButtonClick: PropTypes.func,\n /** Called when new folder button is clicked */\n onCreateNewFolderButtonClick: PropTypes.func,\n /** Whether the new folder button should be shown */\n showCreateNewFolderButton: PropTypes.bool,\n /** Whether the choose button should be shown with a loading indicator */\n isChooseButtonLoading: PropTypes.bool,\n /** Whether the copy button should be shown with a loading indicator */\n isCopyButtonLoading: PropTypes.bool,\n /** Whether the user has permission to create a new folder */\n isCreateNewFolderAllowed: PropTypes.bool,\n /** Whether the user can see select all checkbox */\n isSelectAllAllowed: PropTypes.bool,\n /** Whether the move button should be shown with a loading indicator */\n isMoveButtonLoading: PropTypes.bool,\n /**\n * Called when a search query is submitted.\n *\n * @param {string} searchQuery\n */\n onSearchSubmit: PropTypes.func.isRequired,\n /**\n * Called when search mode is exited. An updated items list should now be passed in to display the user's file tree.\n *\n * @param {Object} folderBeforeSearch the previous folder object before entering search mode\n */\n onExitSearch: PropTypes.func.isRequired,\n /** List of items to display */\n items: ItemsPropType.isRequired,\n /** Number of items to load per page as the user scrolls */\n numItemsPerPage: PropTypes.number,\n /** Total number of items across all pages */\n numTotalItems: PropTypes.number,\n /** Called to load more items */\n onLoadMoreItems: PropTypes.func,\n /** Used to render item icons in the list. Overrides the default icons. */\n itemIconRenderer: PropTypes.func,\n /** Used to render item name links in the list. Overrides the default links. */\n itemNameLinkRenderer: PropTypes.func,\n /** Used to render item buttons in the list. Overrides the default buttons. */\n itemButtonRenderer: PropTypes.func,\n /** Used to render the row element for items on the list. Allows row customizations such as adding tooltips, etc. */\n itemRowRenderer: PropTypes.func,\n /** Width of the item list */\n listWidth: PropTypes.number.isRequired,\n /** Height of the item list */\n listHeight: PropTypes.number.isRequired,\n /** Props for the search input */\n searchInputProps: PropTypes.object,\n };\n\n static defaultProps = {\n actionButtonsProps: {},\n cancelButtonProps: {},\n chooseButtonProps: {},\n className: '',\n searchInputProps: {},\n };\n\n constructor(props) {\n super(props);\n this.state = {\n selectedItems: props.initialSelectedItems || {},\n foldersPath: props.initialFoldersPath,\n isInSearchMode: false,\n isSelectAllChecked: false,\n };\n }\n\n componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, true);\n }\n\n componentDidUpdate({ initialFoldersPath: prevInitialFoldersPath }) {\n const { initialFoldersPath } = this.props;\n\n if (prevInitialFoldersPath !== initialFoldersPath) {\n this.setState({\n foldersPath: initialFoldersPath,\n });\n }\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, true);\n }\n\n getCurrentFolder() {\n const { foldersPath } = this.state;\n return foldersPath[foldersPath.length - 1];\n }\n\n /**\n * Traverse the hirerachy up to the limit to see if any of the parent has the className\n */\n doAncestersContainClassname = (node, className, limit) => {\n let nodeOfInterest = node;\n let counter = 0;\n while (nodeOfInterest.parentNode && counter < limit) {\n // Done traversing (Document node does not have classnames)\n if (!nodeOfInterest.parentNode.className) {\n break;\n }\n\n if (nodeOfInterest.parentNode.className.includes(className)) {\n return true;\n }\n\n nodeOfInterest = nodeOfInterest.parentNode;\n counter += 1;\n }\n\n return false;\n };\n\n shouldDeselectItems = () => {\n const { contentExplorerMode } = this.props;\n\n return (\n // always deselect when not in multi select mode\n contentExplorerMode !== ContentExplorerModes.MULTI_SELECT\n );\n };\n\n handleDocumentClick = event => {\n const isInside = (this.domNode && this.domNode.contains(event.target)) || this.domNode === event.target;\n\n if (!isInside && this.shouldDeselectItems()) {\n this.deselectItems();\n }\n };\n\n handleContentExplorerClick = () => {\n if (this.shouldDeselectItems()) {\n this.deselectItems();\n }\n };\n\n deselectItems() {\n this.setState({\n selectedItems: {},\n });\n }\n\n enterFolder = enteredFolder => {\n const { contentExplorerMode, onEnterFolder } = this.props;\n const { foldersPath } = this.state;\n\n const folderIndex = foldersPath.findIndex(folder => folder.id === enteredFolder.id);\n let newFoldersPath = foldersPath.slice();\n\n if (folderIndex === -1) {\n // Append folder to the path if it's not already in the folders path\n newFoldersPath = newFoldersPath.concat([\n {\n ...enteredFolder,\n },\n ]);\n } else {\n // Otherwise, remove all folders that came after the entered folder\n newFoldersPath = newFoldersPath.slice(0, folderIndex + 1);\n }\n\n const newState = { foldersPath: newFoldersPath };\n if (contentExplorerMode !== ContentExplorerModes.MULTI_SELECT) {\n newState.selectedItems = {};\n }\n\n this.setState(newState);\n\n onEnterFolder(enteredFolder, newFoldersPath);\n };\n\n handleFoldersPathUpdated = newFoldersPath => {\n this.setState({\n foldersPath: newFoldersPath,\n });\n };\n\n handleSearchSubmit = searchQuery => {\n const { onSearchSubmit } = this.props;\n\n this.setState({ isInSearchMode: true });\n onSearchSubmit(searchQuery);\n };\n\n handleExitSearch = folderBeforeSearch => {\n const { onExitSearch } = this.props;\n\n this.setState({ isInSearchMode: false });\n onExitSearch(folderBeforeSearch);\n };\n\n handleItemClick = ({ event, index }) => {\n const { contentExplorerMode, items, onSelectItem } = this.props;\n const { selectedItems } = this.state;\n const item = items[index];\n\n if (item.isDisabled || item.isLoading) {\n return;\n }\n\n // Prevent the event from bubbling up (so our content explorer click handler doesn't fire)\n event.stopPropagation();\n\n let newSelectedItems = {};\n if (contentExplorerMode === ContentExplorerModes.MULTI_SELECT) {\n newSelectedItems = this.toggleSelectedItem(selectedItems, item);\n } else {\n newSelectedItems[item.id] = item;\n }\n\n this.setState({ selectedItems: newSelectedItems, isSelectAllChecked: false });\n\n if (onSelectItem) {\n onSelectItem(item, index);\n }\n };\n\n handleItemDoubleClick = ({ index }) => {\n const { items, onChooseItems } = this.props;\n const item = items[index];\n\n if (item.isDisabled || item.isLoading) {\n return;\n }\n\n if (item.type === ItemTypes.FOLDER) {\n this.enterFolder(item);\n } else {\n onChooseItems([item]);\n }\n this.setState({ isSelectAllChecked: false });\n };\n\n handleItemNameClick = (event, index) => {\n const { items } = this.props;\n const item = items[index];\n\n if (item.isDisabled || item.isLoading) {\n return;\n }\n\n if (item.type !== ItemTypes.FOLDER) {\n return;\n }\n\n // Prevent the event from bubbling (so our row click handler doesn't fire)\n event.preventDefault();\n event.stopPropagation();\n\n this.enterFolder(item);\n this.setState({ isSelectAllChecked: false });\n };\n\n toggleSelectedItem = (selectedItems, item) => {\n const result = { ...selectedItems };\n if (result[item.id]) {\n delete result[item.id];\n } else {\n result[item.id] = item;\n }\n\n return result;\n };\n\n selectAll = () => {\n const { items } = this.props;\n const { selectedItems } = this.state;\n const result = { ...selectedItems };\n items.forEach(item => {\n if (!result[item.id]) {\n result[item.id] = item;\n }\n });\n\n return result;\n };\n\n unselectAll = () => {\n const { items } = this.props;\n const { selectedItems } = this.state;\n const result = { ...selectedItems };\n items.forEach(item => {\n if (result[item.id]) {\n delete result[item.id];\n }\n });\n\n return result;\n };\n\n handleSelectAllClick = async () => {\n // check if the items list is still loading\n const { items } = this.props;\n if (items && items[0] && items[0].isLoading) {\n return;\n }\n const { isSelectAllChecked } = this.state;\n const newSelectedItems = isSelectAllChecked ? this.unselectAll() : this.selectAll();\n this.setState({ selectedItems: newSelectedItems, isSelectAllChecked: !isSelectAllChecked });\n };\n\n renderItemListEmptyState = () => {\n const { foldersPath, isInSearchMode } = this.state;\n const isViewingSearchResults = isInSearchMode && foldersPath.length === 1;\n\n return <ContentExplorerEmptyState isSearch={isViewingSearchResults} />;\n };\n\n render() {\n const {\n actionButtonsProps,\n cancelButtonProps,\n chooseButtonProps,\n chooseButtonText,\n className,\n contentExplorerMode,\n customInput,\n headerActionsAccessory,\n onChooseItems,\n onMoveItem,\n onCopyItem,\n onCancelButtonClick,\n onCreateNewFolderButtonClick,\n onSelectedClick,\n showCreateNewFolderButton,\n isChooseButtonLoading,\n isCopyButtonLoading,\n isCreateNewFolderAllowed,\n isMoveButtonLoading,\n isResponsive = false,\n isSelectAllAllowed,\n items,\n numItemsPerPage,\n numTotalItems,\n onLoadMoreItems,\n itemIconRenderer,\n itemNameLinkRenderer,\n itemButtonRenderer,\n itemRowRenderer,\n listWidth,\n listHeight,\n searchInputProps,\n ...rest\n } = this.props;\n const { isInSearchMode, foldersPath, selectedItems, isSelectAllChecked } = this.state;\n const isViewingSearchResults = isInSearchMode && foldersPath.length === 1;\n const currentFolder = this.getCurrentFolder();\n const contentExplorerProps = omit(rest, [\n 'initialFoldersPath',\n 'onEnterFolder',\n 'onSelectItem',\n 'onSearchSubmit',\n 'onExitSearch',\n ]);\n\n const selectedItemsIds = Object.keys(selectedItems);\n let areActionButtonsDisabled;\n // NOTE: it almost feels like this whole section should be inside the\n // ContentExplorerActionButtons instead. There's a lot of implicit knowledge\n // of what the action buttons are and what they should be doing.\n if (contentExplorerMode === ContentExplorerModes.MULTI_SELECT) {\n // NOTE:o nly expecting to have 1 (choose) button so as long as something\n // is selected and that item's isActionDisabled is false, we enable the action button\n areActionButtonsDisabled =\n selectedItemsIds.length === 0 ||\n (selectedItemsIds.length === 1 && selectedItems[selectedItemsIds[0]].isActionDisabled);\n } else if (isViewingSearchResults || contentExplorerMode === ContentExplorerModes.SELECT_FILE) {\n // Buttons are only enabled when an item is selected\n // When viewing search results, there is no \"current folder\"\n // When selecting a file, the file can only selected from the list\n areActionButtonsDisabled =\n selectedItemsIds.length === 0 || selectedItems[selectedItemsIds[0]].isActionDisabled;\n } else {\n // Buttons are enabled using the selected item or the current folder if no item is selected\n areActionButtonsDisabled =\n selectedItemsIds.length > 0\n ? selectedItems[selectedItemsIds[0]].isActionDisabled\n : currentFolder.isActionDisabled;\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events\n <div\n className={classNames('content-explorer', className, {\n 'bdl-ContentExplorer--responsive': isResponsive,\n })}\n data-testid=\"content-explorer\"\n onClick={this.handleContentExplorerClick}\n ref={ref => {\n this.domNode = ref;\n }}\n {...contentExplorerProps}\n >\n <ContentExplorerHeaderActions\n contentExplorerMode={contentExplorerMode}\n customInput={customInput}\n foldersPath={foldersPath}\n isCreateNewFolderAllowed={isCreateNewFolderAllowed}\n onCreateNewFolderButtonClick={onCreateNewFolderButtonClick}\n onFoldersPathUpdated={this.handleFoldersPathUpdated}\n onEnterFolder={this.enterFolder}\n onExitSearch={this.handleExitSearch}\n onSearchSubmit={this.handleSearchSubmit}\n searchInputProps={searchInputProps}\n showCreateNewFolderButton={showCreateNewFolderButton}\n >\n {headerActionsAccessory}\n </ContentExplorerHeaderActions>\n {isSelectAllAllowed && (\n <ContentExplorerSelectAll\n numTotalItems={numTotalItems}\n isSelectAllChecked={isSelectAllChecked}\n handleSelectAllClick={this.handleSelectAllClick}\n />\n )}\n <ItemList\n contentExplorerMode={contentExplorerMode}\n height={listHeight}\n isResponsive={isResponsive}\n itemButtonRenderer={itemButtonRenderer}\n itemIconRenderer={itemIconRenderer}\n itemNameLinkRenderer={itemNameLinkRenderer}\n items={items}\n itemRowRenderer={itemRowRenderer}\n noItemsRenderer={this.renderItemListEmptyState}\n numItemsPerPage={numItemsPerPage}\n numTotalItems={numTotalItems}\n onItemClick={this.handleItemClick}\n onItemDoubleClick={this.handleItemDoubleClick}\n onItemNameClick={this.handleItemNameClick}\n onLoadMoreItems={onLoadMoreItems}\n selectedItems={selectedItems}\n width={listWidth}\n />\n <ContentExplorerActionButtons\n actionButtonsProps={actionButtonsProps}\n areButtonsDisabled={areActionButtonsDisabled}\n cancelButtonProps={cancelButtonProps}\n chooseButtonProps={chooseButtonProps}\n chooseButtonText={chooseButtonText}\n contentExplorerMode={contentExplorerMode}\n currentFolder={currentFolder}\n isChooseButtonLoading={isChooseButtonLoading}\n isCopyButtonLoading={isCopyButtonLoading}\n isMoveButtonLoading={isMoveButtonLoading}\n isResponsive={isResponsive}\n onCancelClick={onCancelButtonClick}\n onChooseClick={onChooseItems}\n onCopyClick={onCopyItem}\n onSelectedClick={onSelectedClick}\n onMoveClick={onMoveItem}\n selectedItems={selectedItems}\n />\n </div>\n );\n }\n}\n\nexport default ContentExplorer;\n"],"file":"ContentExplorer.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/content-explorer/content-explorer/ContentExplorer.js"],"names":["PropTypes","React","Component","classNames","omit","ContentExplorerHeaderActions","ContentExplorerEmptyState","ContentExplorerActionButtons","ContentExplorerSelectAll","ItemList","ContentExplorerModePropType","FoldersPathPropType","ItemsPropType","ContentExplorerModes","ItemTypes","ContentExplorer","props","node","className","limit","nodeOfInterest","counter","parentNode","includes","contentExplorerMode","MULTI_SELECT","event","isInside","domNode","contains","target","shouldDeselectItems","deselectItems","enteredFolder","onEnterFolder","foldersPath","state","folderIndex","findIndex","folder","id","newFoldersPath","slice","concat","newState","selectedItems","setState","searchQuery","onSearchSubmit","isInSearchMode","folderBeforeSearch","onExitSearch","index","items","onSelectItem","item","isDisabled","isLoading","stopPropagation","newSelectedItems","toggleSelectedItem","isSelectAllChecked","onChooseItems","type","FOLDER","enterFolder","preventDefault","result","forEach","unselectAll","selectAll","isViewingSearchResults","length","initialSelectedItems","initialFoldersPath","document","addEventListener","handleDocumentClick","prevInitialFoldersPath","removeEventListener","actionButtonsProps","breadcrumbProps","cancelButtonProps","chooseButtonProps","chooseButtonText","customInput","headerActionsAccessory","onMoveItem","onCopyItem","onCancelButtonClick","onCreateNewFolderButtonClick","onSelectedClick","showCreateNewFolderButton","isChooseButtonLoading","isCopyButtonLoading","isCreateNewFolderAllowed","isMoveButtonLoading","isResponsive","isSelectAllAllowed","numItemsPerPage","numTotalItems","onLoadMoreItems","itemIconRenderer","itemNameLinkRenderer","itemButtonRenderer","itemRowRenderer","listWidth","listHeight","searchInputProps","rest","currentFolder","getCurrentFolder","contentExplorerProps","selectedItemsIds","Object","keys","areActionButtonsDisabled","isActionDisabled","SELECT_FILE","handleContentExplorerClick","ref","handleFoldersPathUpdated","handleExitSearch","handleSearchSubmit","handleSelectAllClick","renderItemListEmptyState","handleItemClick","handleItemDoubleClick","handleItemNameClick","object","string","isRequired","func","bool","number"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport omit from 'lodash/omit';\n\nimport ContentExplorerHeaderActions from './ContentExplorerHeaderActions';\nimport ContentExplorerEmptyState from './ContentExplorerEmptyState';\nimport ContentExplorerActionButtons from './ContentExplorerActionButtons';\nimport ContentExplorerSelectAll from './ContentExplorerSelectAll';\n\nimport ItemList from '../item-list';\nimport { ContentExplorerModePropType, FoldersPathPropType, ItemsPropType } from '../prop-types';\nimport ContentExplorerModes from '../modes';\nimport ItemTypes from '../item-types';\n\nimport './ContentExplorer.scss';\n\nclass ContentExplorer extends Component {\n static propTypes = {\n /** Props for the action buttons container */\n actionButtonsProps: PropTypes.object,\n /** Props for breadcrumbs */\n breadcrumbProps: PropTypes.object,\n /** Props for the cancel button */\n cancelButtonProps: PropTypes.object,\n /** Props for the choose button */\n chooseButtonProps: PropTypes.object,\n /** Custom text for the choose button */\n chooseButtonText: PropTypes.node,\n /** Adds class name. */\n className: PropTypes.string,\n /** Configures the content explorer based on the user's intended action (ex. select file or move/copy) */\n contentExplorerMode: ContentExplorerModePropType.isRequired,\n /** Props that contains the custom search input. Is rendered in header actions */\n customInput: PropTypes.func,\n /** Any extra items in the header to the right of the search input (and new folder button) */\n headerActionsAccessory: PropTypes.node,\n /** Initial path of folders. The last folder in the array is the current folder. */\n initialFoldersPath: FoldersPathPropType.isRequired,\n /** Initial items that will show up as selected */\n initialSelectedItems: PropTypes.object,\n /** Whether to use the responsive version */\n isResponsive: PropTypes.bool,\n /**\n * Called when the current folder changes\n *\n * @param {Object} enteredFolder\n * @param {Array} newFoldersPath\n */\n onEnterFolder: PropTypes.func.isRequired,\n /**\n * Called when an item is selected\n *\n * @param {Object} selectedItem\n * @param {number} selectedItemIndex\n */\n onSelectItem: PropTypes.func,\n /**\n * Called when an item is chosen\n *\n * @param {Object[]} chosenItems\n */\n onChooseItems: PropTypes.func,\n /** Called when selected button is clicked */\n onSelectedClick: PropTypes.func,\n /**\n * Called when a destination folder has been selected for moving an item to\n *\n * @param {Object} destFolder destination folder\n */\n onMoveItem: PropTypes.func,\n /**\n * Called when a destination folder has been selected for copying an item to\n *\n * @param {Object} destFolder destination folder\n */\n onCopyItem: PropTypes.func,\n /** Called when cancel button is clicked */\n onCancelButtonClick: PropTypes.func,\n /** Called when new folder button is clicked */\n onCreateNewFolderButtonClick: PropTypes.func,\n /** Whether the new folder button should be shown */\n showCreateNewFolderButton: PropTypes.bool,\n /** Whether the choose button should be shown with a loading indicator */\n isChooseButtonLoading: PropTypes.bool,\n /** Whether the copy button should be shown with a loading indicator */\n isCopyButtonLoading: PropTypes.bool,\n /** Whether the user has permission to create a new folder */\n isCreateNewFolderAllowed: PropTypes.bool,\n /** Whether the user can see select all checkbox */\n isSelectAllAllowed: PropTypes.bool,\n /** Whether the move button should be shown with a loading indicator */\n isMoveButtonLoading: PropTypes.bool,\n /**\n * Called when a search query is submitted.\n *\n * @param {string} searchQuery\n */\n onSearchSubmit: PropTypes.func.isRequired,\n /**\n * Called when search mode is exited. An updated items list should now be passed in to display the user's file tree.\n *\n * @param {Object} folderBeforeSearch the previous folder object before entering search mode\n */\n onExitSearch: PropTypes.func.isRequired,\n /** List of items to display */\n items: ItemsPropType.isRequired,\n /** Number of items to load per page as the user scrolls */\n numItemsPerPage: PropTypes.number,\n /** Total number of items across all pages */\n numTotalItems: PropTypes.number,\n /** Called to load more items */\n onLoadMoreItems: PropTypes.func,\n /** Used to render item icons in the list. Overrides the default icons. */\n itemIconRenderer: PropTypes.func,\n /** Used to render item name links in the list. Overrides the default links. */\n itemNameLinkRenderer: PropTypes.func,\n /** Used to render item buttons in the list. Overrides the default buttons. */\n itemButtonRenderer: PropTypes.func,\n /** Used to render the row element for items on the list. Allows row customizations such as adding tooltips, etc. */\n itemRowRenderer: PropTypes.func,\n /** Width of the item list */\n listWidth: PropTypes.number.isRequired,\n /** Height of the item list */\n listHeight: PropTypes.number.isRequired,\n /** Props for the search input */\n searchInputProps: PropTypes.object,\n };\n\n static defaultProps = {\n actionButtonsProps: {},\n cancelButtonProps: {},\n chooseButtonProps: {},\n className: '',\n searchInputProps: {},\n };\n\n constructor(props) {\n super(props);\n this.state = {\n selectedItems: props.initialSelectedItems || {},\n foldersPath: props.initialFoldersPath,\n isInSearchMode: false,\n isSelectAllChecked: false,\n };\n }\n\n componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, true);\n }\n\n componentDidUpdate({ initialFoldersPath: prevInitialFoldersPath }) {\n const { initialFoldersPath } = this.props;\n\n if (prevInitialFoldersPath !== initialFoldersPath) {\n this.setState({\n foldersPath: initialFoldersPath,\n });\n }\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, true);\n }\n\n getCurrentFolder() {\n const { foldersPath } = this.state;\n return foldersPath[foldersPath.length - 1];\n }\n\n /**\n * Traverse the hirerachy up to the limit to see if any of the parent has the className\n */\n doAncestersContainClassname = (node, className, limit) => {\n let nodeOfInterest = node;\n let counter = 0;\n while (nodeOfInterest.parentNode && counter < limit) {\n // Done traversing (Document node does not have classnames)\n if (!nodeOfInterest.parentNode.className) {\n break;\n }\n\n if (nodeOfInterest.parentNode.className.includes(className)) {\n return true;\n }\n\n nodeOfInterest = nodeOfInterest.parentNode;\n counter += 1;\n }\n\n return false;\n };\n\n shouldDeselectItems = () => {\n const { contentExplorerMode } = this.props;\n\n return (\n // always deselect when not in multi select mode\n contentExplorerMode !== ContentExplorerModes.MULTI_SELECT\n );\n };\n\n handleDocumentClick = event => {\n const isInside = (this.domNode && this.domNode.contains(event.target)) || this.domNode === event.target;\n\n if (!isInside && this.shouldDeselectItems()) {\n this.deselectItems();\n }\n };\n\n handleContentExplorerClick = () => {\n if (this.shouldDeselectItems()) {\n this.deselectItems();\n }\n };\n\n deselectItems() {\n this.setState({\n selectedItems: {},\n });\n }\n\n enterFolder = enteredFolder => {\n const { contentExplorerMode, onEnterFolder } = this.props;\n const { foldersPath } = this.state;\n\n const folderIndex = foldersPath.findIndex(folder => folder.id === enteredFolder.id);\n let newFoldersPath = foldersPath.slice();\n\n if (folderIndex === -1) {\n // Append folder to the path if it's not already in the folders path\n newFoldersPath = newFoldersPath.concat([\n {\n ...enteredFolder,\n },\n ]);\n } else {\n // Otherwise, remove all folders that came after the entered folder\n newFoldersPath = newFoldersPath.slice(0, folderIndex + 1);\n }\n\n const newState = { foldersPath: newFoldersPath };\n if (contentExplorerMode !== ContentExplorerModes.MULTI_SELECT) {\n newState.selectedItems = {};\n }\n\n this.setState(newState);\n\n onEnterFolder(enteredFolder, newFoldersPath);\n };\n\n handleFoldersPathUpdated = newFoldersPath => {\n this.setState({\n foldersPath: newFoldersPath,\n });\n };\n\n handleSearchSubmit = searchQuery => {\n const { onSearchSubmit } = this.props;\n\n this.setState({ isInSearchMode: true });\n onSearchSubmit(searchQuery);\n };\n\n handleExitSearch = folderBeforeSearch => {\n const { onExitSearch } = this.props;\n\n this.setState({ isInSearchMode: false });\n onExitSearch(folderBeforeSearch);\n };\n\n handleItemClick = ({ event, index }) => {\n const { contentExplorerMode, items, onSelectItem } = this.props;\n const { selectedItems } = this.state;\n const item = items[index];\n\n if (item.isDisabled || item.isLoading) {\n return;\n }\n\n // Prevent the event from bubbling up (so our content explorer click handler doesn't fire)\n event.stopPropagation();\n\n let newSelectedItems = {};\n if (contentExplorerMode === ContentExplorerModes.MULTI_SELECT) {\n newSelectedItems = this.toggleSelectedItem(selectedItems, item);\n } else {\n newSelectedItems[item.id] = item;\n }\n\n this.setState({ selectedItems: newSelectedItems, isSelectAllChecked: false });\n\n if (onSelectItem) {\n onSelectItem(item, index);\n }\n };\n\n handleItemDoubleClick = ({ index }) => {\n const { items, onChooseItems } = this.props;\n const item = items[index];\n\n if (item.isDisabled || item.isLoading) {\n return;\n }\n\n if (item.type === ItemTypes.FOLDER) {\n this.enterFolder(item);\n } else {\n onChooseItems([item]);\n }\n this.setState({ isSelectAllChecked: false });\n };\n\n handleItemNameClick = (event, index) => {\n const { items } = this.props;\n const item = items[index];\n\n if (item.isDisabled || item.isLoading) {\n return;\n }\n\n if (item.type !== ItemTypes.FOLDER) {\n return;\n }\n\n // Prevent the event from bubbling (so our row click handler doesn't fire)\n event.preventDefault();\n event.stopPropagation();\n\n this.enterFolder(item);\n this.setState({ isSelectAllChecked: false });\n };\n\n toggleSelectedItem = (selectedItems, item) => {\n const result = { ...selectedItems };\n if (result[item.id]) {\n delete result[item.id];\n } else {\n result[item.id] = item;\n }\n\n return result;\n };\n\n selectAll = () => {\n const { items } = this.props;\n const { selectedItems } = this.state;\n const result = { ...selectedItems };\n items.forEach(item => {\n if (!result[item.id]) {\n result[item.id] = item;\n }\n });\n\n return result;\n };\n\n unselectAll = () => {\n const { items } = this.props;\n const { selectedItems } = this.state;\n const result = { ...selectedItems };\n items.forEach(item => {\n if (result[item.id]) {\n delete result[item.id];\n }\n });\n\n return result;\n };\n\n handleSelectAllClick = async () => {\n // check if the items list is still loading\n const { items } = this.props;\n if (items && items[0] && items[0].isLoading) {\n return;\n }\n const { isSelectAllChecked } = this.state;\n const newSelectedItems = isSelectAllChecked ? this.unselectAll() : this.selectAll();\n this.setState({ selectedItems: newSelectedItems, isSelectAllChecked: !isSelectAllChecked });\n };\n\n renderItemListEmptyState = () => {\n const { foldersPath, isInSearchMode } = this.state;\n const isViewingSearchResults = isInSearchMode && foldersPath.length === 1;\n\n return <ContentExplorerEmptyState isSearch={isViewingSearchResults} />;\n };\n\n render() {\n const {\n actionButtonsProps,\n breadcrumbProps,\n cancelButtonProps,\n chooseButtonProps,\n chooseButtonText,\n className,\n contentExplorerMode,\n customInput,\n headerActionsAccessory,\n onChooseItems,\n onMoveItem,\n onCopyItem,\n onCancelButtonClick,\n onCreateNewFolderButtonClick,\n onSelectedClick,\n showCreateNewFolderButton,\n isChooseButtonLoading,\n isCopyButtonLoading,\n isCreateNewFolderAllowed,\n isMoveButtonLoading,\n isResponsive = false,\n isSelectAllAllowed,\n items,\n numItemsPerPage,\n numTotalItems,\n onLoadMoreItems,\n itemIconRenderer,\n itemNameLinkRenderer,\n itemButtonRenderer,\n itemRowRenderer,\n listWidth,\n listHeight,\n searchInputProps,\n ...rest\n } = this.props;\n const { isInSearchMode, foldersPath, selectedItems, isSelectAllChecked } = this.state;\n const isViewingSearchResults = isInSearchMode && foldersPath.length === 1;\n const currentFolder = this.getCurrentFolder();\n const contentExplorerProps = omit(rest, [\n 'initialFoldersPath',\n 'onEnterFolder',\n 'onSelectItem',\n 'onSearchSubmit',\n 'onExitSearch',\n ]);\n\n const selectedItemsIds = Object.keys(selectedItems);\n let areActionButtonsDisabled;\n // NOTE: it almost feels like this whole section should be inside the\n // ContentExplorerActionButtons instead. There's a lot of implicit knowledge\n // of what the action buttons are and what they should be doing.\n if (contentExplorerMode === ContentExplorerModes.MULTI_SELECT) {\n // NOTE:o nly expecting to have 1 (choose) button so as long as something\n // is selected and that item's isActionDisabled is false, we enable the action button\n areActionButtonsDisabled =\n selectedItemsIds.length === 0 ||\n (selectedItemsIds.length === 1 && selectedItems[selectedItemsIds[0]].isActionDisabled);\n } else if (isViewingSearchResults || contentExplorerMode === ContentExplorerModes.SELECT_FILE) {\n // Buttons are only enabled when an item is selected\n // When viewing search results, there is no \"current folder\"\n // When selecting a file, the file can only selected from the list\n areActionButtonsDisabled =\n selectedItemsIds.length === 0 || selectedItems[selectedItemsIds[0]].isActionDisabled;\n } else {\n // Buttons are enabled using the selected item or the current folder if no item is selected\n areActionButtonsDisabled =\n selectedItemsIds.length > 0\n ? selectedItems[selectedItemsIds[0]].isActionDisabled\n : currentFolder.isActionDisabled;\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events\n <div\n className={classNames('content-explorer', className, {\n 'bdl-ContentExplorer--responsive': isResponsive,\n })}\n data-testid=\"content-explorer\"\n onClick={this.handleContentExplorerClick}\n ref={ref => {\n this.domNode = ref;\n }}\n {...contentExplorerProps}\n >\n <ContentExplorerHeaderActions\n breadcrumbProps={breadcrumbProps}\n contentExplorerMode={contentExplorerMode}\n customInput={customInput}\n foldersPath={foldersPath}\n isCreateNewFolderAllowed={isCreateNewFolderAllowed}\n onCreateNewFolderButtonClick={onCreateNewFolderButtonClick}\n onFoldersPathUpdated={this.handleFoldersPathUpdated}\n onEnterFolder={this.enterFolder}\n onExitSearch={this.handleExitSearch}\n onSearchSubmit={this.handleSearchSubmit}\n searchInputProps={searchInputProps}\n showCreateNewFolderButton={showCreateNewFolderButton}\n >\n {headerActionsAccessory}\n </ContentExplorerHeaderActions>\n {isSelectAllAllowed && (\n <ContentExplorerSelectAll\n numTotalItems={numTotalItems}\n isSelectAllChecked={isSelectAllChecked}\n handleSelectAllClick={this.handleSelectAllClick}\n />\n )}\n <ItemList\n contentExplorerMode={contentExplorerMode}\n height={listHeight}\n isResponsive={isResponsive}\n itemButtonRenderer={itemButtonRenderer}\n itemIconRenderer={itemIconRenderer}\n itemNameLinkRenderer={itemNameLinkRenderer}\n items={items}\n itemRowRenderer={itemRowRenderer}\n noItemsRenderer={this.renderItemListEmptyState}\n numItemsPerPage={numItemsPerPage}\n numTotalItems={numTotalItems}\n onItemClick={this.handleItemClick}\n onItemDoubleClick={this.handleItemDoubleClick}\n onItemNameClick={this.handleItemNameClick}\n onLoadMoreItems={onLoadMoreItems}\n selectedItems={selectedItems}\n width={listWidth}\n />\n <ContentExplorerActionButtons\n actionButtonsProps={actionButtonsProps}\n areButtonsDisabled={areActionButtonsDisabled}\n cancelButtonProps={cancelButtonProps}\n chooseButtonProps={chooseButtonProps}\n chooseButtonText={chooseButtonText}\n contentExplorerMode={contentExplorerMode}\n currentFolder={currentFolder}\n isChooseButtonLoading={isChooseButtonLoading}\n isCopyButtonLoading={isCopyButtonLoading}\n isMoveButtonLoading={isMoveButtonLoading}\n isResponsive={isResponsive}\n onCancelClick={onCancelButtonClick}\n onChooseClick={onChooseItems}\n onCopyClick={onCopyItem}\n onSelectedClick={onSelectedClick}\n onMoveClick={onMoveItem}\n selectedItems={selectedItems}\n />\n </div>\n );\n }\n}\n\nexport default ContentExplorer;\n"],"file":"ContentExplorer.js"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
1
3
|
import PropTypes from 'prop-types';
|
|
2
4
|
import React from 'react';
|
|
3
5
|
import { injectIntl } from 'react-intl';
|
|
4
6
|
import Button from '../../../components/button';
|
|
5
|
-
import PlainButton from '../../../components/plain-button';
|
|
6
7
|
import Breadcrumb from '../../../components/breadcrumb';
|
|
7
8
|
import IconChevron from '../../../icons/general/IconChevron';
|
|
8
9
|
import IconAllFiles from '../../../icons/general/IconAllFiles';
|
|
10
|
+
import PlainButton from '../../../components/plain-button';
|
|
9
11
|
import { FoldersPathPropType } from '../prop-types';
|
|
10
12
|
import messages from '../messages';
|
|
11
13
|
|
|
12
14
|
var ContentExplorerBreadcrumbs = function ContentExplorerBreadcrumbs(_ref) {
|
|
13
|
-
var
|
|
15
|
+
var breadcrumbProps = _ref.breadcrumbProps,
|
|
16
|
+
foldersPath = _ref.foldersPath,
|
|
14
17
|
formatMessage = _ref.intl.formatMessage,
|
|
15
18
|
_ref$isUpButtonDisabl = _ref.isUpButtonDisabled,
|
|
16
19
|
isUpButtonDisabled = _ref$isUpButtonDisabl === void 0 ? false : _ref$isUpButtonDisabl,
|
|
@@ -28,21 +31,24 @@ var ContentExplorerBreadcrumbs = function ContentExplorerBreadcrumbs(_ref) {
|
|
|
28
31
|
direction: "left",
|
|
29
32
|
size: "6px",
|
|
30
33
|
color: "#333"
|
|
31
|
-
})), React.createElement(Breadcrumb, {
|
|
34
|
+
})), React.createElement(Breadcrumb, _extends({
|
|
32
35
|
label: formatMessage(messages.breadcrumb)
|
|
33
|
-
}, foldersPath.map(function (folder, i) {
|
|
34
|
-
return React.createElement(
|
|
35
|
-
className: "lnk",
|
|
36
|
+
}, breadcrumbProps), foldersPath.map(function (folder, i) {
|
|
37
|
+
return React.createElement("div", {
|
|
36
38
|
key: folder.id,
|
|
37
|
-
|
|
39
|
+
className: "lnk"
|
|
40
|
+
}, React.createElement(PlainButton, {
|
|
41
|
+
"data-testid": "breadcrumb-lnk",
|
|
38
42
|
onClick: function onClick(event) {
|
|
39
43
|
return onBreadcrumbClick(i, event);
|
|
40
|
-
}
|
|
41
|
-
|
|
44
|
+
},
|
|
45
|
+
title: folder.name
|
|
46
|
+
}, i === 0 && React.createElement(IconAllFiles, null), React.createElement("span", null, folder.name)));
|
|
42
47
|
})));
|
|
43
48
|
};
|
|
44
49
|
|
|
45
50
|
ContentExplorerBreadcrumbs.propTypes = {
|
|
51
|
+
breadcrumbProps: PropTypes.object,
|
|
46
52
|
foldersPath: FoldersPathPropType.isRequired,
|
|
47
53
|
intl: PropTypes.any,
|
|
48
54
|
isUpButtonDisabled: PropTypes.bool,
|
|
@@ -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
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js"],"names":["PropTypes","React","injectIntl","Button","
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js"],"names":["PropTypes","React","injectIntl","Button","Breadcrumb","IconChevron","IconAllFiles","PlainButton","FoldersPathPropType","messages","ContentExplorerBreadcrumbs","breadcrumbProps","foldersPath","formatMessage","intl","isUpButtonDisabled","onUpButtonClick","onBreadcrumbClick","clickToGoBack","breadcrumb","map","folder","i","id","event","name","propTypes","object","isRequired","any","bool","func","ContentExplorerBreadcrumbsBase"],"mappings":";;AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,QAA2B,YAA3B;AAEA,OAAOC,MAAP,MAAmB,4BAAnB;AACA,OAAOC,UAAP,MAAuB,gCAAvB;AACA,OAAOC,WAAP,MAAwB,oCAAxB;AACA,OAAOC,YAAP,MAAyB,qCAAzB;AACA,OAAOC,WAAP,MAAwB,kCAAxB;AAEA,SAASC,mBAAT,QAAoC,eAApC;AACA,OAAOC,QAAP,MAAqB,aAArB;;AAEA,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA6B;AAAA,MAC/BC,eAD+B,QAC/BA,eAD+B;AAAA,MAE/BC,WAF+B,QAE/BA,WAF+B;AAAA,MAGvBC,aAHuB,QAG/BC,IAH+B,CAGvBD,aAHuB;AAAA,mCAI/BE,kBAJ+B;AAAA,MAI/BA,kBAJ+B,sCAIV,KAJU;AAAA,MAK/BC,eAL+B,QAK/BA,eAL+B;AAAA,MAM/BC,iBAN+B,QAM/BA,iBAN+B;AAAA,SAQ/B;AAAK,IAAA,SAAS,EAAC;AAAf,KACI,oBAAC,MAAD;AACI,kBAAYJ,aAAa,CAACJ,QAAQ,CAACS,aAAV,CAD7B;AAEI,IAAA,SAAS,EAAC,wCAFd;AAGI,IAAA,IAAI,EAAC,QAHT;AAII,IAAA,OAAO,EAAEF,eAJb;AAKI,IAAA,UAAU,EAAED;AALhB,KAOI,oBAAC,WAAD;AAAa,IAAA,SAAS,EAAC,MAAvB;AAA8B,IAAA,IAAI,EAAC,KAAnC;AAAyC,IAAA,KAAK,EAAC;AAA/C,IAPJ,CADJ,EAUI,oBAAC,UAAD;AAAY,IAAA,KAAK,EAAEF,aAAa,CAACJ,QAAQ,CAACU,UAAV;AAAhC,KAA2DR,eAA3D,GACKC,WAAW,CAACQ,GAAZ,CAAgB,UAACC,MAAD,EAASC,CAAT;AAAA,WACb;AAAK,MAAA,GAAG,EAAED,MAAM,CAACE,EAAjB;AAAqB,MAAA,SAAS,EAAC;AAA/B,OACI,oBAAC,WAAD;AACI,qBAAY,gBADhB;AAEI,MAAA,OAAO,EAAE,iBAAAC,KAAK;AAAA,eAAIP,iBAAiB,CAACK,CAAD,EAAIE,KAAJ,CAArB;AAAA,OAFlB;AAGI,MAAA,KAAK,EAAEH,MAAM,CAACI;AAHlB,OAKKH,CAAC,KAAK,CAAN,IAAW,oBAAC,YAAD,OALhB,EAMI,kCAAOD,MAAM,CAACI,IAAd,CANJ,CADJ,CADa;AAAA,GAAhB,CADL,CAVJ,CAR+B;AAAA,CAAnC;;AAmCAf,0BAA0B,CAACgB,SAA3B,GAAuC;AACnCf,EAAAA,eAAe,EAAEX,SAAS,CAAC2B,MADQ;AAEnCf,EAAAA,WAAW,EAAEJ,mBAAmB,CAACoB,UAFE;AAGnCd,EAAAA,IAAI,EAAEd,SAAS,CAAC6B,GAHmB;AAInCd,EAAAA,kBAAkB,EAAEf,SAAS,CAAC8B,IAJK;AAKnCd,EAAAA,eAAe,EAAEhB,SAAS,CAAC+B,IALQ;AAMnCd,EAAAA,iBAAiB,EAAEjB,SAAS,CAAC+B;AANM,CAAvC;AASA,SAASrB,0BAA0B,IAAIsB,8BAAvC;AACA,eAAe9B,UAAU,CAACQ,0BAAD,CAAzB","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport { injectIntl } from 'react-intl';\n\nimport Button from '../../../components/button';\nimport Breadcrumb from '../../../components/breadcrumb';\nimport IconChevron from '../../../icons/general/IconChevron';\nimport IconAllFiles from '../../../icons/general/IconAllFiles';\nimport PlainButton from '../../../components/plain-button';\n\nimport { FoldersPathPropType } from '../prop-types';\nimport messages from '../messages';\n\nconst ContentExplorerBreadcrumbs = ({\n breadcrumbProps,\n foldersPath,\n intl: { formatMessage },\n isUpButtonDisabled = false,\n onUpButtonClick,\n onBreadcrumbClick,\n}) => (\n <div className=\"content-explorer-breadcrumbs-container\">\n <Button\n aria-label={formatMessage(messages.clickToGoBack)}\n className=\"content-explorer-breadcrumbs-up-button\"\n type=\"button\"\n onClick={onUpButtonClick}\n isDisabled={isUpButtonDisabled}\n >\n <IconChevron direction=\"left\" size=\"6px\" color=\"#333\" />\n </Button>\n <Breadcrumb label={formatMessage(messages.breadcrumb)} {...breadcrumbProps}>\n {foldersPath.map((folder, i) => (\n <div key={folder.id} className=\"lnk\">\n <PlainButton\n data-testid=\"breadcrumb-lnk\"\n onClick={event => onBreadcrumbClick(i, event)}\n title={folder.name}\n >\n {i === 0 && <IconAllFiles />}\n <span>{folder.name}</span>\n </PlainButton>\n </div>\n ))}\n </Breadcrumb>\n </div>\n);\n\nContentExplorerBreadcrumbs.propTypes = {\n breadcrumbProps: PropTypes.object,\n foldersPath: FoldersPathPropType.isRequired,\n intl: PropTypes.any,\n isUpButtonDisabled: PropTypes.bool,\n onUpButtonClick: PropTypes.func,\n onBreadcrumbClick: PropTypes.func,\n};\n\nexport { ContentExplorerBreadcrumbs as ContentExplorerBreadcrumbsBase };\nexport default injectIntl(ContentExplorerBreadcrumbs);\n"],"file":"ContentExplorerBreadcrumbs.js"}
|
|
@@ -24,7 +24,7 @@ import { injectIntl } from 'react-intl';
|
|
|
24
24
|
import ContentExplorerSearch from './ContentExplorerSearch';
|
|
25
25
|
import ContentExplorerNewFolderButton from './ContentExplorerNewFolderButton';
|
|
26
26
|
import ContentExplorerBreadcrumbs from './ContentExplorerBreadcrumbs';
|
|
27
|
-
import { ContentExplorerModePropType, FoldersPathPropType } from '../prop-types';
|
|
27
|
+
import { BreadcrumbPropType, ContentExplorerModePropType, FoldersPathPropType } from '../prop-types';
|
|
28
28
|
import messages from '../messages';
|
|
29
29
|
var SEARCH_RESULTS_FOLDER_ID = 'search_results_id';
|
|
30
30
|
|
|
@@ -168,6 +168,7 @@ function (_Component) {
|
|
|
168
168
|
key: "render",
|
|
169
169
|
value: function render() {
|
|
170
170
|
var _this$props4 = this.props,
|
|
171
|
+
breadcrumbProps = _this$props4.breadcrumbProps,
|
|
171
172
|
children = _this$props4.children,
|
|
172
173
|
contentExplorerMode = _this$props4.contentExplorerMode,
|
|
173
174
|
CustomInput = _this$props4.customInput,
|
|
@@ -194,6 +195,7 @@ function (_Component) {
|
|
|
194
195
|
isDisabled: !isCreateNewFolderAllowed || isInSearchMode,
|
|
195
196
|
isCreateNewFolderAllowed: isCreateNewFolderAllowed
|
|
196
197
|
}), children), React.createElement(ContentExplorerBreadcrumbs, {
|
|
198
|
+
breadcrumbProps: breadcrumbProps,
|
|
197
199
|
foldersPath: foldersPath,
|
|
198
200
|
isUpButtonDisabled: foldersPath.length <= 1 && !isInSearchMode,
|
|
199
201
|
onUpButtonClick: this.handleBreadcrumbsUpButtonClick,
|
|
@@ -206,6 +208,7 @@ function (_Component) {
|
|
|
206
208
|
}(Component);
|
|
207
209
|
|
|
208
210
|
_defineProperty(ContentExplorerHeaderActions, "propTypes", {
|
|
211
|
+
breadcrumbProps: BreadcrumbPropType,
|
|
209
212
|
children: PropTypes.node,
|
|
210
213
|
contentExplorerMode: ContentExplorerModePropType.isRequired,
|
|
211
214
|
customInput: PropTypes.func,
|
|
@@ -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}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js"],"names":["PropTypes","React","Component","injectIntl","ContentExplorerSearch","ContentExplorerNewFolderButton","ContentExplorerBreadcrumbs","ContentExplorerModePropType","FoldersPathPropType","messages","SEARCH_RESULTS_FOLDER_ID","isSearchResultsFolder","folder","id","ContentExplorerHeaderActions","props","folderPathIndex","event","foldersPath","onEnterFolder","clickedFolder","preventDefault","length","submitSearch","lastSubmittedSearchInput","newFolderIndex","isViewingSearchResults","exitSearch","handleBreadcrumbClick","input","setState","searchInput","state","foldersPathBeforeSearch","some","getCurrentFolder","onFoldersPathUpdated","onExitSearch","isInSearchMode","foldersPathLength","folderBeforeSearch","intl","onSearchSubmit","name","formatMessage","searchResults","children","contentExplorerMode","CustomInput","customInput","onCreateNewFolderButtonClick","showCreateNewFolderButton","isCreateNewFolderAllowed","searchInputProps","handleClearSearchButtonClick","handleSearchInput","handleSubmitSearch","handleBreadcrumbsUpButtonClick","node","isRequired","func","any","bool","object","ContentExplorerHeaderActionsBase"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { injectIntl } from 'react-intl';\n\nimport ContentExplorerSearch from './ContentExplorerSearch';\nimport ContentExplorerNewFolderButton from './ContentExplorerNewFolderButton';\nimport ContentExplorerBreadcrumbs from './ContentExplorerBreadcrumbs';\n\nimport { ContentExplorerModePropType, FoldersPathPropType } from '../prop-types';\nimport messages from '../messages';\n\nconst SEARCH_RESULTS_FOLDER_ID = 'search_results_id';\n\nconst isSearchResultsFolder = folder => folder && folder.id === SEARCH_RESULTS_FOLDER_ID;\n\nclass ContentExplorerHeaderActions extends Component {\n static propTypes = {\n children: PropTypes.node,\n contentExplorerMode: ContentExplorerModePropType.isRequired,\n customInput: PropTypes.func,\n foldersPath: FoldersPathPropType.isRequired,\n intl: PropTypes.any,\n onFoldersPathUpdated: PropTypes.func.isRequired,\n onEnterFolder: PropTypes.func.isRequired,\n onCreateNewFolderButtonClick: PropTypes.func,\n showCreateNewFolderButton: PropTypes.bool,\n isCreateNewFolderAllowed: PropTypes.bool,\n onSearchSubmit: PropTypes.func.isRequired,\n onExitSearch: PropTypes.func.isRequired,\n searchInputProps: PropTypes.object,\n };\n\n static defaultProps = {\n showCreateNewFolderButton: true,\n isCreateNewFolderAllowed: true,\n searchInputProps: {},\n };\n\n constructor(props) {\n super(props);\n this.state = {\n searchInput: '',\n };\n this.foldersPathBeforeSearch = [];\n this.lastSubmittedSearchInput = '';\n }\n\n getCurrentFolder() {\n const { foldersPath } = this.props;\n return foldersPath[foldersPath.length - 1];\n }\n\n isInSearchMode() {\n const { foldersPath } = this.props;\n return foldersPath.some(isSearchResultsFolder);\n }\n\n isViewingSearchResults() {\n return isSearchResultsFolder(this.getCurrentFolder());\n }\n\n handleBreadcrumbClick = (folderPathIndex, event) => {\n const { foldersPath, onEnterFolder } = this.props;\n const clickedFolder = foldersPath[folderPathIndex];\n\n if (event) {\n event.preventDefault();\n }\n\n // Do nothing if the right-most breadcrumb (current folder) is clicked\n if (folderPathIndex === foldersPath.length - 1) {\n return;\n }\n\n // Show the search results for the last submitted input when clicking the \"Search Results\" breadcrumb\n if (isSearchResultsFolder(clickedFolder)) {\n this.submitSearch(this.lastSubmittedSearchInput);\n return;\n }\n\n onEnterFolder(clickedFolder);\n };\n\n handleBreadcrumbsUpButtonClick = () => {\n const { foldersPath } = this.props;\n const newFolderIndex = foldersPath.length - 2;\n\n if (this.isViewingSearchResults()) {\n this.exitSearch();\n } else if (newFolderIndex >= 0) {\n this.handleBreadcrumbClick(newFolderIndex);\n }\n };\n\n handleSearchInput = input => {\n this.setState({\n searchInput: input,\n });\n };\n\n handleClearSearchButtonClick = () => {\n this.exitSearch();\n };\n\n exitSearch() {\n const { onFoldersPathUpdated, onExitSearch } = this.props;\n\n // Clear the search input even if we aren't in search mode\n this.setState({ searchInput: '' });\n\n if (this.isInSearchMode()) {\n const foldersPathLength = this.foldersPathBeforeSearch.length;\n const folderBeforeSearch = foldersPathLength > 0 ? this.foldersPathBeforeSearch[foldersPathLength - 1] : {};\n onFoldersPathUpdated(this.foldersPathBeforeSearch);\n onExitSearch(folderBeforeSearch);\n }\n }\n\n handleSubmitSearch = () => {\n const { searchInput } = this.state;\n\n this.submitSearch(searchInput);\n };\n\n submitSearch(searchInput) {\n const { foldersPath, intl, onFoldersPathUpdated, onSearchSubmit } = this.props;\n\n if (searchInput) {\n // Only save folders path if we aren't already in search mode\n if (!this.isInSearchMode()) {\n this.foldersPathBeforeSearch = foldersPath;\n }\n\n this.lastSubmittedSearchInput = searchInput;\n onFoldersPathUpdated([\n {\n id: SEARCH_RESULTS_FOLDER_ID,\n name: intl.formatMessage(messages.searchResults),\n },\n ]);\n\n onSearchSubmit(searchInput);\n } else {\n this.exitSearch();\n }\n }\n\n render() {\n const {\n children,\n contentExplorerMode,\n customInput: CustomInput,\n foldersPath,\n onCreateNewFolderButtonClick,\n showCreateNewFolderButton,\n isCreateNewFolderAllowed,\n searchInputProps,\n } = this.props;\n const { searchInput } = this.state;\n const isInSearchMode = this.isInSearchMode();\n\n return (\n <div className=\"content-explorer-header-actions\">\n <div className=\"content-explorer-search-new-folder-container\">\n {CustomInput ? (\n <CustomInput />\n ) : (\n <ContentExplorerSearch\n inputValue={searchInput}\n onClearButtonClick={this.handleClearSearchButtonClick}\n onInput={this.handleSearchInput}\n onSubmit={this.handleSubmitSearch}\n searchInputProps={searchInputProps}\n />\n )}\n {showCreateNewFolderButton && (\n <ContentExplorerNewFolderButton\n contentExplorerMode={contentExplorerMode}\n onClick={onCreateNewFolderButtonClick}\n isDisabled={!isCreateNewFolderAllowed || isInSearchMode}\n isCreateNewFolderAllowed={isCreateNewFolderAllowed}\n />\n )}\n {children}\n </div>\n <ContentExplorerBreadcrumbs\n foldersPath={foldersPath}\n isUpButtonDisabled={foldersPath.length <= 1 && !isInSearchMode}\n onUpButtonClick={this.handleBreadcrumbsUpButtonClick}\n onBreadcrumbClick={this.handleBreadcrumbClick}\n />\n </div>\n );\n }\n}\n\nexport { ContentExplorerHeaderActions as ContentExplorerHeaderActionsBase };\nexport default injectIntl(ContentExplorerHeaderActions);\n"],"file":"ContentExplorerHeaderActions.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js"],"names":["PropTypes","React","Component","injectIntl","ContentExplorerSearch","ContentExplorerNewFolderButton","ContentExplorerBreadcrumbs","BreadcrumbPropType","ContentExplorerModePropType","FoldersPathPropType","messages","SEARCH_RESULTS_FOLDER_ID","isSearchResultsFolder","folder","id","ContentExplorerHeaderActions","props","folderPathIndex","event","foldersPath","onEnterFolder","clickedFolder","preventDefault","length","submitSearch","lastSubmittedSearchInput","newFolderIndex","isViewingSearchResults","exitSearch","handleBreadcrumbClick","input","setState","searchInput","state","foldersPathBeforeSearch","some","getCurrentFolder","onFoldersPathUpdated","onExitSearch","isInSearchMode","foldersPathLength","folderBeforeSearch","intl","onSearchSubmit","name","formatMessage","searchResults","breadcrumbProps","children","contentExplorerMode","CustomInput","customInput","onCreateNewFolderButtonClick","showCreateNewFolderButton","isCreateNewFolderAllowed","searchInputProps","handleClearSearchButtonClick","handleSearchInput","handleSubmitSearch","handleBreadcrumbsUpButtonClick","node","isRequired","func","any","bool","object","ContentExplorerHeaderActionsBase"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { injectIntl } from 'react-intl';\n\nimport ContentExplorerSearch from './ContentExplorerSearch';\nimport ContentExplorerNewFolderButton from './ContentExplorerNewFolderButton';\nimport ContentExplorerBreadcrumbs from './ContentExplorerBreadcrumbs';\n\nimport { BreadcrumbPropType, ContentExplorerModePropType, FoldersPathPropType } from '../prop-types';\nimport messages from '../messages';\n\nconst SEARCH_RESULTS_FOLDER_ID = 'search_results_id';\n\nconst isSearchResultsFolder = folder => folder && folder.id === SEARCH_RESULTS_FOLDER_ID;\n\nclass ContentExplorerHeaderActions extends Component {\n static propTypes = {\n breadcrumbProps: BreadcrumbPropType,\n children: PropTypes.node,\n contentExplorerMode: ContentExplorerModePropType.isRequired,\n customInput: PropTypes.func,\n foldersPath: FoldersPathPropType.isRequired,\n intl: PropTypes.any,\n onFoldersPathUpdated: PropTypes.func.isRequired,\n onEnterFolder: PropTypes.func.isRequired,\n onCreateNewFolderButtonClick: PropTypes.func,\n showCreateNewFolderButton: PropTypes.bool,\n isCreateNewFolderAllowed: PropTypes.bool,\n onSearchSubmit: PropTypes.func.isRequired,\n onExitSearch: PropTypes.func.isRequired,\n searchInputProps: PropTypes.object,\n };\n\n static defaultProps = {\n showCreateNewFolderButton: true,\n isCreateNewFolderAllowed: true,\n searchInputProps: {},\n };\n\n constructor(props) {\n super(props);\n this.state = {\n searchInput: '',\n };\n this.foldersPathBeforeSearch = [];\n this.lastSubmittedSearchInput = '';\n }\n\n getCurrentFolder() {\n const { foldersPath } = this.props;\n return foldersPath[foldersPath.length - 1];\n }\n\n isInSearchMode() {\n const { foldersPath } = this.props;\n return foldersPath.some(isSearchResultsFolder);\n }\n\n isViewingSearchResults() {\n return isSearchResultsFolder(this.getCurrentFolder());\n }\n\n handleBreadcrumbClick = (folderPathIndex, event) => {\n const { foldersPath, onEnterFolder } = this.props;\n const clickedFolder = foldersPath[folderPathIndex];\n\n if (event) {\n event.preventDefault();\n }\n\n // Do nothing if the right-most breadcrumb (current folder) is clicked\n if (folderPathIndex === foldersPath.length - 1) {\n return;\n }\n\n // Show the search results for the last submitted input when clicking the \"Search Results\" breadcrumb\n if (isSearchResultsFolder(clickedFolder)) {\n this.submitSearch(this.lastSubmittedSearchInput);\n return;\n }\n\n onEnterFolder(clickedFolder);\n };\n\n handleBreadcrumbsUpButtonClick = () => {\n const { foldersPath } = this.props;\n const newFolderIndex = foldersPath.length - 2;\n\n if (this.isViewingSearchResults()) {\n this.exitSearch();\n } else if (newFolderIndex >= 0) {\n this.handleBreadcrumbClick(newFolderIndex);\n }\n };\n\n handleSearchInput = input => {\n this.setState({\n searchInput: input,\n });\n };\n\n handleClearSearchButtonClick = () => {\n this.exitSearch();\n };\n\n exitSearch() {\n const { onFoldersPathUpdated, onExitSearch } = this.props;\n\n // Clear the search input even if we aren't in search mode\n this.setState({ searchInput: '' });\n\n if (this.isInSearchMode()) {\n const foldersPathLength = this.foldersPathBeforeSearch.length;\n const folderBeforeSearch = foldersPathLength > 0 ? this.foldersPathBeforeSearch[foldersPathLength - 1] : {};\n onFoldersPathUpdated(this.foldersPathBeforeSearch);\n onExitSearch(folderBeforeSearch);\n }\n }\n\n handleSubmitSearch = () => {\n const { searchInput } = this.state;\n\n this.submitSearch(searchInput);\n };\n\n submitSearch(searchInput) {\n const { foldersPath, intl, onFoldersPathUpdated, onSearchSubmit } = this.props;\n\n if (searchInput) {\n // Only save folders path if we aren't already in search mode\n if (!this.isInSearchMode()) {\n this.foldersPathBeforeSearch = foldersPath;\n }\n\n this.lastSubmittedSearchInput = searchInput;\n onFoldersPathUpdated([\n {\n id: SEARCH_RESULTS_FOLDER_ID,\n name: intl.formatMessage(messages.searchResults),\n },\n ]);\n\n onSearchSubmit(searchInput);\n } else {\n this.exitSearch();\n }\n }\n\n render() {\n const {\n breadcrumbProps,\n children,\n contentExplorerMode,\n customInput: CustomInput,\n foldersPath,\n onCreateNewFolderButtonClick,\n showCreateNewFolderButton,\n isCreateNewFolderAllowed,\n searchInputProps,\n } = this.props;\n const { searchInput } = this.state;\n const isInSearchMode = this.isInSearchMode();\n\n return (\n <div className=\"content-explorer-header-actions\">\n <div className=\"content-explorer-search-new-folder-container\">\n {CustomInput ? (\n <CustomInput />\n ) : (\n <ContentExplorerSearch\n inputValue={searchInput}\n onClearButtonClick={this.handleClearSearchButtonClick}\n onInput={this.handleSearchInput}\n onSubmit={this.handleSubmitSearch}\n searchInputProps={searchInputProps}\n />\n )}\n {showCreateNewFolderButton && (\n <ContentExplorerNewFolderButton\n contentExplorerMode={contentExplorerMode}\n onClick={onCreateNewFolderButtonClick}\n isDisabled={!isCreateNewFolderAllowed || isInSearchMode}\n isCreateNewFolderAllowed={isCreateNewFolderAllowed}\n />\n )}\n {children}\n </div>\n <ContentExplorerBreadcrumbs\n breadcrumbProps={breadcrumbProps}\n foldersPath={foldersPath}\n isUpButtonDisabled={foldersPath.length <= 1 && !isInSearchMode}\n onUpButtonClick={this.handleBreadcrumbsUpButtonClick}\n onBreadcrumbClick={this.handleBreadcrumbClick}\n />\n </div>\n );\n }\n}\n\nexport { ContentExplorerHeaderActions as ContentExplorerHeaderActionsBase };\nexport default injectIntl(ContentExplorerHeaderActions);\n"],"file":"ContentExplorerHeaderActions.js"}
|
|
@@ -6,12 +6,14 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
6
6
|
|
|
7
7
|
import * as React from 'react';
|
|
8
8
|
import classNames from 'classnames';
|
|
9
|
-
import { Modal } from '../../../components/modal';
|
|
10
9
|
import ContentExplorer from '../content-explorer';
|
|
10
|
+
import { Modal } from '../../../components/modal';
|
|
11
11
|
import './ContentExplorerModal.scss';
|
|
12
12
|
|
|
13
13
|
var ContentExplorerModal = function ContentExplorerModal(_ref) {
|
|
14
|
-
var _ref$
|
|
14
|
+
var _ref$breadcrumbProps = _ref.breadcrumbProps,
|
|
15
|
+
breadcrumbProps = _ref$breadcrumbProps === void 0 ? {} : _ref$breadcrumbProps,
|
|
16
|
+
_ref$className = _ref.className,
|
|
15
17
|
className = _ref$className === void 0 ? '' : _ref$className,
|
|
16
18
|
customInput = _ref.customInput,
|
|
17
19
|
_ref$title = _ref.title,
|
|
@@ -25,7 +27,7 @@ var ContentExplorerModal = function ContentExplorerModal(_ref) {
|
|
|
25
27
|
onRequestClose = _ref.onRequestClose,
|
|
26
28
|
onSelectedClick = _ref.onSelectedClick,
|
|
27
29
|
onSelectItem = _ref.onSelectItem,
|
|
28
|
-
rest = _objectWithoutProperties(_ref, ["className", "customInput", "title", "description", "isOpen", "isResponsive", "onRequestClose", "onSelectedClick", "onSelectItem"]);
|
|
30
|
+
rest = _objectWithoutProperties(_ref, ["breadcrumbProps", "className", "customInput", "title", "description", "isOpen", "isResponsive", "onRequestClose", "onSelectedClick", "onSelectItem"]);
|
|
29
31
|
|
|
30
32
|
return React.createElement(Modal, {
|
|
31
33
|
title: title,
|
|
@@ -35,6 +37,7 @@ var ContentExplorerModal = function ContentExplorerModal(_ref) {
|
|
|
35
37
|
isOpen: isOpen,
|
|
36
38
|
onRequestClose: onRequestClose
|
|
37
39
|
}, description, React.createElement(ContentExplorer, _extends({
|
|
40
|
+
breadcrumbProps: breadcrumbProps,
|
|
38
41
|
customInput: customInput,
|
|
39
42
|
isResponsive: isResponsive,
|
|
40
43
|
onCancelButtonClick: onRequestClose,
|
|
@@ -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
|
|
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}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/features/content-explorer/content-explorer-modal/ContentExplorerModal.js"],"names":["React","classNames","
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/content-explorer/content-explorer-modal/ContentExplorerModal.js"],"names":["React","classNames","ContentExplorer","Modal","ContentExplorerModal","breadcrumbProps","className","customInput","title","description","isOpen","isResponsive","onRequestClose","onSelectedClick","onSelectItem","rest"],"mappings":";;;;;;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,SAASC,KAAT,QAAsB,2BAAtB;AAIA,OAAO,6BAAP;;AAeA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB;AAAA,kCACzBC,eADyB;AAAA,MACzBA,eADyB,qCACP,EADO;AAAA,4BAEzBC,SAFyB;AAAA,MAEzBA,SAFyB,+BAEb,EAFa;AAAA,MAGzBC,WAHyB,QAGzBA,WAHyB;AAAA,wBAIzBC,KAJyB;AAAA,MAIzBA,KAJyB,2BAIjB,EAJiB;AAAA,8BAKzBC,WALyB;AAAA,MAKzBA,WALyB,iCAKX,EALW;AAAA,yBAMzBC,MANyB;AAAA,MAMzBA,MANyB,4BAMhB,KANgB;AAAA,+BAOzBC,YAPyB;AAAA,MAOzBA,YAPyB,kCAOV,KAPU;AAAA,MAQzBC,cARyB,QAQzBA,cARyB;AAAA,MASzBC,eATyB,QASzBA,eATyB;AAAA,MAUzBC,YAVyB,QAUzBA,YAVyB;AAAA,MAWtBC,IAXsB;;AAAA,SAazB,oBAAC,KAAD;AACI,IAAA,KAAK,EAAEP,KADX;AAEI,IAAA,SAAS,EAAEP,UAAU,CAAC,wBAAD,EAA2BK,SAA3B,EAAsC;AACvD,8CAAwCK;AADe,KAAtC,CAFzB;AAKI,IAAA,MAAM,EAAED,MALZ;AAMI,IAAA,cAAc,EAAEE;AANpB,KAQKH,WARL,EASI,oBAAC,eAAD;AACI,IAAA,eAAe,EAAEJ,eADrB;AAEI,IAAA,WAAW,EAAEE,WAFjB;AAGI,IAAA,YAAY,EAAEI,YAHlB;AAII,IAAA,mBAAmB,EAAEC,cAJzB;AAKI,IAAA,eAAe,EAAEC,eALrB;AAMI,IAAA,YAAY,EAAEC,YANlB;AAOI,IAAA,SAAS,EAAE,GAPf;AAQI,IAAA,UAAU,EAAE;AARhB,KASQC,IATR,EATJ,CAbyB;AAAA,CAA7B;;AAoCA,eAAeX,oBAAf","sourcesContent":["/* @flow */\nimport * as React from 'react';\nimport classNames from 'classnames';\n\nimport ContentExplorer from '../content-explorer';\nimport { Modal } from '../../../components/modal';\n\nimport type { BreadcrumbProps } from '../../../components/breadcrumb/Breadcrumb';\n\nimport './ContentExplorerModal.scss';\n\ntype Props = {\n breadcrumbProps?: BreadcrumbProps,\n className?: string,\n customInput?: React.ComponentType<any>,\n description?: string,\n isOpen?: boolean,\n isResponsive?: boolean,\n onRequestClose?: Function,\n onSelectItem?: (item: Object, index: number) => void,\n onSelectedClick?: () => void,\n title?: string,\n};\n\nconst ContentExplorerModal = ({\n breadcrumbProps = {},\n className = '',\n customInput,\n title = '',\n description = '',\n isOpen = false,\n isResponsive = false,\n onRequestClose,\n onSelectedClick,\n onSelectItem,\n ...rest\n}: Props) => (\n <Modal\n title={title}\n className={classNames('content-explorer-modal', className, {\n 'bdl-ContentExplorerModal--responsive': isResponsive,\n })}\n isOpen={isOpen}\n onRequestClose={onRequestClose}\n >\n {description}\n <ContentExplorer\n breadcrumbProps={breadcrumbProps}\n customInput={customInput}\n isResponsive={isResponsive}\n onCancelButtonClick={onRequestClose}\n onSelectedClick={onSelectedClick}\n onSelectItem={onSelectItem}\n listWidth={560}\n listHeight={285}\n {...rest}\n />\n </Modal>\n);\n\nexport default ContentExplorerModal;\n"],"file":"ContentExplorerModal.js"}
|
|
@@ -21,7 +21,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
21
21
|
import PropTypes from 'prop-types';
|
|
22
22
|
import React, { Component } from 'react';
|
|
23
23
|
import classNames from 'classnames';
|
|
24
|
-
import { ContentExplorerModePropType, FoldersPathPropType, ItemsPropType } from '../prop-types';
|
|
24
|
+
import { BreadcrumbPropType, ContentExplorerModePropType, FoldersPathPropType, ItemsPropType } from '../prop-types';
|
|
25
25
|
import ContentExplorerModal from '../content-explorer-modal';
|
|
26
26
|
import NewFolderModal from '../new-folder-modal';
|
|
27
27
|
|
|
@@ -92,6 +92,7 @@ function (_Component) {
|
|
|
92
92
|
key: "render",
|
|
93
93
|
value: function render() {
|
|
94
94
|
var _this$props = this.props,
|
|
95
|
+
breadcrumbProps = _this$props.breadcrumbProps,
|
|
95
96
|
className = _this$props.className,
|
|
96
97
|
headerActionsAccessory = _this$props.headerActionsAccessory,
|
|
97
98
|
modalTitle = _this$props.modalTitle,
|
|
@@ -130,6 +131,7 @@ function (_Component) {
|
|
|
130
131
|
return React.createElement("div", {
|
|
131
132
|
className: classNames('content-explorer-modal-container', className)
|
|
132
133
|
}, React.createElement(ContentExplorerModal, {
|
|
134
|
+
breadcrumbProps: breadcrumbProps,
|
|
133
135
|
className: isNewFolderModalOpen ? 'hidden' : '',
|
|
134
136
|
headerActionsAccessory: headerActionsAccessory,
|
|
135
137
|
title: modalTitle,
|
|
@@ -176,6 +178,9 @@ function (_Component) {
|
|
|
176
178
|
}(Component);
|
|
177
179
|
|
|
178
180
|
_defineProperty(ContentExplorerModalContainer, "propTypes", {
|
|
181
|
+
/** Breadcrumb component options */
|
|
182
|
+
breadcrumbProps: BreadcrumbPropType,
|
|
183
|
+
|
|
179
184
|
/** Adds class name. */
|
|
180
185
|
className: PropTypes.string,
|
|
181
186
|
|