box-ui-elements 16.1.0-beta.9 → 17.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/CONTRIBUTING.md +4 -0
- package/README.md +7 -1
- package/dist/explorer.css +1 -1
- package/dist/explorer.js +19 -19
- 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 -17
- package/dist/sharing.css +1 -1
- package/dist/sharing.js +16 -55
- package/dist/sidebar.css +1 -1
- package/dist/sidebar.js +17 -17
- package/dist/uploader.css +1 -1
- package/dist/uploader.js +12 -12
- package/es/api/Feed.js +85 -38
- package/es/api/Feed.js.flow +46 -1
- package/es/api/Feed.js.map +1 -1
- package/es/api/Item.js +16 -10
- package/es/api/Item.js.flow +7 -4
- package/es/api/Item.js.map +1 -1
- package/es/api/ThreadedComments.js +58 -23
- package/es/api/ThreadedComments.js.flow +40 -0
- package/es/api/ThreadedComments.js.map +1 -1
- package/es/common/types/feed.js +1 -1
- package/es/common/types/feed.js.flow +34 -0
- package/es/common/types/feed.js.map +1 -1
- package/es/components/avatar/Avatar.js +22 -5
- package/es/components/avatar/Avatar.js.flow +24 -7
- package/es/components/avatar/Avatar.js.map +1 -1
- package/es/components/avatar/Avatar.scss +42 -0
- package/es/components/avatar/Avatar.stories.js +58 -0
- package/es/components/avatar/Avatar.stories.js.map +1 -1
- package/es/components/avatar/messages.js +9 -0
- package/es/components/avatar/messages.js.map +1 -0
- package/es/components/badgeable/Badgeable.scss +1 -1
- package/es/components/breadcrumb/Breadcrumb.js +1 -1
- package/es/components/breadcrumb/Breadcrumb.js.flow +1 -1
- package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/es/components/button-group/ButtonGroup.scss +2 -2
- package/es/components/checkbox/Checkbox.js +5 -1
- package/es/components/checkbox/Checkbox.js.flow +7 -0
- package/es/components/checkbox/Checkbox.js.map +1 -1
- package/es/components/checkbox/Checkbox.scss +2 -2
- package/es/components/close-button/CloseButton.js +2 -2
- package/es/components/close-button/CloseButton.js.flow +2 -2
- package/es/components/close-button/CloseButton.js.map +1 -1
- package/es/components/contact-datalist-item/ContactDatalistItem.scss +1 -1
- package/es/components/date-picker/DatePicker.js +2 -2
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePicker.scss +1 -1
- package/es/components/draft-js-editor/DraftJSEditor.scss +1 -1
- package/es/components/dropdown-menu/DropdownMenu.js +5 -3
- package/es/components/dropdown-menu/DropdownMenu.js.flow +8 -2
- package/es/components/dropdown-menu/DropdownMenu.js.map +1 -1
- package/es/components/dropdown-menu/DropdownMenu.scss +6 -4
- package/es/components/error-mask/ErrorMask.scss +1 -1
- package/es/components/flyout/Flyout.js +9 -0
- package/es/components/flyout/Flyout.js.flow +13 -0
- package/es/components/flyout/Flyout.js.map +1 -1
- package/es/components/flyout/Flyout.scss +1 -1
- package/es/components/flyout/Overlay.js +2 -1
- package/es/components/flyout/Overlay.js.flow +2 -1
- package/es/components/flyout/Overlay.js.map +1 -1
- package/es/components/grid-view/GridView.js +3 -1
- package/es/components/grid-view/GridView.js.flow +3 -2
- package/es/components/grid-view/GridView.js.map +1 -1
- package/es/components/grid-view/GridViewSlider.js +5 -2
- package/es/components/grid-view/GridViewSlider.js.flow +5 -2
- package/es/components/grid-view/GridViewSlider.js.map +1 -1
- package/es/components/grid-view/GridViewSlider.scss +0 -10
- package/es/components/inline-error/InlineError.stories.js +12 -0
- package/es/components/inline-error/InlineError.stories.js.flow +9 -0
- package/es/components/inline-error/InlineError.stories.js.map +1 -0
- package/es/components/inline-notice/InlineNotice.stories.js +42 -0
- package/es/components/inline-notice/InlineNotice.stories.js.flow +59 -0
- package/es/components/inline-notice/InlineNotice.stories.js.map +1 -0
- package/es/components/label/InfoIconWithTooltip.js +2 -2
- package/es/components/label/InfoIconWithTooltip.js.map +1 -1
- package/es/components/label/Label.scss +1 -1
- package/es/components/media-query/stories/MediaQuery.stories.js +4 -2
- package/es/components/media-query/stories/MediaQuery.stories.js.flow +11 -2
- package/es/components/media-query/stories/MediaQuery.stories.js.map +1 -1
- package/es/components/media-query/types.js.flow +1 -0
- package/es/components/media-query/types.js.map +1 -1
- package/es/components/media-query/useMediaQuery.js +3 -1
- package/es/components/media-query/useMediaQuery.js.flow +3 -0
- package/es/components/media-query/useMediaQuery.js.map +1 -1
- package/es/components/menu/MenuHeader.scss +1 -1
- package/es/components/menu/SubmenuItem.js +3 -1
- package/es/components/menu/SubmenuItem.js.map +1 -1
- package/es/components/modal/Modal.scss +15 -0
- package/es/components/modal/ModalDialog.js +40 -10
- package/es/components/modal/ModalDialog.js.flow +44 -5
- package/es/components/modal/ModalDialog.js.map +1 -1
- package/es/components/nav-sidebar/NavSidebar.scss +1 -1
- package/es/components/nav-sidebar/NavSidebar.stories.js +37 -0
- package/es/components/nav-sidebar/NavSidebar.stories.js.flow +54 -0
- package/es/components/nav-sidebar/NavSidebar.stories.js.map +1 -0
- package/es/components/pill-cloud/PillCloud.stories.js +88 -0
- package/es/components/pill-cloud/PillCloud.stories.js.flow +48 -0
- package/es/components/pill-cloud/PillCloud.stories.js.map +1 -0
- package/es/components/pill-selector-dropdown/PillSelector.js +20 -11
- package/es/components/pill-selector-dropdown/PillSelector.js.flow +26 -4
- package/es/components/pill-selector-dropdown/PillSelector.js.map +1 -1
- package/es/components/pill-selector-dropdown/PillSelector.scss +4 -0
- package/es/components/pill-selector-dropdown/PillSelectorDropdown.js +1 -0
- package/es/components/pill-selector-dropdown/PillSelectorDropdown.js.flow +1 -0
- package/es/components/pill-selector-dropdown/PillSelectorDropdown.js.map +1 -1
- package/es/components/pill-selector-dropdown/_mixins.scss +1 -1
- package/es/components/popper/PopperComponent.js +3 -1
- package/es/components/popper/PopperComponent.js.flow +3 -2
- package/es/components/popper/PopperComponent.js.map +1 -1
- package/es/components/radio/RadioButton.scss +1 -1
- package/es/components/search-form/SearchForm.js +21 -11
- package/es/components/search-form/SearchForm.js.flow +30 -6
- package/es/components/search-form/SearchForm.js.map +1 -1
- package/es/components/select-button/SelectButton.js +6 -2
- package/es/components/select-button/SelectButton.js.flow +23 -2
- package/es/components/select-button/SelectButton.js.map +1 -1
- package/es/components/select-field/BaseSelectField.js +6 -2
- package/es/components/select-field/BaseSelectField.js.flow +19 -2
- package/es/components/select-field/BaseSelectField.js.map +1 -1
- package/es/components/select-field/SelectField.scss +8 -1
- package/es/components/selector-dropdown/SelectorDropdown.js +11 -3
- package/es/components/selector-dropdown/SelectorDropdown.js.flow +22 -5
- package/es/components/selector-dropdown/SelectorDropdown.js.map +1 -1
- package/es/components/selector-dropdown/SelectorDropdown.scss +2 -2
- package/es/components/table/makeSelectable.js +38 -7
- package/es/components/table/makeSelectable.js.flow +33 -6
- package/es/components/table/makeSelectable.js.map +1 -1
- package/es/components/text-area/TextArea.scss +1 -1
- package/es/components/text-input/TextInput.scss +1 -1
- package/es/components/text-input-with-copy-button/TextInputWithCopyButton.js +3 -2
- package/es/components/text-input-with-copy-button/TextInputWithCopyButton.js.flow +4 -1
- package/es/components/text-input-with-copy-button/TextInputWithCopyButton.js.map +1 -1
- package/es/components/text-input-with-copy-button/TextInputWithCopyButton.scss +11 -7
- package/es/components/thumbnail-card/ThumbnailCard.scss +1 -1
- package/es/components/time/ReadableTime.stories.js +46 -0
- package/es/components/time/ReadableTime.stories.js.flow +56 -0
- package/es/components/time/ReadableTime.stories.js.map +1 -0
- package/es/components/toggle/Toggle.js +11 -4
- package/es/components/toggle/Toggle.js.flow +16 -5
- package/es/components/toggle/Toggle.js.map +1 -1
- package/es/components/toggle/Toggle.scss +3 -3
- package/es/components/tooltip/CloseButton.js +24 -0
- package/es/components/tooltip/CloseButton.js.map +1 -0
- package/es/components/tooltip/Tooltip.js +4 -10
- package/es/components/tooltip/Tooltip.js.map +1 -1
- package/es/constants.js +7 -0
- package/es/constants.js.flow +7 -0
- package/es/constants.js.map +1 -1
- package/es/elements/common/_variables.scss +7 -2
- package/es/elements/common/base.scss +14 -0
- package/es/elements/common/breadcrumbs/Breadcrumb.scss +1 -1
- package/es/elements/common/breadcrumbs/BreadcrumbDropdown.scss +1 -1
- package/es/elements/common/breadcrumbs/InlineBreadcrumbs.scss +2 -2
- package/es/elements/common/header/Header.js +6 -2
- package/es/elements/common/header/Header.js.flow +7 -2
- package/es/elements/common/header/Header.js.map +1 -1
- package/es/elements/common/header/Logo.js +2 -1
- package/es/elements/common/header/Logo.js.flow +5 -1
- package/es/elements/common/header/Logo.js.map +1 -1
- package/es/elements/common/item/IconCell.js +68 -0
- package/es/elements/common/item/IconCell.js.flow +55 -0
- package/es/elements/common/item/IconCell.js.map +1 -0
- package/es/elements/common/item/ItemDetails.scss +1 -1
- package/es/elements/common/item/iconCellRenderer.js +5 -36
- package/es/elements/common/item/iconCellRenderer.js.flow +6 -22
- package/es/elements/common/item/iconCellRenderer.js.map +1 -1
- package/es/elements/common/messages.js +28 -0
- package/es/elements/common/messages.js.flow +35 -0
- package/es/elements/common/messages.js.map +1 -1
- package/es/elements/common/modal.scss +0 -2
- package/es/elements/common/share-access-select/ShareAccessSelect.scss +1 -1
- package/es/elements/common/sub-header/AddButton.js +4 -1
- package/es/elements/common/sub-header/AddButton.js.flow +2 -1
- package/es/elements/common/sub-header/AddButton.js.map +1 -1
- package/es/elements/common/sub-header/Sort.js +4 -10
- package/es/elements/common/sub-header/Sort.js.flow +7 -6
- package/es/elements/common/sub-header/Sort.js.map +1 -1
- package/es/elements/common/sub-header/SortButton.js +19 -6
- package/es/elements/common/sub-header/SortButton.js.flow +23 -10
- package/es/elements/common/sub-header/SortButton.js.map +1 -1
- package/es/elements/common/sub-header/ViewModeChangeButton.js +3 -3
- package/es/elements/common/sub-header/ViewModeChangeButton.js.flow +3 -3
- package/es/elements/common/sub-header/ViewModeChangeButton.js.map +1 -1
- package/es/elements/content-explorer/Content.js.flow +2 -1
- package/es/elements/content-explorer/Content.js.map +1 -1
- package/es/elements/content-explorer/ContentExplorer.js +63 -20
- package/es/elements/content-explorer/ContentExplorer.js.flow +50 -13
- package/es/elements/content-explorer/ContentExplorer.js.map +1 -1
- package/es/elements/content-explorer/ItemGrid.js +55 -7
- package/es/elements/content-explorer/ItemGrid.js.flow +60 -9
- package/es/elements/content-explorer/ItemGrid.js.map +1 -1
- package/es/elements/content-explorer/ItemGridThumbnail.js +5 -2
- package/es/elements/content-explorer/ItemGridThumbnail.js.flow +5 -2
- package/es/elements/content-explorer/ItemGridThumbnail.js.map +1 -1
- package/es/elements/content-explorer/ItemList.js +4 -2
- package/es/elements/content-explorer/ItemList.js.flow +4 -2
- package/es/elements/content-explorer/ItemList.js.map +1 -1
- package/es/elements/content-explorer/ItemList.scss +16 -8
- package/es/elements/content-explorer/MoreOptions.js +6 -4
- package/es/elements/content-explorer/MoreOptions.js.flow +11 -4
- package/es/elements/content-explorer/MoreOptions.js.map +1 -1
- package/es/elements/content-open-with/ContentOpenWith.scss +1 -1
- package/es/elements/content-picker/Footer.js +15 -6
- package/es/elements/content-picker/Footer.js.flow +62 -51
- package/es/elements/content-picker/Footer.js.map +1 -1
- package/es/elements/content-picker/ItemList.scss +1 -1
- package/es/elements/content-preview/ContentPreview.js +44 -12
- package/es/elements/content-preview/ContentPreview.js.flow +43 -6
- package/es/elements/content-preview/ContentPreview.js.map +1 -1
- package/es/elements/content-preview/preview-header/PreviewHeader.scss +1 -1
- package/es/elements/content-sharing/ContentSharing.js +2 -2
- package/es/elements/content-sharing/ContentSharing.js.flow +2 -2
- package/es/elements/content-sharing/ContentSharing.js.map +1 -1
- package/es/elements/content-sidebar/ActivitySidebar.js +291 -62
- package/es/elements/content-sidebar/ActivitySidebar.js.flow +262 -17
- package/es/elements/content-sidebar/ActivitySidebar.js.map +1 -1
- package/es/elements/content-sidebar/ActivitySidebar.scss +7 -0
- package/es/elements/content-sidebar/ActivitySidebarFilter.js +36 -18
- package/es/elements/content-sidebar/ActivitySidebarFilter.js.flow +64 -23
- package/es/elements/content-sidebar/ActivitySidebarFilter.js.map +1 -1
- package/es/elements/content-sidebar/AddTaskMenu.scss +1 -1
- package/es/elements/content-sidebar/SidebarContent.js +2 -2
- package/es/elements/content-sidebar/SidebarContent.js.flow +1 -1
- package/es/elements/content-sidebar/SidebarContent.js.map +1 -1
- package/es/elements/content-sidebar/SidebarContent.scss +3 -3
- package/es/elements/content-sidebar/SidebarNav.js +3 -17
- package/es/elements/content-sidebar/SidebarNav.js.flow +3 -15
- package/es/elements/content-sidebar/SidebarNav.js.map +1 -1
- package/es/elements/content-sidebar/SidebarNavSign.js +48 -69
- package/es/elements/content-sidebar/SidebarNavSign.js.map +1 -1
- package/es/elements/content-sidebar/SidebarNavSign.scss +3 -25
- package/es/elements/content-sidebar/SidebarNavSignButton.js +79 -0
- package/es/elements/content-sidebar/SidebarNavSignButton.js.map +1 -0
- package/es/elements/content-sidebar/SidebarNavSignButton.scss +27 -0
- package/es/elements/content-sidebar/activity-feed/Avatar.js +4 -2
- package/es/elements/content-sidebar/activity-feed/Avatar.js.flow +5 -2
- package/es/elements/content-sidebar/activity-feed/Avatar.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js +61 -15
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js.flow +73 -28
- 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 +122 -53
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js.flow +80 -13
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.scss +11 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.js +9 -2
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.scss +28 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js +27 -7
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js.flow +48 -29
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.scss +69 -6
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js +35 -4
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js.flow +42 -5
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.scss +15 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js +21 -8
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js.flow +30 -5
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.scss +4 -7
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js +45 -15
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js.flow +43 -13
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.scss +26 -3
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js +29 -48
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js.flow +67 -56
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.scss +1 -1
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js +14 -53
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js.flow +16 -51
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotation-thread/errors.js +3 -2
- package/es/elements/content-sidebar/activity-feed/annotation-thread/errors.js.flow +5 -4
- package/es/elements/content-sidebar/activity-feed/annotation-thread/errors.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotation-thread/types.js +2 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/types.js.flow +7 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/types.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js +29 -17
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js.flow +32 -10
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationThread.js +317 -63
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationThread.js.flow +249 -55
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationThread.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js +27 -93
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js.flow +42 -83
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js +15 -6
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js.flow +27 -12
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.scss +11 -8
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityLink.scss +1 -1
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js +3 -1
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js.flow +3 -1
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.scss +5 -0
- package/es/elements/content-sidebar/activity-feed/comment/BaseComment.js +385 -0
- package/es/elements/content-sidebar/activity-feed/comment/BaseComment.js.flow +456 -0
- package/es/elements/content-sidebar/activity-feed/comment/BaseComment.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/comment/BaseComment.scss +30 -0
- package/es/elements/content-sidebar/activity-feed/comment/Comment.js +53 -9
- package/es/elements/content-sidebar/activity-feed/comment/Comment.js.flow +42 -5
- package/es/elements/content-sidebar/activity-feed/comment/Comment.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/comment/Comment.scss +10 -0
- package/es/elements/content-sidebar/activity-feed/comment/CreateReply.js +54 -0
- package/es/elements/content-sidebar/activity-feed/comment/CreateReply.js.flow +72 -0
- package/es/elements/content-sidebar/activity-feed/comment/CreateReply.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/comment/CreateReply.scss +21 -0
- package/es/elements/content-sidebar/activity-feed/comment/Replies.scss +41 -0
- package/es/elements/content-sidebar/activity-feed/comment/RepliesToggle.js +44 -0
- package/es/elements/content-sidebar/activity-feed/comment/RepliesToggle.js.flow +41 -0
- package/es/elements/content-sidebar/activity-feed/comment/RepliesToggle.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/comment/RepliesToggle.scss +6 -0
- package/es/elements/content-sidebar/activity-feed/comment/messages.js +16 -0
- package/es/elements/content-sidebar/activity-feed/comment/messages.js.flow +20 -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 +1 -1
- package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js.flow +3 -3
- package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.scss +1 -1
- package/es/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.scss +1 -1
- package/es/elements/content-sidebar/activity-feed/common/activity-message/messages.js +1 -1
- package/es/elements/content-sidebar/activity-feed/common/activity-message/messages.js.flow +2 -2
- 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.scss +1 -1
- package/es/elements/content-sidebar/activity-feed/task-form/TaskForm.js +1 -0
- package/es/elements/content-sidebar/activity-feed/task-form/TaskForm.js.flow +1 -0
- package/es/elements/content-sidebar/activity-feed/task-form/TaskForm.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/task-new/AssigneeDetails.scss +1 -1
- package/es/elements/content-sidebar/activity-feed/task-new/AvatarGroupAvatar.js +7 -8
- package/es/elements/content-sidebar/activity-feed/task-new/AvatarGroupAvatar.js.flow +11 -7
- package/es/elements/content-sidebar/activity-feed/task-new/AvatarGroupAvatar.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/task-new/AvatarGroupAvatar.scss +1 -5
- package/es/elements/content-sidebar/activity-feed/task-new/Task.js +2 -5
- package/es/elements/content-sidebar/activity-feed/task-new/Task.js.flow +1 -2
- package/es/elements/content-sidebar/activity-feed/task-new/Task.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/task-new/Task.scss +1 -8
- package/es/elements/content-sidebar/messages.js +22 -2
- package/es/elements/content-sidebar/messages.js.flow +29 -4
- package/es/elements/content-sidebar/messages.js.map +1 -1
- package/es/elements/content-sidebar/skills/timeline/Timeline.scss +1 -1
- package/es/elements/content-sidebar/skills/transcript/Transcript.scss +1 -1
- package/es/elements/content-sidebar/versions/VersionsGroup.scss +1 -1
- package/es/elements/content-sidebar/versions/VersionsItem.scss +3 -3
- package/es/elements/content-uploader/Footer.js +9 -3
- package/es/elements/content-uploader/Footer.js.flow +23 -3
- package/es/elements/content-uploader/Footer.js.map +1 -1
- package/es/elements/content-uploader/Footer.scss +0 -1
- package/es/elements/content-uploader/ItemAction.js +8 -4
- package/es/elements/content-uploader/ItemAction.js.flow +6 -3
- package/es/elements/content-uploader/ItemAction.js.map +1 -1
- package/es/elements/content-uploader/ItemRemove.js +11 -6
- package/es/elements/content-uploader/ItemRemove.js.flow +18 -6
- package/es/elements/content-uploader/ItemRemove.js.map +1 -1
- package/es/elements/content-uploader/UploadInput.js +21 -9
- package/es/elements/content-uploader/UploadInput.js.flow +19 -9
- package/es/elements/content-uploader/UploadInput.js.map +1 -1
- package/es/features/advanced-content-insights/AdvancedContentInsightsToggle.js +44 -0
- package/es/features/advanced-content-insights/AdvancedContentInsightsToggle.js.map +1 -0
- package/es/features/advanced-content-insights/AdvancedContentInsightsToggle.scss +19 -0
- package/es/features/advanced-content-insights/messages.js +17 -0
- package/es/features/advanced-content-insights/messages.js.map +1 -0
- package/es/features/classification/classificationColorsMap.js +1 -1
- package/es/features/classification/classificationColorsMap.js.flow +1 -1
- package/es/features/classification/classificationColorsMap.js.map +1 -1
- package/es/features/collaborator-avatars/CollaboratorAvatarItem.js +13 -9
- package/es/features/collaborator-avatars/CollaboratorAvatarItem.js.flow +11 -8
- package/es/features/collaborator-avatars/CollaboratorAvatarItem.js.map +1 -1
- package/es/features/collaborator-avatars/CollaboratorAvatars.scss +1 -1
- package/es/features/collaborator-avatars/CollaboratorList.js +4 -5
- package/es/features/collaborator-avatars/CollaboratorList.js.flow +3 -4
- package/es/features/collaborator-avatars/CollaboratorList.js.map +1 -1
- package/es/features/collaborator-avatars/CollaboratorListItem.js +7 -9
- package/es/features/collaborator-avatars/CollaboratorListItem.js.flow +7 -13
- package/es/features/collaborator-avatars/CollaboratorListItem.js.map +1 -1
- package/es/features/collaborator-avatars/CollaboratorListItem.scss +7 -3
- package/es/features/collapsible-sidebar/CollapsibleSidebar.js +3 -2
- package/es/features/collapsible-sidebar/CollapsibleSidebar.js.flow +5 -2
- package/es/features/collapsible-sidebar/CollapsibleSidebar.js.map +1 -1
- package/es/features/collapsible-sidebar/CollapsibleSidebar.scss +4 -7
- package/es/features/collapsible-sidebar/CollapsibleSidebarLogo.js +3 -1
- package/es/features/collapsible-sidebar/CollapsibleSidebarLogo.js.flow +15 -11
- package/es/features/collapsible-sidebar/CollapsibleSidebarLogo.js.map +1 -1
- package/es/features/content-explorer/content-explorer/ContentExplorer.js +146 -58
- package/es/features/content-explorer/content-explorer/ContentExplorer.js.flow +97 -20
- package/es/features/content-explorer/content-explorer/ContentExplorer.js.map +1 -1
- package/es/features/content-explorer/content-explorer/ContentExplorer.scss +67 -8
- package/es/features/content-explorer/content-explorer/ContentExplorerActionButtons.js +58 -11
- package/es/features/content-explorer/content-explorer/ContentExplorerActionButtons.js.flow +53 -13
- package/es/features/content-explorer/content-explorer/ContentExplorerActionButtons.js.map +1 -1
- package/es/features/content-explorer/content-explorer/ContentExplorerFolderTreeBreadcrumbs.js +68 -0
- package/es/features/content-explorer/content-explorer/ContentExplorerFolderTreeBreadcrumbs.js.flow +82 -0
- package/es/features/content-explorer/content-explorer/ContentExplorerFolderTreeBreadcrumbs.js.map +1 -0
- package/es/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js +13 -2
- package/es/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js.flow +22 -7
- package/es/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js.map +1 -1
- package/es/features/content-explorer/content-explorer/ContentExplorerIncludeSubfolders.js +33 -0
- package/es/features/content-explorer/content-explorer/ContentExplorerIncludeSubfolders.js.flow +30 -0
- package/es/features/content-explorer/content-explorer/ContentExplorerIncludeSubfolders.js.map +1 -0
- package/es/features/content-explorer/content-explorer/ContentExplorerSelectAll.js +16 -10
- package/es/features/content-explorer/content-explorer/ContentExplorerSelectAll.js.flow +34 -20
- package/es/features/content-explorer/content-explorer/ContentExplorerSelectAll.js.map +1 -1
- package/es/features/content-explorer/content-explorer/constants.js +7 -0
- package/es/features/content-explorer/content-explorer/constants.js.flow +6 -0
- package/es/features/content-explorer/content-explorer/constants.js.map +1 -0
- package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js +1 -0
- package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js.flow +13 -0
- package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js.map +1 -1
- package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js +42 -0
- package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js.flow +31 -0
- package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js.map +1 -1
- package/es/features/content-explorer/item-list/ItemList.js +20 -5
- package/es/features/content-explorer/item-list/ItemList.js.flow +17 -1
- package/es/features/content-explorer/item-list/ItemList.js.map +1 -1
- package/es/features/content-explorer/item-list/ItemList.scss +1 -1
- package/es/features/content-explorer/item-list/ItemListButton.js +4 -1
- package/es/features/content-explorer/item-list/ItemListButton.js.flow +10 -2
- package/es/features/content-explorer/item-list/ItemListButton.js.map +1 -1
- package/es/features/content-explorer/item-list/ItemListIcon.js +12 -45
- package/es/features/content-explorer/item-list/ItemListIcon.js.flow +5 -33
- package/es/features/content-explorer/item-list/ItemListIcon.js.map +1 -1
- package/es/features/content-explorer/item-list/ItemListName.js +2 -2
- package/es/features/content-explorer/item-list/ItemListName.js.flow +3 -2
- package/es/features/content-explorer/item-list/ItemListName.js.map +1 -1
- package/es/features/content-explorer/messages.js +23 -19
- package/es/features/content-explorer/messages.js.flow +41 -24
- package/es/features/content-explorer/messages.js.map +1 -1
- package/es/features/content-explorer/prop-types.js +2 -2
- package/es/features/content-explorer/prop-types.js.flow +2 -2
- package/es/features/content-explorer/prop-types.js.map +1 -1
- package/es/features/content-insights/_mixins.scss +1 -1
- package/es/features/content-insights/charts/bar/Bar.js +21 -2
- package/es/features/content-insights/charts/bar/Bar.js.map +1 -1
- package/es/features/content-insights/charts/bar/BarChart.js +6 -3
- package/es/features/content-insights/charts/bar/BarChart.js.map +1 -1
- package/es/features/invite-collaborators-modal/InviteCollaboratorsModal.scss +1 -1
- package/es/features/message-center/components/templates/common/styles/MessageFooter.scss +1 -1
- package/es/features/metadata-based-view/IconWithTooltip.js +4 -4
- package/es/features/metadata-based-view/IconWithTooltip.js.flow +4 -4
- package/es/features/metadata-based-view/IconWithTooltip.js.map +1 -1
- package/es/features/metadata-based-view/MetadataBasedItemList.scss +1 -1
- package/es/features/metadata-instance-editor/CascadePolicy.scss +1 -1
- package/es/features/metadata-instance-editor/TemplateDropdown.js +9 -21
- package/es/features/metadata-instance-editor/TemplateDropdown.js.flow +4 -10
- package/es/features/metadata-instance-editor/TemplateDropdown.js.map +1 -1
- package/es/features/metadata-instance-editor/TemplateDropdown.scss +2 -2
- package/es/features/metadata-instance-fields/EnumMetadataField.scss +2 -2
- package/es/features/metadata-instance-fields/MultiSelectMetadataField.scss +1 -1
- package/es/features/metadata-instance-fields/ReadOnlyMetadataField.scss +2 -2
- package/es/features/presence/PresenceAvatarList.scss +1 -1
- package/es/features/presence/PresenceCollaborator.scss +1 -1
- package/es/features/query-bar/styles/Condition.scss +2 -2
- package/es/features/quick-search/QuickSearchItem.js +4 -3
- package/es/features/quick-search/QuickSearchItem.js.flow +4 -3
- package/es/features/quick-search/QuickSearchItem.js.map +1 -1
- package/es/features/shared-link-settings-modal/ExpirationSection.js +5 -0
- package/es/features/shared-link-settings-modal/ExpirationSection.js.flow +4 -0
- package/es/features/shared-link-settings-modal/ExpirationSection.js.map +1 -1
- package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.js +9 -3
- package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.js.flow +9 -5
- package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.js.map +1 -1
- package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.scss +3 -3
- package/es/features/shared-link-settings-modal/VanityNameSection.js +2 -2
- package/es/features/shared-link-settings-modal/VanityNameSection.js.flow +2 -2
- package/es/features/shared-link-settings-modal/VanityNameSection.js.map +1 -1
- package/es/features/unified-share-modal/InviteePermissionsMenu.js +2 -1
- package/es/features/unified-share-modal/InviteePermissionsMenu.js.flow +1 -0
- package/es/features/unified-share-modal/InviteePermissionsMenu.js.map +1 -1
- package/es/features/unified-share-modal/SharedLinkAccessMenu.js +2 -1
- package/es/features/unified-share-modal/SharedLinkAccessMenu.js.flow +1 -0
- package/es/features/unified-share-modal/SharedLinkAccessMenu.js.map +1 -1
- package/es/features/unified-share-modal/SharedLinkPermissionMenu.js +2 -1
- package/es/features/unified-share-modal/SharedLinkPermissionMenu.js.flow +1 -0
- package/es/features/unified-share-modal/SharedLinkPermissionMenu.js.map +1 -1
- package/es/features/unified-share-modal/SharedLinkSection.js +18 -18
- package/es/features/unified-share-modal/SharedLinkSection.js.flow +30 -38
- package/es/features/unified-share-modal/SharedLinkSection.js.map +1 -1
- package/es/features/unified-share-modal/UnifiedShareForm.js +27 -16
- package/es/features/unified-share-modal/UnifiedShareForm.js.flow +38 -25
- package/es/features/unified-share-modal/UnifiedShareForm.js.map +1 -1
- package/es/features/unified-share-modal/UnifiedShareModal.js +10 -1
- package/es/features/unified-share-modal/UnifiedShareModal.js.flow +9 -1
- package/es/features/unified-share-modal/UnifiedShareModal.js.map +1 -1
- package/es/features/unified-share-modal/UnifiedShareModal.scss +24 -13
- package/es/features/unified-share-modal/flowTypes.js.flow +10 -2
- package/es/features/unified-share-modal/flowTypes.js.map +1 -1
- package/es/features/unified-share-modal/messages.js +12 -4
- package/es/features/unified-share-modal/messages.js.flow +17 -5
- package/es/features/unified-share-modal/messages.js.map +1 -1
- package/es/features/virtualized-table/VirtualizedTable.scss +1 -1
- package/es/features/virtualized-table-renderers/_mixins.scss +1 -1
- package/es/icons/badges/MetadataDefaultBadge.js +3 -3
- package/es/icons/badges/MetadataDefaultBadge.js.flow +3 -3
- package/es/icons/badges/MetadataDefaultBadge.js.map +1 -1
- package/es/icons/general/IconAnyTask.js +2 -2
- package/es/icons/general/IconAnyTask.js.flow +2 -2
- package/es/icons/general/IconAnyTask.js.map +1 -1
- package/es/icons/general/IconEdit.js +2 -1
- package/es/icons/general/IconEdit.js.flow +2 -1
- package/es/icons/general/IconEdit.js.map +1 -1
- package/es/icons/metadata-view/IconMetadataView.js +2 -1
- package/es/icons/metadata-view/IconMetadataView.js.flow +2 -1
- package/es/icons/metadata-view/IconMetadataView.js.map +1 -1
- package/es/icons/two-toned/IconAnnotation.js +36 -0
- package/es/icons/two-toned/IconAnnotation.js.flow +27 -0
- package/es/icons/two-toned/IconAnnotation.js.map +1 -0
- package/es/icons/two-toned/_IconAnnotation.mixins.scss +9 -0
- package/es/src/components/avatar/Avatar.d.ts +18 -2
- package/es/src/components/avatar/Avatar.stories.d.ts +7 -2
- package/es/src/components/avatar/messages.d.ts +8 -0
- package/es/src/components/checkbox/Checkbox.d.ts +4 -1
- package/es/src/components/checkbox/Checkbox.stories.d.ts +1 -1
- package/es/src/components/tooltip/CloseButton.d.ts +14 -0
- package/es/src/components/tooltip/__tests__/CloseButton.test.d.ts +1 -0
- package/es/src/elements/content-sidebar/SidebarNavSign.d.ts +2 -24
- package/es/src/elements/content-sidebar/SidebarNavSignButton.d.ts +25 -0
- package/es/src/elements/content-sidebar/__tests__/SidebarNavSignButton.test.d.ts +1 -0
- package/es/src/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.d.ts +3 -0
- package/es/src/features/advanced-content-insights/AdvancedContentInsightsToggle.d.ts +10 -0
- package/es/src/features/advanced-content-insights/__tests__/AdvancedContentInsightsToggle.test.d.ts +1 -0
- package/es/src/features/advanced-content-insights/messages.d.ts +18 -0
- package/es/src/features/content-insights/charts/bar/Bar.d.ts +6 -2
- package/es/src/features/content-insights/charts/bar/BarChart.d.ts +7 -2
- package/es/src/icons/two-toned/IconAnnotation.d.ts +3 -0
- package/es/src/icons/two-toned/__tests__/IconAnnotation.test.d.ts +1 -0
- package/es/src/styles/typography.stories.d.ts +8 -0
- package/es/src/styles/variables.d.ts +1 -1
- package/es/styles/_deprecated.scss +1 -0
- package/es/styles/_inputs.scss +2 -3
- package/es/styles/common/_buttons.scss +2 -2
- package/es/styles/common/_forms.scss +2 -0
- package/es/styles/common/_links.scss +1 -1
- package/es/styles/constants/_colors.scss +1 -1
- package/es/styles/constants/_themes.scss +1 -1
- package/es/styles/typography.stories.js +55 -0
- package/es/styles/typography.stories.js.map +1 -0
- package/es/styles/typography.stories.scss +60 -0
- package/es/styles/variables.js +2 -2
- package/es/styles/variables.js.flow +2 -2
- package/es/styles/variables.js.map +1 -1
- package/es/utils/createTheme.js +2 -2
- package/es/utils/createTheme.js.flow +2 -2
- package/es/utils/createTheme.js.map +1 -1
- package/i18n/bn-IN.js +46 -22
- package/i18n/bn-IN.properties +79 -31
- package/i18n/da-DK.js +46 -22
- package/i18n/da-DK.properties +79 -31
- package/i18n/de-DE.js +45 -21
- package/i18n/de-DE.properties +78 -30
- package/i18n/en-AU.js +33 -9
- package/i18n/en-AU.properties +66 -18
- package/i18n/en-CA.js +32 -8
- package/i18n/en-CA.properties +65 -17
- package/i18n/en-GB.js +33 -9
- package/i18n/en-GB.properties +66 -18
- package/i18n/en-US.js +32 -8
- package/i18n/en-US.properties +65 -17
- package/i18n/en-x-pseudo.js +39 -8
- package/i18n/es-419.js +46 -22
- package/i18n/es-419.properties +79 -31
- package/i18n/es-ES.js +46 -22
- package/i18n/es-ES.properties +79 -31
- package/i18n/fi-FI.js +45 -21
- package/i18n/fi-FI.properties +78 -30
- package/i18n/fr-CA.js +44 -20
- package/i18n/fr-CA.properties +78 -30
- package/i18n/fr-FR.js +44 -20
- package/i18n/fr-FR.properties +78 -30
- package/i18n/hi-IN.js +46 -22
- package/i18n/hi-IN.properties +79 -31
- package/i18n/it-IT.js +45 -21
- package/i18n/it-IT.properties +78 -30
- package/i18n/ja-JP.js +55 -31
- package/i18n/ja-JP.properties +88 -40
- package/i18n/ko-KR.js +44 -20
- package/i18n/ko-KR.properties +78 -30
- package/i18n/nb-NO.js +45 -21
- package/i18n/nb-NO.properties +78 -30
- package/i18n/nl-NL.js +46 -22
- package/i18n/nl-NL.properties +79 -31
- package/i18n/pl-PL.js +45 -21
- package/i18n/pl-PL.properties +78 -30
- package/i18n/pt-BR.js +45 -21
- package/i18n/pt-BR.properties +78 -30
- package/i18n/ru-RU.js +45 -21
- package/i18n/ru-RU.properties +78 -30
- package/i18n/sv-SE.js +46 -22
- package/i18n/sv-SE.properties +79 -31
- package/i18n/tr-TR.js +45 -21
- package/i18n/tr-TR.properties +78 -30
- package/i18n/zh-CN.js +45 -21
- package/i18n/zh-CN.properties +78 -30
- package/i18n/zh-TW.js +45 -21
- package/i18n/zh-TW.properties +78 -30
- package/package.json +3 -3
- package/src/api/Feed.js +46 -1
- package/src/api/Item.js +7 -4
- package/src/api/ThreadedComments.js +40 -0
- package/src/api/__tests__/Feed.test.js +48 -0
- package/src/api/__tests__/Item.test.js +14 -0
- package/src/api/__tests__/ThreadedComments.test.js +46 -0
- package/src/common/types/feed.js +34 -0
- package/src/components/avatar/Avatar.js.flow +24 -7
- package/src/components/avatar/Avatar.scss +42 -0
- package/src/components/avatar/Avatar.stories.tsx +45 -0
- package/src/components/avatar/Avatar.tsx +39 -9
- package/src/components/avatar/__tests__/Avatar.test.tsx +39 -29
- package/src/components/avatar/messages.ts +11 -0
- package/src/components/badgeable/Badgeable.scss +1 -1
- package/src/components/breadcrumb/Breadcrumb.js +1 -1
- package/src/components/breadcrumb/__tests__/Breadcrumb.test.js +1 -1
- package/src/components/button-group/ButtonGroup.scss +2 -2
- package/src/components/checkbox/Checkbox.js.flow +7 -0
- package/src/components/checkbox/Checkbox.scss +2 -2
- package/src/components/checkbox/Checkbox.tsx +7 -0
- package/src/components/checkbox/__tests__/Checkbox.test.tsx +19 -2
- package/src/components/close-button/CloseButton.js.flow +2 -2
- package/src/components/close-button/CloseButton.tsx +2 -2
- package/src/components/contact-datalist-item/ContactDatalistItem.scss +1 -1
- package/src/components/date-picker/DatePicker.scss +1 -1
- package/src/components/date-picker/DatePicker.tsx +2 -2
- package/src/components/date-picker/__tests__/DatePicker.test.tsx +4 -4
- package/src/components/draft-js-editor/DraftJSEditor.scss +1 -1
- package/src/components/dropdown-menu/DropdownMenu.js +8 -2
- package/src/components/dropdown-menu/DropdownMenu.scss +6 -4
- package/src/components/dropdown-menu/__tests__/DropdownMenu.test.js +18 -0
- package/src/components/error-mask/ErrorMask.scss +1 -1
- package/src/components/flyout/Flyout.js +13 -0
- package/src/components/flyout/Flyout.scss +1 -1
- package/src/components/flyout/Overlay.js +2 -1
- package/src/components/flyout/__tests__/Flyout.test.js +22 -1
- package/src/components/flyout/__tests__/Overlay.test.js +1 -1
- package/src/components/grid-view/GridView.js +3 -2
- package/src/components/grid-view/GridViewSlider.js +5 -2
- package/src/components/grid-view/GridViewSlider.scss +0 -10
- package/src/components/grid-view/__tests__/GridViewSlider.test.js +35 -2
- package/src/components/grid-view/__tests__/__snapshots__/GridView.test.js.snap +2 -0
- package/src/components/grid-view/__tests__/__snapshots__/GridViewSlider.test.js.snap +38 -13
- package/src/components/inline-error/InlineError.stories.js +9 -0
- package/src/components/inline-error/InlineError.stories.md +3 -0
- package/src/components/inline-notice/InlineNotice.stories.js +59 -0
- package/src/components/inline-notice/InlineNotice.stories.md +1 -0
- package/src/components/label/InfoIconWithTooltip.tsx +2 -2
- package/src/components/label/Label.scss +1 -1
- package/src/components/label/__tests__/__snapshots__/InfoIconWithTooltip.test.tsx.snap +1 -1
- package/src/components/media-query/__tests__/withMediaQuery.test.js +1 -0
- package/src/components/media-query/stories/MediaQuery.stories.js +11 -2
- package/src/components/media-query/stories/MediaQuery.stories.md +10 -9
- package/src/components/media-query/types.js +1 -0
- package/src/components/media-query/useMediaQuery.js +3 -0
- package/src/components/menu/MenuHeader.scss +1 -1
- package/src/components/menu/SubmenuItem.tsx +4 -1
- package/src/components/modal/Modal.scss +15 -0
- package/src/components/modal/ModalDialog.js +44 -5
- package/src/components/modal/__tests__/ModalDialog.test.js +22 -1
- package/src/components/nav-sidebar/NavSidebar.scss +1 -1
- package/src/components/nav-sidebar/NavSidebar.stories.js +54 -0
- package/src/components/nav-sidebar/NavSidebar.stories.md +1 -0
- package/src/components/pill-cloud/PillCloud.stories.js +48 -0
- package/src/components/pill-cloud/PillCloud.stories.md +1 -0
- package/src/components/pill-selector-dropdown/PillSelector.js +26 -4
- package/src/components/pill-selector-dropdown/PillSelector.scss +4 -0
- package/src/components/pill-selector-dropdown/PillSelectorDropdown.js +1 -0
- package/src/components/pill-selector-dropdown/__tests__/PillSelector.test.js +1 -1
- package/src/components/pill-selector-dropdown/__tests__/PillSelectorDropdown.test.js +4 -4
- package/src/components/pill-selector-dropdown/__tests__/__snapshots__/PillSelector.test.js.snap +1 -1
- package/src/components/pill-selector-dropdown/__tests__/__snapshots__/PillSelectorDropdown.test.js.snap +1 -1
- package/src/components/pill-selector-dropdown/_mixins.scss +1 -1
- package/src/components/popper/PopperComponent.js +3 -2
- package/src/components/radio/RadioButton.scss +1 -1
- package/src/components/search-form/SearchForm.js +30 -6
- package/src/components/search-form/__tests__/SearchForm.test.js +1 -1
- package/src/components/select-button/SelectButton.js +23 -2
- package/src/components/select-button/__tests__/SelectButton.test.js +8 -0
- package/src/components/select-field/BaseSelectField.js +19 -2
- package/src/components/select-field/SelectField.scss +8 -1
- package/src/components/select-field/__tests__/BaseSelectField.test.js +9 -0
- package/src/components/selector-dropdown/SelectorDropdown.js +22 -5
- package/src/components/selector-dropdown/SelectorDropdown.scss +2 -2
- package/src/components/selector-dropdown/__tests__/SelectorDropdown.test.js +2 -1
- package/src/components/table/__tests__/makeSelectable.test.js +65 -3
- package/src/components/table/makeSelectable.js +33 -6
- package/src/components/text-area/TextArea.scss +1 -1
- package/src/components/text-input/TextInput.scss +1 -1
- package/src/components/text-input-with-copy-button/TextInputWithCopyButton.js +4 -1
- package/src/components/text-input-with-copy-button/TextInputWithCopyButton.scss +11 -7
- package/src/components/thumbnail-card/ThumbnailCard.scss +1 -1
- package/src/components/time/ReadableTime.stories.js +56 -0
- package/src/components/time/ReadableTime.stories.md +1 -0
- package/src/components/toggle/Toggle.js +16 -5
- package/src/components/toggle/Toggle.scss +3 -3
- package/src/components/toggle/__tests__/__snapshots__/Toggle.test.js.snap +2 -0
- package/src/components/tooltip/CloseButton.tsx +22 -0
- package/src/components/tooltip/Tooltip.tsx +3 -8
- package/src/components/tooltip/__tests__/CloseButton.test.tsx +32 -0
- package/src/components/tooltip/__tests__/Tooltip.test.tsx +21 -0
- package/src/components/tooltip/__tests__/__snapshots__/Tooltip.test.tsx.snap +3 -10
- package/src/constants.js +7 -0
- package/src/elements/common/_variables.scss +7 -2
- package/src/elements/common/base.scss +14 -0
- package/src/elements/common/breadcrumbs/Breadcrumb.scss +1 -1
- package/src/elements/common/breadcrumbs/BreadcrumbDropdown.scss +1 -1
- package/src/elements/common/breadcrumbs/InlineBreadcrumbs.scss +2 -2
- package/src/elements/common/header/Header.js +7 -2
- package/src/elements/common/header/Logo.js +5 -1
- package/src/elements/common/header/__tests__/Header.test.js +40 -0
- package/src/elements/common/item/IconCell.js +55 -0
- package/src/elements/common/item/ItemDetails.scss +1 -1
- package/src/elements/common/item/__tests__/IconCell.test.js +88 -0
- package/src/elements/common/item/iconCellRenderer.js +6 -22
- package/src/elements/common/messages.js +35 -0
- package/src/elements/common/modal.scss +0 -2
- package/src/elements/common/share-access-select/ShareAccessSelect.scss +1 -1
- package/src/elements/common/sub-header/AddButton.js +2 -1
- package/src/elements/common/sub-header/Sort.js +7 -6
- package/src/elements/common/sub-header/SortButton.js +23 -10
- package/src/elements/common/sub-header/ViewModeChangeButton.js +3 -3
- package/src/elements/common/sub-header/__tests__/Sort.test.js +12 -62
- package/src/elements/common/sub-header/__tests__/SortButton.test.js +24 -0
- package/src/elements/common/sub-header/__tests__/SubHeaderRight.test.js +1 -1
- package/src/elements/content-explorer/Content.js +2 -1
- package/src/elements/content-explorer/ContentExplorer.js +50 -13
- package/src/elements/content-explorer/ItemGrid.js +60 -9
- package/src/elements/content-explorer/ItemGridThumbnail.js +5 -2
- package/src/elements/content-explorer/ItemList.js +4 -2
- package/src/elements/content-explorer/ItemList.scss +16 -8
- package/src/elements/content-explorer/MoreOptions.js +11 -4
- package/src/elements/content-explorer/__tests__/ContentExplorer.test.js +44 -0
- package/src/elements/content-explorer/__tests__/MoreOptions.test.js +30 -0
- package/src/elements/content-open-with/ContentOpenWith.scss +1 -1
- package/src/elements/content-picker/Footer.js +62 -51
- package/src/elements/content-picker/ItemList.scss +1 -1
- package/src/elements/content-picker/__tests__/Footer.test.js +17 -0
- package/src/elements/content-preview/ContentPreview.js +43 -6
- package/src/elements/content-preview/__tests__/ContentPreview.test.js +96 -0
- package/src/elements/content-preview/preview-header/PreviewHeader.scss +1 -1
- package/src/elements/content-sharing/ContentSharing.js +2 -2
- package/src/elements/content-sidebar/ActivitySidebar.js +262 -17
- package/src/elements/content-sidebar/ActivitySidebar.scss +7 -0
- package/src/elements/content-sidebar/ActivitySidebarFilter.js +64 -23
- package/src/elements/content-sidebar/AddTaskMenu.scss +1 -1
- package/src/elements/content-sidebar/SidebarContent.js +1 -1
- package/src/elements/content-sidebar/SidebarContent.scss +3 -3
- package/src/elements/content-sidebar/SidebarNav.js +3 -15
- package/src/elements/content-sidebar/SidebarNavSign.scss +3 -25
- package/src/elements/content-sidebar/SidebarNavSign.tsx +53 -55
- package/src/elements/content-sidebar/SidebarNavSignButton.scss +27 -0
- package/src/elements/content-sidebar/SidebarNavSignButton.tsx +73 -0
- package/src/elements/content-sidebar/__tests__/ActivitySidebar.test.js +545 -16
- package/src/elements/content-sidebar/__tests__/ActivitySidebarFilter.test.js +47 -18
- package/src/elements/content-sidebar/__tests__/SidebarNav.test.js +3 -3
- package/src/elements/content-sidebar/__tests__/SidebarNavSign.test.tsx +72 -52
- package/src/elements/content-sidebar/__tests__/SidebarNavSignButton.test.tsx +60 -0
- package/src/elements/content-sidebar/__tests__/__snapshots__/ActivitySidebar.test.js.snap +2 -0
- package/src/elements/content-sidebar/activity-feed/Avatar.js +5 -2
- package/src/elements/content-sidebar/activity-feed/__tests__/Avatar.test.js +0 -10
- package/src/elements/content-sidebar/activity-feed/__tests__/__snapshots__/Avatar.test.js.snap +13 -10
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js +73 -28
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js +80 -13
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.scss +11 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.scss +28 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.tsx +16 -2
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.js +48 -29
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThread.scss +69 -6
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.js +42 -5
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplies.scss +15 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.js +30 -5
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityThreadReplyForm.scss +4 -7
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActiveState.test.js +11 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityFeed.test.js +74 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityItem.test.tsx +20 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityThread.test.js +8 -3
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityThreadReplies.test.js +12 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActivityThreadRepliesForm.test.js +20 -5
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/__snapshots__/ActiveState.test.js.snap +7 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/__snapshots__/ActivityFeed.test.js.snap +3 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.js +43 -13
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThread.scss +26 -3
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js +67 -56
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.scss +1 -1
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadCreate.js +16 -51
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__mocks__/useAnnotationThread.js +19 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/AnnotationThread.test.js +12 -1
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/AnnotationThreadContent.test.js +18 -52
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/AnnotationThreadCreate.test.js +23 -54
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/useAnnotationAPI.test.js +40 -3
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/useAnnotationThread.test.js +429 -25
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/useRepliesAPI.test.js +15 -13
- package/src/elements/content-sidebar/activity-feed/annotation-thread/errors.js +5 -4
- package/src/elements/content-sidebar/activity-feed/annotation-thread/types.js +7 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationAPI.js +32 -10
- package/src/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationThread.js +249 -55
- package/src/elements/content-sidebar/activity-feed/annotation-thread/useRepliesAPI.js +42 -83
- package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js +27 -12
- package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.scss +11 -8
- package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivityLink.scss +1 -1
- package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.js +3 -1
- package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivityMenu.scss +5 -0
- package/src/elements/content-sidebar/activity-feed/annotations/__tests__/AnnotationActivity.test.js +26 -0
- package/src/elements/content-sidebar/activity-feed/comment/BaseComment.js +456 -0
- package/src/elements/content-sidebar/activity-feed/comment/BaseComment.scss +30 -0
- package/src/elements/content-sidebar/activity-feed/comment/Comment.js +42 -5
- package/src/elements/content-sidebar/activity-feed/comment/Comment.scss +10 -0
- package/src/elements/content-sidebar/activity-feed/comment/CreateReply.js +72 -0
- package/src/elements/content-sidebar/activity-feed/comment/CreateReply.scss +21 -0
- package/src/elements/content-sidebar/activity-feed/comment/Replies.scss +41 -0
- package/src/elements/content-sidebar/activity-feed/comment/RepliesToggle.js +41 -0
- package/src/elements/content-sidebar/activity-feed/comment/RepliesToggle.scss +6 -0
- package/src/elements/content-sidebar/activity-feed/comment/__tests__/BaseComment.test.js +373 -0
- package/src/elements/content-sidebar/activity-feed/comment/__tests__/Comment.test.js +14 -6
- package/src/elements/content-sidebar/activity-feed/comment/__tests__/CreateReply.test.js +127 -0
- package/src/elements/content-sidebar/activity-feed/comment/__tests__/Replies.test.js +219 -0
- package/src/elements/content-sidebar/activity-feed/comment/__tests__/RepliesToggle.test.js +82 -0
- package/src/elements/content-sidebar/activity-feed/comment/__tests__/__snapshots__/Comment.test.js.snap +18 -4
- package/src/elements/content-sidebar/activity-feed/comment/messages.js +20 -0
- package/src/elements/content-sidebar/activity-feed/comment-form/CommentForm.js +3 -3
- package/src/elements/content-sidebar/activity-feed/comment-form/CommentForm.scss +1 -1
- package/src/elements/content-sidebar/activity-feed/common/activity-message/ActivityMessage.scss +1 -1
- package/src/elements/content-sidebar/activity-feed/common/activity-message/messages.js +2 -2
- package/src/elements/content-sidebar/activity-feed/common/activity-status/ActivityStatus.scss +1 -1
- package/src/elements/content-sidebar/activity-feed/task-form/TaskForm.js +1 -0
- package/src/elements/content-sidebar/activity-feed/task-new/AssigneeDetails.scss +1 -1
- package/src/elements/content-sidebar/activity-feed/task-new/AvatarGroupAvatar.js +11 -7
- package/src/elements/content-sidebar/activity-feed/task-new/AvatarGroupAvatar.scss +1 -5
- package/src/elements/content-sidebar/activity-feed/task-new/Task.js +1 -2
- package/src/elements/content-sidebar/activity-feed/task-new/Task.scss +1 -8
- package/src/elements/content-sidebar/activity-feed/task-new/__tests__/__snapshots__/Task.test.js.snap +1 -5
- package/src/elements/content-sidebar/messages.js +29 -4
- package/src/elements/content-sidebar/skills/keywords/__tests__/__snapshots__/EditableKeywords.test.js.snap +0 -6
- package/src/elements/content-sidebar/skills/timeline/Timeline.scss +1 -1
- package/src/elements/content-sidebar/skills/transcript/Transcript.scss +1 -1
- package/src/elements/content-sidebar/versions/VersionsGroup.scss +1 -1
- package/src/elements/content-sidebar/versions/VersionsItem.scss +3 -3
- package/src/elements/content-uploader/Footer.js +23 -3
- package/src/elements/content-uploader/Footer.scss +0 -1
- package/src/elements/content-uploader/ItemAction.js +6 -3
- package/src/elements/content-uploader/ItemRemove.js +18 -6
- package/src/elements/content-uploader/UploadInput.js +19 -9
- package/src/elements/content-uploader/__tests__/Footer.test.js +59 -0
- package/src/elements/content-uploader/__tests__/ItemAction.test.js +11 -1
- package/src/elements/content-uploader/__tests__/ItemRemove.test.js +22 -0
- package/src/elements/content-uploader/__tests__/__snapshots__/ItemAction.test.js.snap +36 -0
- package/src/elements/content-uploader/__tests__/__snapshots__/UploadInput.test.js.snap +4 -0
- package/src/features/advanced-content-insights/AdvancedContentInsightsToggle.scss +19 -0
- package/src/features/advanced-content-insights/AdvancedContentInsightsToggle.tsx +59 -0
- package/src/features/advanced-content-insights/__tests__/AdvancedContentInsightsToggle.test.tsx +33 -0
- package/src/features/advanced-content-insights/__tests__/__snapshots__/AdvancedContentInsightsToggle.test.tsx.snap +42 -0
- package/src/features/advanced-content-insights/messages.ts +22 -0
- package/src/features/classification/classificationColorsMap.js +1 -1
- package/src/features/collaborator-avatars/CollaboratorAvatarItem.js +11 -8
- package/src/features/collaborator-avatars/CollaboratorAvatars.scss +1 -1
- package/src/features/collaborator-avatars/CollaboratorList.js +3 -4
- package/src/features/collaborator-avatars/CollaboratorListItem.js +7 -13
- package/src/features/collaborator-avatars/CollaboratorListItem.scss +7 -3
- package/src/features/collaborator-avatars/__tests__/CollaboratorAvatarItem.test.js +6 -2
- package/src/features/collaborator-avatars/__tests__/__snapshots__/CollaboratorAvatarItem.test.js.snap +5 -12
- package/src/features/collaborator-avatars/__tests__/__snapshots__/CollaboratorList.test.js.snap +6 -8
- package/src/features/collaborator-avatars/__tests__/__snapshots__/CollaboratorListItem.test.js.snap +36 -40
- package/src/features/collapsible-sidebar/CollapsibleSidebar.js +5 -2
- package/src/features/collapsible-sidebar/CollapsibleSidebar.scss +4 -7
- package/src/features/collapsible-sidebar/CollapsibleSidebarLogo.js +15 -11
- package/src/features/collapsible-sidebar/__tests__/CollapsibleSidebar.test.js +1 -0
- package/src/features/collapsible-sidebar/__tests__/CollapsibleSidebarLogo.test.js +14 -0
- package/src/features/collapsible-sidebar/__tests__/__snapshots__/CollapsibleSidebar.test.js.snap +1 -1
- package/src/features/content-explorer/content-explorer/ContentExplorer.js +97 -20
- package/src/features/content-explorer/content-explorer/ContentExplorer.scss +67 -8
- package/src/features/content-explorer/content-explorer/ContentExplorerActionButtons.js +53 -13
- package/src/features/content-explorer/content-explorer/ContentExplorerFolderTreeBreadcrumbs.js +82 -0
- package/src/features/content-explorer/content-explorer/ContentExplorerHeaderActions.js +22 -7
- package/src/features/content-explorer/content-explorer/ContentExplorerIncludeSubfolders.js +30 -0
- package/src/features/content-explorer/content-explorer/ContentExplorerSelectAll.js +34 -20
- package/src/features/content-explorer/content-explorer/__tests__/ContentExplorer.test.js +28 -0
- package/src/features/content-explorer/content-explorer/__tests__/ContentExplorerActionButtons.test.js +96 -8
- package/src/features/content-explorer/content-explorer/__tests__/ContentExplorerFolderTreeBreadcrumbs.test.js +91 -0
- package/src/features/content-explorer/content-explorer/__tests__/ContentExplorerHeaderActions.test.js +8 -0
- package/src/features/content-explorer/content-explorer/__tests__/ContentExplorerIncludeSubfolders.test.js +50 -0
- package/src/features/content-explorer/content-explorer/__tests__/__snapshots__/ContentExplorer.test.js.snap +4 -0
- package/src/features/content-explorer/content-explorer/constants.js +6 -0
- package/src/features/content-explorer/content-explorer-modal/ContentExplorerModal.js +13 -0
- package/src/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js +31 -0
- package/src/features/content-explorer/item-list/ItemList.js +17 -1
- package/src/features/content-explorer/item-list/ItemList.scss +1 -1
- package/src/features/content-explorer/item-list/ItemListButton.js +10 -2
- package/src/features/content-explorer/item-list/ItemListIcon.js +5 -33
- package/src/features/content-explorer/item-list/ItemListName.js +3 -2
- package/src/features/content-explorer/item-list/__tests__/ItemList.test.js +72 -0
- package/src/features/content-explorer/item-list/__tests__/ItemListButton.test.js +8 -0
- package/src/features/content-explorer/item-list/__tests__/ItemListIcon.test.js +24 -18
- package/src/features/content-explorer/item-list/__tests__/__snapshots__/ItemListIcon.test.js.snap +37 -24
- package/src/features/content-explorer/messages.js +41 -24
- package/src/features/content-explorer/prop-types.js +2 -2
- package/src/features/content-insights/_mixins.scss +1 -1
- package/src/features/content-insights/charts/bar/Bar.tsx +24 -3
- package/src/features/content-insights/charts/bar/BarChart.tsx +10 -3
- package/src/features/content-insights/charts/bar/__tests__/Bar.test.tsx +51 -0
- package/src/features/content-insights/charts/bar/__tests__/BarChart.test.tsx +7 -1
- package/src/features/invite-collaborators-modal/InviteCollaboratorsModal.scss +1 -1
- package/src/features/message-center/components/templates/common/styles/MessageFooter.scss +1 -1
- package/src/features/metadata-based-view/IconWithTooltip.js +4 -4
- package/src/features/metadata-based-view/MetadataBasedItemList.scss +1 -1
- package/src/features/metadata-based-view/__tests__/__snapshots__/IconWithTooltip.test.js.snap +3 -3
- package/src/features/metadata-instance-editor/CascadePolicy.scss +1 -1
- package/src/features/metadata-instance-editor/TemplateDropdown.js +4 -10
- package/src/features/metadata-instance-editor/TemplateDropdown.scss +2 -2
- package/src/features/metadata-instance-editor/__tests__/__snapshots__/TemplateDropdown.test.js.snap +28 -7
- package/src/features/metadata-instance-fields/EnumMetadataField.scss +2 -2
- package/src/features/metadata-instance-fields/MultiSelectMetadataField.scss +1 -1
- package/src/features/metadata-instance-fields/ReadOnlyMetadataField.scss +2 -2
- package/src/features/presence/PresenceAvatarList.scss +1 -1
- package/src/features/presence/PresenceCollaborator.scss +1 -1
- package/src/features/query-bar/styles/Condition.scss +2 -2
- package/src/features/quick-search/QuickSearchItem.js +4 -3
- package/src/features/shared-link-settings-modal/ExpirationSection.js +4 -0
- package/src/features/shared-link-settings-modal/SharedLinkSettingsModal.js +9 -5
- package/src/features/shared-link-settings-modal/SharedLinkSettingsModal.scss +3 -3
- package/src/features/shared-link-settings-modal/VanityNameSection.js +2 -2
- package/src/features/shared-link-settings-modal/__tests__/ExpirationSection.test.js +9 -0
- package/src/features/shared-link-settings-modal/__tests__/SharedLinkSettingsModal.test.js +9 -4
- package/src/features/unified-share-modal/InviteePermissionsMenu.js +1 -0
- package/src/features/unified-share-modal/SharedLinkAccessMenu.js +1 -0
- package/src/features/unified-share-modal/SharedLinkPermissionMenu.js +1 -0
- package/src/features/unified-share-modal/SharedLinkSection.js +30 -38
- package/src/features/unified-share-modal/UnifiedShareForm.js +38 -25
- package/src/features/unified-share-modal/UnifiedShareModal.js +9 -1
- package/src/features/unified-share-modal/UnifiedShareModal.scss +24 -13
- package/src/features/unified-share-modal/__tests__/SharedLinkSection.test.js +19 -3
- package/src/features/unified-share-modal/__tests__/UnifiedShareForm.test.js +10 -0
- package/src/features/unified-share-modal/__tests__/UnifiedShareModal.test.js +9 -0
- package/src/features/unified-share-modal/__tests__/__snapshots__/InviteePermissionsMenu.test.js.snap +16 -0
- package/src/features/unified-share-modal/__tests__/__snapshots__/SharedLinkAccessMenu.test.js.snap +6 -0
- package/src/features/unified-share-modal/__tests__/__snapshots__/SharedLinkPermissionMenu.test.js.snap +6 -0
- package/src/features/unified-share-modal/__tests__/__snapshots__/SharedLinkSection.test.js.snap +211 -313
- package/src/features/unified-share-modal/flowTypes.js +10 -2
- package/src/features/unified-share-modal/messages.js +17 -5
- package/src/features/virtualized-table/VirtualizedTable.scss +1 -1
- package/src/features/virtualized-table/__tests__/__snapshots__/BaseVirtualizedTable.test.js.snap +3 -0
- package/src/features/virtualized-table/__tests__/__snapshots__/DraggableVirtualizedTable.test.js.snap +3 -0
- package/src/features/virtualized-table/__tests__/__snapshots__/VirtualizedTable.test.js.snap +8 -0
- package/src/features/virtualized-table-renderers/_mixins.scss +1 -1
- package/src/icons/badges/MetadataDefaultBadge.js.flow +3 -3
- package/src/icons/badges/MetadataDefaultBadge.tsx +3 -3
- package/src/icons/badges/__tests__/__snapshots__/MetadataDefaultBadge.test.tsx.snap +2 -2
- package/src/icons/general/IconAnyTask.js.flow +2 -2
- package/src/icons/general/IconAnyTask.tsx +2 -2
- package/src/icons/general/IconEdit.js.flow +2 -1
- package/src/icons/general/IconEdit.tsx +2 -1
- package/src/icons/general/__tests__/__snapshots__/IconAnyTask.test.tsx.snap +1 -1
- package/src/icons/general/__tests__/__snapshots__/IconEdit.test.tsx.snap +2 -2
- package/src/icons/metadata-view/IconMetadataView.js.flow +2 -1
- package/src/icons/metadata-view/IconMetadataView.tsx +3 -1
- package/src/icons/metadata-view/__tests__/__snapshots__/IconMetadataView.test.tsx.snap +1 -1
- package/src/icons/two-toned/IconAnnotation.js.flow +27 -0
- package/src/icons/two-toned/IconAnnotation.tsx +26 -0
- package/src/icons/two-toned/_IconAnnotation.mixins.scss +9 -0
- package/src/icons/two-toned/__tests__/IconAnnotation.test.tsx +28 -0
- package/src/icons/two-toned/__tests__/__snapshots__/IconAnnotation.test.tsx.snap +28 -0
- package/src/styles/_deprecated.scss +1 -0
- package/src/styles/_inputs.scss +2 -3
- package/src/styles/colors.md +1 -1
- package/src/styles/common/_buttons.scss +2 -2
- package/src/styles/common/_forms.scss +2 -0
- package/src/styles/common/_links.scss +1 -1
- package/src/styles/constants/_colors.scss +1 -1
- package/src/styles/constants/_themes.scss +1 -1
- package/src/styles/typography.stories.scss +60 -0
- package/src/styles/typography.stories.tsx +70 -0
- package/src/styles/variables.js +2 -2
- package/src/styles/variables.json +2 -2
- package/src/styles/variables.ts +2 -2
- package/src/utils/__tests__/__snapshots__/createTheme.test.js.snap +4 -4
- package/src/utils/createTheme.js +2 -2
- package/es/elements/common/sub-header/Sort.scss +0 -8
- package/es/elements/content-sidebar/activity-feed/task-new/_mixins.scss +0 -10
- package/es/features/content-explorer/item-types.js +0 -6
- package/es/features/content-explorer/item-types.js.flow +0 -5
- package/es/features/content-explorer/item-types.js.map +0 -1
- package/src/components/inline-error/README.md +0 -10
- package/src/components/inline-notice/README.md +0 -57
- package/src/components/nav-sidebar/README.md +0 -57
- package/src/components/pill-cloud/README.md +0 -39
- package/src/components/time/README.md +0 -58
- package/src/elements/common/sub-header/Sort.scss +0 -8
- package/src/elements/content-sidebar/activity-feed/task-new/_mixins.scss +0 -10
- package/src/features/content-explorer/item-types.js +0 -5
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// @flow
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { FormattedMessage } from 'react-intl';
|
|
4
|
+
|
|
5
|
+
import messages from './messages';
|
|
6
|
+
import PlainButton from '../../../../components/plain-button';
|
|
7
|
+
|
|
8
|
+
import './RepliesToggle.scss';
|
|
9
|
+
|
|
10
|
+
type Props = {
|
|
11
|
+
onHideReplies: (index: number) => void,
|
|
12
|
+
onShowReplies: () => void,
|
|
13
|
+
repliesShownCount: number,
|
|
14
|
+
repliesTotalCount: number,
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const RepliesToggle = ({ onShowReplies, onHideReplies, repliesShownCount, repliesTotalCount }: Props) => {
|
|
18
|
+
if (repliesTotalCount <= 1) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const hasMoreRepliesToShow = repliesTotalCount > repliesShownCount;
|
|
23
|
+
const toggleMessage = hasMoreRepliesToShow ? messages.showReplies : messages.hideReplies;
|
|
24
|
+
const repliesToLoadCount = Math.max(repliesTotalCount - repliesShownCount, 0);
|
|
25
|
+
|
|
26
|
+
const handleToggle = () => {
|
|
27
|
+
if (hasMoreRepliesToShow) {
|
|
28
|
+
onShowReplies();
|
|
29
|
+
} else if (repliesShownCount) {
|
|
30
|
+
onHideReplies(repliesShownCount - 1);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<PlainButton className="bcs-RepliesToggle" onClick={handleToggle} type="button" data-testid="replies-toggle">
|
|
36
|
+
<FormattedMessage values={{ repliesToLoadCount }} {...toggleMessage} />
|
|
37
|
+
</PlainButton>
|
|
38
|
+
);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export default RepliesToggle;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/elements/content-sidebar/activity-feed/comment/RepliesToggle.js"],"names":["React","FormattedMessage","messages","PlainButton","RepliesToggle","onShowReplies","onHideReplies","repliesShownCount","repliesTotalCount","hasMoreRepliesToShow","toggleMessage","showReplies","hideReplies","repliesToLoadCount","Math","max","handleToggle"],"mappings":";;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,gBAAT,QAAiC,YAAjC;AAEA,OAAOC,QAAP,MAAqB,YAArB;AACA,OAAOC,WAAP,MAAwB,qCAAxB;AAEA,OAAO,sBAAP;;AASA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAAmF;AAAA,MAAhFC,aAAgF,QAAhFA,aAAgF;AAAA,MAAjEC,aAAiE,QAAjEA,aAAiE;AAAA,MAAlDC,iBAAkD,QAAlDA,iBAAkD;AAAA,MAA/BC,iBAA+B,QAA/BA,iBAA+B;;AACrG,MAAIA,iBAAiB,IAAI,CAAzB,EAA4B;AACxB,WAAO,IAAP;AACH;;AAED,MAAMC,oBAAoB,GAAGD,iBAAiB,GAAGD,iBAAjD;AACA,MAAMG,aAAa,GAAGD,oBAAoB,GAAGP,QAAQ,CAACS,WAAZ,GAA0BT,QAAQ,CAACU,WAA7E;AACA,MAAMC,kBAAkB,GAAGC,IAAI,CAACC,GAAL,CAASP,iBAAiB,GAAGD,iBAA7B,EAAgD,CAAhD,CAA3B;;AAEA,MAAMS,YAAY,GAAG,SAAfA,YAAe,GAAM;AACvB,QAAIP,oBAAJ,EAA0B;AACtBJ,MAAAA,aAAa;AAChB,KAFD,MAEO,IAAIE,iBAAJ,EAAuB;AAC1BD,MAAAA,aAAa,CAACC,iBAAiB,GAAG,CAArB,CAAb;AACH;AACJ,GAND;;AAQA,SACI,oBAAC,WAAD;AAAa,IAAA,SAAS,EAAC,mBAAvB;AAA2C,IAAA,OAAO,EAAES,YAApD;AAAkE,IAAA,IAAI,EAAC,QAAvE;AAAgF,mBAAY;AAA5F,KACI,oBAAC,gBAAD;AAAkB,IAAA,MAAM,EAAE;AAAEH,MAAAA,kBAAkB,EAAlBA;AAAF;AAA1B,KAAsDH,aAAtD,EADJ,CADJ;AAKH,CAtBD;;AAwBA,eAAeN,aAAf","sourcesContent":["// @flow\nimport * as React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nimport messages from './messages';\nimport PlainButton from '../../../../components/plain-button';\n\nimport './RepliesToggle.scss';\n\ntype Props = {\n onHideReplies: (index: number) => void,\n onShowReplies: () => void,\n repliesShownCount: number,\n repliesTotalCount: number,\n};\n\nconst RepliesToggle = ({ onShowReplies, onHideReplies, repliesShownCount, repliesTotalCount }: Props) => {\n if (repliesTotalCount <= 1) {\n return null;\n }\n\n const hasMoreRepliesToShow = repliesTotalCount > repliesShownCount;\n const toggleMessage = hasMoreRepliesToShow ? messages.showReplies : messages.hideReplies;\n const repliesToLoadCount = Math.max(repliesTotalCount - repliesShownCount, 0);\n\n const handleToggle = () => {\n if (hasMoreRepliesToShow) {\n onShowReplies();\n } else if (repliesShownCount) {\n onHideReplies(repliesShownCount - 1);\n }\n };\n\n return (\n <PlainButton className=\"bcs-RepliesToggle\" onClick={handleToggle} type=\"button\" data-testid=\"replies-toggle\">\n <FormattedMessage values={{ repliesToLoadCount }} {...toggleMessage} />\n </PlainButton>\n );\n};\n\nexport default RepliesToggle;\n"],"file":"RepliesToggle.js"}
|
|
@@ -28,6 +28,22 @@ var messages = defineMessages({
|
|
|
28
28
|
commentUnresolveMenuItem: {
|
|
29
29
|
"id": "be.contentSidebar.activityFeed.comment.commentUnresolveMenuItem",
|
|
30
30
|
"defaultMessage": "Unresolve"
|
|
31
|
+
},
|
|
32
|
+
reply: {
|
|
33
|
+
"id": "be.contentSidebar.activityFeed.comment.reply",
|
|
34
|
+
"defaultMessage": "Reply"
|
|
35
|
+
},
|
|
36
|
+
replyInThread: {
|
|
37
|
+
"id": "be.contentSidebar.activityFeed.comment.replyInThread",
|
|
38
|
+
"defaultMessage": "Reply in thread"
|
|
39
|
+
},
|
|
40
|
+
hideReplies: {
|
|
41
|
+
"id": "be.contentSidebar.activityFeed.comment.hideReplies",
|
|
42
|
+
"defaultMessage": "Hide replies"
|
|
43
|
+
},
|
|
44
|
+
showReplies: {
|
|
45
|
+
"id": "be.contentSidebar.activityFeed.comment.showReplies",
|
|
46
|
+
"defaultMessage": "See {repliesToLoadCount, plural, one {# reply} other {# replies}}"
|
|
31
47
|
}
|
|
32
48
|
});
|
|
33
49
|
export default messages;
|
|
@@ -37,6 +37,26 @@ const messages = defineMessages({
|
|
|
37
37
|
defaultMessage: 'Unresolve',
|
|
38
38
|
description: 'Text to show on menu item to unresolve the comment',
|
|
39
39
|
},
|
|
40
|
+
reply: {
|
|
41
|
+
id: 'be.contentSidebar.activityFeed.comment.reply',
|
|
42
|
+
defaultMessage: 'Reply',
|
|
43
|
+
description: 'Text to show on button to start replying to comment',
|
|
44
|
+
},
|
|
45
|
+
replyInThread: {
|
|
46
|
+
id: 'be.contentSidebar.activityFeed.comment.replyInThread',
|
|
47
|
+
defaultMessage: 'Reply in thread',
|
|
48
|
+
description: 'Text to show on reply form input placeholder',
|
|
49
|
+
},
|
|
50
|
+
hideReplies: {
|
|
51
|
+
id: 'be.contentSidebar.activityFeed.comment.hideReplies',
|
|
52
|
+
defaultMessage: 'Hide replies',
|
|
53
|
+
description: 'Text to show to hide more replies of comment or annotation',
|
|
54
|
+
},
|
|
55
|
+
showReplies: {
|
|
56
|
+
id: 'be.contentSidebar.activityFeed.comment.showReplies',
|
|
57
|
+
defaultMessage: 'See {repliesToLoadCount, plural, one {# reply} other {# replies}}',
|
|
58
|
+
description: 'Text to show to get more replies of comment or annotation',
|
|
59
|
+
},
|
|
40
60
|
});
|
|
41
61
|
|
|
42
62
|
export default messages;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/elements/content-sidebar/activity-feed/comment/messages.js"],"names":["defineMessages","messages","commentDeleteMenuItem","commentDeletePrompt","commentEditMenuItem","commentPostedFullDateTime","commentResolveMenuItem","commentUnresolveMenuItem"],"mappings":"AAAA;;;;;AAMA,SAASA,cAAT,QAA+B,YAA/B;AAEA,IAAMC,QAAQ,GAAGD,cAAc,CAAC;AAC5BE,EAAAA,qBAAqB;AAAA;AAAA;AAAA,GADO;AAM5BC,EAAAA,mBAAmB;AAAA;AAAA;AAAA,GANS;AAW5BC,EAAAA,mBAAmB;AAAA;AAAA;AAAA,GAXS;AAgB5BC,EAAAA,yBAAyB;AAAA;AAAA;AAAA,GAhBG;AAqB5BC,EAAAA,sBAAsB;AAAA;AAAA;AAAA,GArBM;AA0B5BC,EAAAA,wBAAwB;AAAA;AAAA;AAAA;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/elements/content-sidebar/activity-feed/comment/messages.js"],"names":["defineMessages","messages","commentDeleteMenuItem","commentDeletePrompt","commentEditMenuItem","commentPostedFullDateTime","commentResolveMenuItem","commentUnresolveMenuItem","reply","replyInThread","hideReplies","showReplies"],"mappings":"AAAA;;;;;AAMA,SAASA,cAAT,QAA+B,YAA/B;AAEA,IAAMC,QAAQ,GAAGD,cAAc,CAAC;AAC5BE,EAAAA,qBAAqB;AAAA;AAAA;AAAA,GADO;AAM5BC,EAAAA,mBAAmB;AAAA;AAAA;AAAA,GANS;AAW5BC,EAAAA,mBAAmB;AAAA;AAAA;AAAA,GAXS;AAgB5BC,EAAAA,yBAAyB;AAAA;AAAA;AAAA,GAhBG;AAqB5BC,EAAAA,sBAAsB;AAAA;AAAA;AAAA,GArBM;AA0B5BC,EAAAA,wBAAwB;AAAA;AAAA;AAAA,GA1BI;AA+B5BC,EAAAA,KAAK;AAAA;AAAA;AAAA,GA/BuB;AAoC5BC,EAAAA,aAAa;AAAA;AAAA;AAAA,GApCe;AAyC5BC,EAAAA,WAAW;AAAA;AAAA;AAAA,GAzCiB;AA8C5BC,EAAAA,WAAW;AAAA;AAAA;AAAA;AA9CiB,CAAD,CAA/B;AAqDA,eAAeV,QAAf","sourcesContent":["/**\n * @flow\n * @file i18n messages\n * @author Box\n */\n\nimport { defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n commentDeleteMenuItem: {\n id: 'be.contentSidebar.activityFeed.comment.commentDeleteMenuItem',\n defaultMessage: 'Delete',\n description: 'Text to show on menu item to delete comment',\n },\n commentDeletePrompt: {\n id: 'be.contentSidebar.activityFeed.comment.commentDeletePrompt',\n defaultMessage: 'Are you sure you want to permanently delete this comment?',\n description: 'Confirmation prompt text to delete comment',\n },\n commentEditMenuItem: {\n id: 'be.contentSidebar.activityFeed.comment.commentEditMenuItem',\n defaultMessage: 'Modify',\n description: 'Text to show on menu item to edit comment',\n },\n commentPostedFullDateTime: {\n id: 'be.contentSidebar.activityFeed.comment.commentPostedFullDateTime',\n defaultMessage: '{time, date, full} at {time, time, short}',\n description: 'Comment posted full date time for title',\n },\n commentResolveMenuItem: {\n id: 'be.contentSidebar.activityFeed.comment.commentResolveMenuItem',\n defaultMessage: 'Resolve',\n description: 'Text to show on menu item to resolve the comment',\n },\n commentUnresolveMenuItem: {\n id: 'be.contentSidebar.activityFeed.comment.commentUnresolveMenuItem',\n defaultMessage: 'Unresolve',\n description: 'Text to show on menu item to unresolve the comment',\n },\n reply: {\n id: 'be.contentSidebar.activityFeed.comment.reply',\n defaultMessage: 'Reply',\n description: 'Text to show on button to start replying to comment',\n },\n replyInThread: {\n id: 'be.contentSidebar.activityFeed.comment.replyInThread',\n defaultMessage: 'Reply in thread',\n description: 'Text to show on reply form input placeholder',\n },\n hideReplies: {\n id: 'be.contentSidebar.activityFeed.comment.hideReplies',\n defaultMessage: 'Hide replies',\n description: 'Text to show to hide more replies of comment or annotation',\n },\n showReplies: {\n id: 'be.contentSidebar.activityFeed.comment.showReplies',\n defaultMessage: 'See {repliesToLoadCount, plural, one {# reply} other {# replies}}',\n description: 'Text to show to get more replies of comment or annotation',\n },\n});\n\nexport default messages;\n"],"file":"messages.js"}
|
|
@@ -149,7 +149,7 @@ function (_React$Component) {
|
|
|
149
149
|
});
|
|
150
150
|
return React.createElement(Media, {
|
|
151
151
|
className: inputContainerClassNames
|
|
152
|
-
}, !isEditing && React.createElement(Media.Figure, {
|
|
152
|
+
}, !isEditing && !!user && React.createElement(Media.Figure, {
|
|
153
153
|
className: "bcs-CommentForm-avatar"
|
|
154
154
|
}, React.createElement(Avatar, {
|
|
155
155
|
getAvatarUrl: getAvatarUrl,
|
|
@@ -27,7 +27,7 @@ type Props = {
|
|
|
27
27
|
contactsLoaded?: boolean,
|
|
28
28
|
createComment?: Function,
|
|
29
29
|
entityId?: string,
|
|
30
|
-
getAvatarUrl
|
|
30
|
+
getAvatarUrl?: GetAvatarUrlCallback,
|
|
31
31
|
getMentionWithQuery?: Function,
|
|
32
32
|
isDisabled?: boolean,
|
|
33
33
|
isEditing?: boolean,
|
|
@@ -40,7 +40,7 @@ type Props = {
|
|
|
40
40
|
showTip?: boolean,
|
|
41
41
|
tagged_message?: string,
|
|
42
42
|
updateComment?: Function,
|
|
43
|
-
user
|
|
43
|
+
user?: User,
|
|
44
44
|
} & InjectIntlProvidedProps;
|
|
45
45
|
|
|
46
46
|
type State = {
|
|
@@ -129,7 +129,7 @@ class CommentForm extends React.Component<Props, State> {
|
|
|
129
129
|
|
|
130
130
|
return (
|
|
131
131
|
<Media className={inputContainerClassNames}>
|
|
132
|
-
{!isEditing && (
|
|
132
|
+
{!isEditing && !!user && (
|
|
133
133
|
<Media.Figure className="bcs-CommentForm-avatar">
|
|
134
134
|
<Avatar getAvatarUrl={getAvatarUrl} user={user} />
|
|
135
135
|
</Media.Figure>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/elements/content-sidebar/activity-feed/comment-form/CommentForm.js"],"names":["React","noop","classNames","FormattedMessage","injectIntl","Avatar","CommentFormControls","DraftJSMentionSelector","createMentionSelectorState","getFormattedCommentText","Form","Media","messages","CommentForm","commentEditorState","props","tagged_message","createComment","updateComment","onSubmit","entityId","text","hasMention","id","setState","nextEditorState","state","prevIsOpen","isOpen","className","getMentionWithQuery","formatMessage","intl","isDisabled","mentionSelectorContacts","contactsLoaded","onCancel","onFocus","user","isEditing","getAvatarUrl","showTip","placeholder","commentWrite","inputContainerClassNames","onFormValidSubmitHandler","commentLabel","atMentionTipDescription","onMentionSelectorChangeHandler","undefined","atMentionTip","Component","CommentFormUnwrapped"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;;;;AAKA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,IAAP,MAAiB,aAAjB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,gBAAT,EAA2BC,UAA3B,QAA6C,YAA7C;AAEA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,mBAAP,MAAgC,uBAAhC;AACA,OAAOC,sBAAP,IACIC,0BADJ,EAEIC,uBAFJ,QAGO,gEAHP;AAIA,OAAOC,IAAP,MAAiB,gDAAjB;AACA,OAAOC,KAAP,MAAkB,8BAAlB;AACA,OAAOC,QAAP,MAAqB,YAArB;AAIA,OAAO,oBAAP;;IA2BMC,W;;;;;;;;;;;;;;;;;;4DAKM;AACJC,MAAAA,kBAAkB,EAAEN,0BAA0B,CAAC,MAAKO,KAAL,CAAWC,cAAZ;AAD1C,K;;+EAcmB,YAAY;AAAA,wBACwC,MAAKD,KAD7C;AAAA,8CAC3BE,aAD2B;AAAA,UAC3BA,aAD2B,sCACXhB,IADW;AAAA,8CACLiB,aADK;AAAA,UACLA,aADK,sCACWjB,IADX;AAAA,UACiBkB,QADjB,eACiBA,QADjB;AAAA,UAC2BC,QAD3B,eAC2BA,QAD3B;;AAAA,kCAGN,MAAKX,uBAAL,EAHM;AAAA,UAG3BY,IAH2B,yBAG3BA,IAH2B;AAAA,UAGrBC,UAHqB,yBAGrBA,UAHqB;;AAKnC,UAAI,CAACD,IAAL,EAAW;AACP;AACH;;AAED,UAAID,QAAJ,EAAc;AACVF,QAAAA,aAAa,CAAC;AAAEK,UAAAA,EAAE,EAAEH,QAAN;AAAgBC,UAAAA,IAAI,EAAJA,IAAhB;AAAsBC,UAAAA,UAAU,EAAVA;AAAtB,SAAD,CAAb;AACH,OAFD,MAEO;AACHL,QAAAA,aAAa,CAAC;AAAEI,UAAAA,IAAI,EAAJA,IAAF;AAAQC,UAAAA,UAAU,EAAVA;AAAR,SAAD,CAAb;AACH;;AAED,UAAIH,QAAJ,EAAc;AACVA,QAAAA,QAAQ;AACX;;AAED,YAAKK,QAAL,CAAc;AACVV,QAAAA,kBAAkB,EAAEN,0BAA0B;AADpC,OAAd;AAGH,K;;qFAEgC,UAACiB,eAAD;AAAA,aAC7B,MAAKD,QAAL,CAAc;AAAEV,QAAAA,kBAAkB,EAAEW;AAAtB,OAAd,CAD6B;AAAA,K;;8EAQP,YAA6C;AAAA,UAC3DX,kBAD2D,GACpC,MAAKY,KAD+B,CAC3DZ,kBAD2D;AAGnE,aAAOL,uBAAuB,CAACK,kBAAD,CAA9B;AACH,K;;;;;;;6CA9CuD;AAAA,UAA3Ba,UAA2B,QAAnCC,MAAmC;AAAA,UAC5CA,MAD4C,GACjC,KAAKb,KAD4B,CAC5Ca,MAD4C;;AAGpD,UAAIA,MAAM,KAAKD,UAAX,IAAyB,CAACC,MAA9B,EAAsC;AAClC,aAAKJ,QAAL,CAAc;AACVV,UAAAA,kBAAkB,EAAEN,0BAA0B;AADpC,SAAd;AAGH;AACJ;;;6BAwCoB;AAAA,yBAiBb,KAAKO,KAjBQ;AAAA,UAEbc,SAFa,gBAEbA,SAFa;AAAA,UAGbC,mBAHa,gBAGbA,mBAHa;AAAA,UAILC,aAJK,gBAIbC,IAJa,CAILD,aAJK;AAAA,UAKbE,UALa,gBAKbA,UALa;AAAA,UAMbL,MANa,gBAMbA,MANa;AAAA,+CAObM,uBAPa;AAAA,UAObA,uBAPa,sCAOa,EAPb;AAAA,UAQbC,cARa,gBAQbA,cARa;AAAA,UASbC,QATa,gBASbA,QATa;AAAA,UAUbC,OAVa,gBAUbA,OAVa;AAAA,UAWbC,IAXa,gBAWbA,IAXa;AAAA,UAYbC,SAZa,gBAYbA,SAZa;AAAA,UAabvB,cAba,gBAabA,cAba;AAAA,UAcbwB,YAda,gBAcbA,YAda;AAAA,8CAebC,OAfa;AAAA,UAebA,OAfa,qCAeH,IAfG;AAAA,+CAgBbC,WAhBa;AAAA,UAgBbA,WAhBa,sCAgBCX,aAAa,CAACnB,QAAQ,CAAC+B,YAAV,CAhBd;AAAA,UAkBT7B,kBAlBS,GAkBc,KAAKY,KAlBnB,CAkBTZ,kBAlBS;AAmBjB,UAAM8B,wBAAwB,GAAG1C,UAAU,CAAC,iBAAD,EAAoB2B,SAApB,EAA+B;AACtE,uBAAeD;AADuD,OAA/B,CAA3C;AAIA,aACI,oBAAC,KAAD;AAAO,QAAA,SAAS,EAAEgB;AAAlB,SACK,CAACL,SAAD,IACG,oBAAC,KAAD,CAAO,MAAP;AAAc,QAAA,SAAS,EAAC;AAAxB,SACI,oBAAC,MAAD;AAAQ,QAAA,YAAY,EAAEC,YAAtB;AAAoC,QAAA,IAAI,EAAEF;AAA1C,QADJ,CAFR,EAOI,oBAAC,KAAD,CAAO,IAAP;AAAY,QAAA,SAAS,EAAC,sBAAtB;AAA6C,uBAAY;AAAzD,SACI,oBAAC,IAAD;AAAM,QAAA,aAAa,EAAE,KAAKO;AAA1B,SACI,oBAAC,sBAAD;AACI,QAAA,SAAS,EAAC,uBADd;AAEI,QAAA,QAAQ,EAAEjB,MAAM,GAAGM,uBAAH,GAA6B,EAFjD;AAGI,QAAA,cAAc,EAAEC,cAHpB;AAII,QAAA,WAAW,EAAErB,kBAJjB;AAKI,QAAA,SAAS,MALb;AAMI,QAAA,UAAU,EAAEmB,UANhB;AAOI,QAAA,UAAU,EAAEL,MAPhB;AAQI,QAAA,IAAI,EAAC,aART;AASI,QAAA,KAAK,EAAEG,aAAa,CAACnB,QAAQ,CAACkC,YAAV,CATxB;AAUI,QAAA,WAAW,EAAEf,aAAa,CAACnB,QAAQ,CAACmC,uBAAV,CAV9B;AAWI,QAAA,QAAQ,EAAE,KAAKC,8BAXnB;AAYI,QAAA,OAAO,EAAEX,OAZb;AAaI,QAAA,SAAS,EAAEP,mBAbf;AAcI,QAAA,WAAW,EAAEd,cAAc,GAAGiC,SAAH,GAAeP,WAd9C;AAeI,QAAA,cAAc,EAAE;AAfpB,QADJ,EAkBKD,OAAO,IACJ;AAAK,QAAA,SAAS,EAAC;AAAf,SACI,oBAAC,gBAAD,EAAsB7B,QAAQ,CAACsC,YAA/B,CADJ,CAnBR,EAwBKtB,MAAM,IAAI,oBAAC,mBAAD;AAAqB,QAAA,QAAQ,EAAEQ;AAA/B,QAxBf,CADJ,CAPJ,CADJ;AAsCH;;;;EAtHqBpC,KAAK,CAACmD,S,GAyHhC;;;gBAzHMtC,W,kBACoB;AAClBe,EAAAA,MAAM,EAAE;AADU,C;;AAyH1B,SAASf,WAAW,IAAIuC,oBAAxB;AACA,eAAehD,UAAU,CAACS,WAAD,CAAzB","sourcesContent":["/**\n * @flow\n * @file Component for Approval comment form\n */\n\nimport * as React from 'react';\nimport noop from 'lodash/noop';\nimport classNames from 'classnames';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport type { InjectIntlProvidedProps } from 'react-intl';\nimport Avatar from '../Avatar';\nimport CommentFormControls from './CommentFormControls';\nimport DraftJSMentionSelector, {\n createMentionSelectorState,\n getFormattedCommentText,\n} from '../../../../components/form-elements/draft-js-mention-selector';\nimport Form from '../../../../components/form-elements/form/Form';\nimport Media from '../../../../components/media';\nimport messages from './messages';\nimport type { GetAvatarUrlCallback } from '../../../common/flowTypes';\nimport type { SelectorItems, User } from '../../../../common/types/core';\n\nimport './CommentForm.scss';\n\ntype Props = {\n className: string,\n contactsLoaded?: boolean,\n createComment?: Function,\n entityId?: string,\n getAvatarUrl: GetAvatarUrlCallback,\n getMentionWithQuery?: Function,\n isDisabled?: boolean,\n isEditing?: boolean,\n isOpen: boolean,\n mentionSelectorContacts?: SelectorItems<>,\n onCancel: Function,\n onFocus?: Function,\n onSubmit?: Function,\n placeholder?: string,\n showTip?: boolean,\n tagged_message?: string,\n updateComment?: Function,\n user: User,\n} & InjectIntlProvidedProps;\n\ntype State = {\n commentEditorState: any,\n};\n\nclass CommentForm extends React.Component<Props, State> {\n static defaultProps = {\n isOpen: false,\n };\n\n state = {\n commentEditorState: createMentionSelectorState(this.props.tagged_message),\n };\n\n componentDidUpdate({ isOpen: prevIsOpen }: Props): void {\n const { isOpen } = this.props;\n\n if (isOpen !== prevIsOpen && !isOpen) {\n this.setState({\n commentEditorState: createMentionSelectorState(),\n });\n }\n }\n\n onFormValidSubmitHandler = (): void => {\n const { createComment = noop, updateComment = noop, onSubmit, entityId } = this.props;\n\n const { text, hasMention } = this.getFormattedCommentText();\n\n if (!text) {\n return;\n }\n\n if (entityId) {\n updateComment({ id: entityId, text, hasMention });\n } else {\n createComment({ text, hasMention });\n }\n\n if (onSubmit) {\n onSubmit();\n }\n\n this.setState({\n commentEditorState: createMentionSelectorState(),\n });\n };\n\n onMentionSelectorChangeHandler = (nextEditorState: any): void =>\n this.setState({ commentEditorState: nextEditorState });\n\n /**\n * Formats the comment editor's text such that it will be accepted by the server.\n *\n * @returns {Object}\n */\n getFormattedCommentText = (): { hasMention: boolean, text: string } => {\n const { commentEditorState } = this.state;\n\n return getFormattedCommentText(commentEditorState);\n };\n\n render(): React.Node {\n const {\n className,\n getMentionWithQuery,\n intl: { formatMessage },\n isDisabled,\n isOpen,\n mentionSelectorContacts = [],\n contactsLoaded,\n onCancel,\n onFocus,\n user,\n isEditing,\n tagged_message,\n getAvatarUrl,\n showTip = true,\n placeholder = formatMessage(messages.commentWrite),\n } = this.props;\n const { commentEditorState } = this.state;\n const inputContainerClassNames = classNames('bcs-CommentForm', className, {\n 'bcs-is-open': isOpen,\n });\n\n return (\n <Media className={inputContainerClassNames}>\n {!isEditing && (\n <Media.Figure className=\"bcs-CommentForm-avatar\">\n <Avatar getAvatarUrl={getAvatarUrl} user={user} />\n </Media.Figure>\n )}\n\n <Media.Body className=\"bcs-CommentForm-body\" data-testid=\"bcs-CommentForm-body\">\n <Form onValidSubmit={this.onFormValidSubmitHandler}>\n <DraftJSMentionSelector\n className=\"bcs-CommentForm-input\"\n contacts={isOpen ? mentionSelectorContacts : []}\n contactsLoaded={contactsLoaded}\n editorState={commentEditorState}\n hideLabel\n isDisabled={isDisabled}\n isRequired={isOpen}\n name=\"commentText\"\n label={formatMessage(messages.commentLabel)}\n description={formatMessage(messages.atMentionTipDescription)}\n onChange={this.onMentionSelectorChangeHandler}\n onFocus={onFocus}\n onMention={getMentionWithQuery}\n placeholder={tagged_message ? undefined : placeholder}\n validateOnBlur={false}\n />\n {showTip && (\n <div className=\"bcs-CommentForm-tip\">\n <FormattedMessage {...messages.atMentionTip} />\n </div>\n )}\n\n {isOpen && <CommentFormControls onCancel={onCancel} />}\n </Form>\n </Media.Body>\n </Media>\n );\n }\n}\n\n// For testing only\nexport { CommentForm as CommentFormUnwrapped };\nexport default injectIntl(CommentForm);\n"],"file":"CommentForm.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/elements/content-sidebar/activity-feed/comment-form/CommentForm.js"],"names":["React","noop","classNames","FormattedMessage","injectIntl","Avatar","CommentFormControls","DraftJSMentionSelector","createMentionSelectorState","getFormattedCommentText","Form","Media","messages","CommentForm","commentEditorState","props","tagged_message","createComment","updateComment","onSubmit","entityId","text","hasMention","id","setState","nextEditorState","state","prevIsOpen","isOpen","className","getMentionWithQuery","formatMessage","intl","isDisabled","mentionSelectorContacts","contactsLoaded","onCancel","onFocus","user","isEditing","getAvatarUrl","showTip","placeholder","commentWrite","inputContainerClassNames","onFormValidSubmitHandler","commentLabel","atMentionTipDescription","onMentionSelectorChangeHandler","undefined","atMentionTip","Component","CommentFormUnwrapped"],"mappings":"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","sourcesContent":["/**\n * @flow\n * @file Component for Approval comment form\n */\n\nimport * as React from 'react';\nimport noop from 'lodash/noop';\nimport classNames from 'classnames';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport type { InjectIntlProvidedProps } from 'react-intl';\nimport Avatar from '../Avatar';\nimport CommentFormControls from './CommentFormControls';\nimport DraftJSMentionSelector, {\n createMentionSelectorState,\n getFormattedCommentText,\n} from '../../../../components/form-elements/draft-js-mention-selector';\nimport Form from '../../../../components/form-elements/form/Form';\nimport Media from '../../../../components/media';\nimport messages from './messages';\nimport type { GetAvatarUrlCallback } from '../../../common/flowTypes';\nimport type { SelectorItems, User } from '../../../../common/types/core';\n\nimport './CommentForm.scss';\n\ntype Props = {\n className: string,\n contactsLoaded?: boolean,\n createComment?: Function,\n entityId?: string,\n getAvatarUrl?: GetAvatarUrlCallback,\n getMentionWithQuery?: Function,\n isDisabled?: boolean,\n isEditing?: boolean,\n isOpen: boolean,\n mentionSelectorContacts?: SelectorItems<>,\n onCancel: Function,\n onFocus?: Function,\n onSubmit?: Function,\n placeholder?: string,\n showTip?: boolean,\n tagged_message?: string,\n updateComment?: Function,\n user?: User,\n} & InjectIntlProvidedProps;\n\ntype State = {\n commentEditorState: any,\n};\n\nclass CommentForm extends React.Component<Props, State> {\n static defaultProps = {\n isOpen: false,\n };\n\n state = {\n commentEditorState: createMentionSelectorState(this.props.tagged_message),\n };\n\n componentDidUpdate({ isOpen: prevIsOpen }: Props): void {\n const { isOpen } = this.props;\n\n if (isOpen !== prevIsOpen && !isOpen) {\n this.setState({\n commentEditorState: createMentionSelectorState(),\n });\n }\n }\n\n onFormValidSubmitHandler = (): void => {\n const { createComment = noop, updateComment = noop, onSubmit, entityId } = this.props;\n\n const { text, hasMention } = this.getFormattedCommentText();\n\n if (!text) {\n return;\n }\n\n if (entityId) {\n updateComment({ id: entityId, text, hasMention });\n } else {\n createComment({ text, hasMention });\n }\n\n if (onSubmit) {\n onSubmit();\n }\n\n this.setState({\n commentEditorState: createMentionSelectorState(),\n });\n };\n\n onMentionSelectorChangeHandler = (nextEditorState: any): void =>\n this.setState({ commentEditorState: nextEditorState });\n\n /**\n * Formats the comment editor's text such that it will be accepted by the server.\n *\n * @returns {Object}\n */\n getFormattedCommentText = (): { hasMention: boolean, text: string } => {\n const { commentEditorState } = this.state;\n\n return getFormattedCommentText(commentEditorState);\n };\n\n render(): React.Node {\n const {\n className,\n getMentionWithQuery,\n intl: { formatMessage },\n isDisabled,\n isOpen,\n mentionSelectorContacts = [],\n contactsLoaded,\n onCancel,\n onFocus,\n user,\n isEditing,\n tagged_message,\n getAvatarUrl,\n showTip = true,\n placeholder = formatMessage(messages.commentWrite),\n } = this.props;\n const { commentEditorState } = this.state;\n const inputContainerClassNames = classNames('bcs-CommentForm', className, {\n 'bcs-is-open': isOpen,\n });\n\n return (\n <Media className={inputContainerClassNames}>\n {!isEditing && !!user && (\n <Media.Figure className=\"bcs-CommentForm-avatar\">\n <Avatar getAvatarUrl={getAvatarUrl} user={user} />\n </Media.Figure>\n )}\n\n <Media.Body className=\"bcs-CommentForm-body\" data-testid=\"bcs-CommentForm-body\">\n <Form onValidSubmit={this.onFormValidSubmitHandler}>\n <DraftJSMentionSelector\n className=\"bcs-CommentForm-input\"\n contacts={isOpen ? mentionSelectorContacts : []}\n contactsLoaded={contactsLoaded}\n editorState={commentEditorState}\n hideLabel\n isDisabled={isDisabled}\n isRequired={isOpen}\n name=\"commentText\"\n label={formatMessage(messages.commentLabel)}\n description={formatMessage(messages.atMentionTipDescription)}\n onChange={this.onMentionSelectorChangeHandler}\n onFocus={onFocus}\n onMention={getMentionWithQuery}\n placeholder={tagged_message ? undefined : placeholder}\n validateOnBlur={false}\n />\n {showTip && (\n <div className=\"bcs-CommentForm-tip\">\n <FormattedMessage {...messages.atMentionTip} />\n </div>\n )}\n\n {isOpen && <CommentFormControls onCancel={onCancel} />}\n </Form>\n </Media.Body>\n </Media>\n );\n }\n}\n\n// For testing only\nexport { CommentForm as CommentFormUnwrapped };\nexport default injectIntl(CommentForm);\n"],"file":"CommentForm.js"}
|
|
@@ -24,8 +24,8 @@ const messages = defineMessages({
|
|
|
24
24
|
},
|
|
25
25
|
activityMessageEdited: {
|
|
26
26
|
id: 'be.contentSidebar.activityFeed.common.editedMessage',
|
|
27
|
-
defaultMessage: ' (edited)',
|
|
28
|
-
description: 'Label indicating that message was edited, should be lowercase',
|
|
27
|
+
defaultMessage: '\\ (edited)',
|
|
28
|
+
description: 'Label indicating that message was edited, should be lowercase, should have escaped leading space',
|
|
29
29
|
},
|
|
30
30
|
});
|
|
31
31
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/elements/content-sidebar/activity-feed/common/activity-message/messages.js"],"names":["defineMessages","messages","activityMessageShowOriginal","activityMessageTranslate","activityMessageSeeMore","activityMessageSeeLess","activityMessageEdited"],"mappings":"AACA,SAASA,cAAT,QAA+B,YAA/B;AAEA,IAAMC,QAAQ,GAAGD,cAAc,CAAC;AAC5BE,EAAAA,2BAA2B;AAAA;AAAA;AAAA,GADC;AAM5BC,EAAAA,wBAAwB;AAAA;AAAA;AAAA,GANI;AAW5BC,EAAAA,sBAAsB;AAAA;AAAA;AAAA,GAXM;AAgB5BC,EAAAA,sBAAsB;AAAA;AAAA;AAAA,GAhBM;AAqB5BC,EAAAA,qBAAqB;AAAA;AAAA;AAAA;AArBO,CAAD,CAA/B;AA4BA,eAAeL,QAAf","sourcesContent":["// @flow\nimport { defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n activityMessageShowOriginal: {\n id: 'be.contentSidebar.activityFeed.commmon.showOriginalMessage',\n defaultMessage: 'Show Original',\n description: 'Show original button for showing original comment',\n },\n activityMessageTranslate: {\n id: 'be.contentSidebar.activityFeed.common.translateMessage',\n defaultMessage: 'Translate',\n description: 'Translate button for translating comment',\n },\n activityMessageSeeMore: {\n id: 'be.contentSidebar.activityFeed.common.seeMoreMessage',\n defaultMessage: 'See more',\n description: 'See more button for showing whole long message',\n },\n activityMessageSeeLess: {\n id: 'be.contentSidebar.activityFeed.common.seeLessMessage',\n defaultMessage: 'See less',\n description: 'See less button for hiding part of long message',\n },\n activityMessageEdited: {\n id: 'be.contentSidebar.activityFeed.common.editedMessage',\n defaultMessage: ' (edited)',\n description: 'Label indicating that message was edited, should be lowercase',\n },\n});\n\nexport default messages;\n"],"file":"messages.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/elements/content-sidebar/activity-feed/common/activity-message/messages.js"],"names":["defineMessages","messages","activityMessageShowOriginal","activityMessageTranslate","activityMessageSeeMore","activityMessageSeeLess","activityMessageEdited"],"mappings":"AACA,SAASA,cAAT,QAA+B,YAA/B;AAEA,IAAMC,QAAQ,GAAGD,cAAc,CAAC;AAC5BE,EAAAA,2BAA2B;AAAA;AAAA;AAAA,GADC;AAM5BC,EAAAA,wBAAwB;AAAA;AAAA;AAAA,GANI;AAW5BC,EAAAA,sBAAsB;AAAA;AAAA;AAAA,GAXM;AAgB5BC,EAAAA,sBAAsB;AAAA;AAAA;AAAA,GAhBM;AAqB5BC,EAAAA,qBAAqB;AAAA;AAAA;AAAA;AArBO,CAAD,CAA/B;AA4BA,eAAeL,QAAf","sourcesContent":["// @flow\nimport { defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n activityMessageShowOriginal: {\n id: 'be.contentSidebar.activityFeed.commmon.showOriginalMessage',\n defaultMessage: 'Show Original',\n description: 'Show original button for showing original comment',\n },\n activityMessageTranslate: {\n id: 'be.contentSidebar.activityFeed.common.translateMessage',\n defaultMessage: 'Translate',\n description: 'Translate button for translating comment',\n },\n activityMessageSeeMore: {\n id: 'be.contentSidebar.activityFeed.common.seeMoreMessage',\n defaultMessage: 'See more',\n description: 'See more button for showing whole long message',\n },\n activityMessageSeeLess: {\n id: 'be.contentSidebar.activityFeed.common.seeLessMessage',\n defaultMessage: 'See less',\n description: 'See less button for hiding part of long message',\n },\n activityMessageEdited: {\n id: 'be.contentSidebar.activityFeed.common.editedMessage',\n defaultMessage: '\\\\ (edited)',\n description: 'Label indicating that message was edited, should be lowercase, should have escaped leading space',\n },\n});\n\nexport default messages;\n"],"file":"messages.js"}
|
|
@@ -501,6 +501,7 @@ function (_React$Component) {
|
|
|
501
501
|
}), React.createElement(DatePicker, {
|
|
502
502
|
className: "bcs-task-add-due-date-input",
|
|
503
503
|
error: this.getErrorByFieldname('taskDueDate'),
|
|
504
|
+
errorTooltipPosition: "bottom-right",
|
|
504
505
|
inputProps: (_ref5 = {}, _defineProperty(_ref5, INTERACTION_TARGET, ACTIVITY_TARGETS.TASK_DATE_PICKER), _defineProperty(_ref5, 'data-testid', 'task-form-date-input'), _ref5),
|
|
505
506
|
isAccessible: true,
|
|
506
507
|
isDisabled: isForbiddenErrorOnEdit,
|
|
@@ -456,6 +456,7 @@ class TaskForm extends React.Component<Props, State> {
|
|
|
456
456
|
<DatePicker
|
|
457
457
|
className="bcs-task-add-due-date-input"
|
|
458
458
|
error={this.getErrorByFieldname('taskDueDate')}
|
|
459
|
+
errorTooltipPosition="bottom-right"
|
|
459
460
|
inputProps={{
|
|
460
461
|
[INTERACTION_TARGET]: ACTIVITY_TARGETS.TASK_DATE_PICKER,
|
|
461
462
|
'data-testid': 'task-form-date-input',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/elements/content-sidebar/activity-feed/task-form/TaskForm.js"],"names":["React","noop","getProp","isEmpty","classNames","FormattedMessage","injectIntl","commonMessages","messages","commentFormMessages","Form","ModalActions","ContactDatalistItem","TextArea","DatePicker","Checkbox","PillSelectorDropdown","Button","FeatureFlag","PrimaryButton","TASK_COMPLETION_RULE_ANY","TASK_COMPLETION_RULE_ALL","TASK_EDIT_MODE_CREATE","TASK_EDIT_MODE_EDIT","ACTIVITY_TARGETS","INTERACTION_TARGET","TaskError","convertAssigneesToSelectorItems","approvers","map","target","newSelectorItem","id","name","item","value","text","TaskForm","getInitialFormState","only","invalidSubmitValidityState","setState","state","intl","props","message","approverTextInput","assigneeFieldMissingError","code","formatMessage","requiredFieldError","assigneeFieldInvalidError","invalidUserError","messageFieldError","taskDueDateError","invalidDateError","formValidityState","taskAssignees","length","taskName","taskDueDate","isValid","Object","values","every","val","fieldName","validateForm","undefined","onSubmitSuccess","clearForm","isLoading","e","onSubmitError","taskType","editMode","dueDate","addedAssignees","getAddedAssignees","removedAssignees","getRemovedAssignees","filter","assignee","type","getTime","currentApprovers","approverIds","approver","currentApprover","indexOf","currentApproverIds","createTask","editTask","completionRule","dueDateString","toISOString","completion_rule","description","due_at","handleSubmitSuccess","handleSubmitError","date","dateValue","Date","setHours","event","checked","getApproverWithQuery","pills","concat","pill","role","status","permissions","can_delete","can_update","option","index","splice","persist","currentTarget","onCancel","approverSelectorContacts","className","error","isDisabled","inputContainerClassNames","isCreateEditMode","selectedApprovers","approverOptions","find","pillSelectorOverlayClasses","scrollable","submitButtonMessage","tasksAddTaskFormSubmitLabel","tasksEditTaskFormSubmitLabel","shouldShowCompletionRule","isCompletionRuleCheckboxDisabled","isCompletionRuleCheckboxChecked","isForbiddenErrorOnEdit","handleInvalidSubmit","handleValidSubmit","getErrorByFieldname","tasksAddTaskFormSelectAssigneesLabel","handleApproverSelectorInput","handleApproverSelectorRemove","handleApproverSelectorSelect","approvalAddAssignee","taskCreateGroupLabel","email","taskAnyCheckboxLabel","taskAnyInfoGroupTooltip","handleCompletionRuleChange","taskAnyInfoTooltip","tasksAddTaskFormMessageLabel","handleChangeMessage","commentWrite","TASK_DATE_PICKER","tasksAddTaskFormDueDateLabel","handleDueDateChange","approvalSelectDate","APPROVAL_FORM_CANCEL","handleCancelClick","addResinInfo","tasksAddTaskFormCancelLabel","APPROVAL_FORM_POST","Component","TaskFormUnwrapped"],"mappings":"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","sourcesContent":["/**\n * @flow\n * @file Component for Approval comment form\n */\n\nimport * as React from 'react';\nimport noop from 'lodash/noop';\nimport getProp from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport type { InjectIntlProvidedProps } from 'react-intl';\nimport commonMessages from '../../../../common/messages';\nimport messages from './messages';\nimport commentFormMessages from '../comment-form/messages';\nimport Form from '../../../../components/form-elements/form/Form';\nimport ModalActions from '../../../../components/modal/ModalActions';\nimport ContactDatalistItem from '../../../../components/contact-datalist-item/ContactDatalistItem';\nimport TextArea from '../../../../components/text-area';\nimport DatePicker from '../../../../components/date-picker/DatePicker';\nimport Checkbox from '../../../../components/checkbox';\nimport PillSelectorDropdown from '../../../../components/pill-selector-dropdown/PillSelectorDropdown';\nimport Button from '../../../../components/button/Button';\nimport { FeatureFlag } from '../../../common/feature-checking';\nimport PrimaryButton from '../../../../components/primary-button/PrimaryButton';\nimport {\n TASK_COMPLETION_RULE_ANY,\n TASK_COMPLETION_RULE_ALL,\n TASK_EDIT_MODE_CREATE,\n TASK_EDIT_MODE_EDIT,\n} from '../../../../constants';\nimport { ACTIVITY_TARGETS, INTERACTION_TARGET } from '../../../common/interactionTargets';\nimport type {\n TaskCompletionRule,\n TaskCollabAssignee,\n TaskType,\n TaskEditMode,\n TaskUpdatePayload,\n} from '../../../../common/types/tasks';\nimport TaskError from './TaskError';\nimport type { GetAvatarUrlCallback } from '../../../common/flowTypes';\nimport type { ElementsXhrError } from '../../../../common/types/api';\nimport type { SelectorItems, SelectorItem, UserMini, GroupMini } from '../../../../common/types/core';\n\nimport './TaskForm.scss';\n\ntype TaskFormProps = {|\n error?: { status: number }, // TODO: update to ElementsXhrError once API supports it\n isDisabled?: boolean,\n onCancel: () => any,\n onSubmitError: (e: ElementsXhrError) => any,\n onSubmitSuccess: () => any,\n taskType: TaskType,\n|};\n\ntype TaskFormFieldProps = {|\n approvers: Array<TaskCollabAssignee>,\n completionRule: TaskCompletionRule,\n dueDate?: ?string,\n id: string,\n message: string,\n|};\n\ntype TaskFormConsumerProps = {|\n ...TaskFormFieldProps,\n approverSelectorContacts: SelectorItems<UserMini | GroupMini>,\n className?: string,\n createTask: (\n text: string,\n approvers: SelectorItems<>,\n taskType: TaskType,\n dueDate: ?string,\n completionRule: TaskCompletionRule,\n onSuccess: ?Function,\n onError: ?Function,\n ) => any,\n editMode?: TaskEditMode,\n editTask?: (task: TaskUpdatePayload, onSuccess: ?Function, onError: ?Function) => any,\n getApproverWithQuery?: Function,\n getAvatarUrl: GetAvatarUrlCallback,\n|};\n\ntype Props = TaskFormProps & TaskFormConsumerProps & InjectIntlProvidedProps;\n\ntype TaskFormFieldName = 'taskName' | 'taskAssignees' | 'taskDueDate';\n\ntype TaskFormInvalidSubmitState = { [key: TaskFormFieldName]: ?{ validityState: ?{ patternMismatch: boolean } } };\n\ntype State = {|\n approverTextInput: string, // partial text input value for approver field before autocomplete/select\n approvers: Array<TaskCollabAssignee>,\n completionRule: TaskCompletionRule,\n dueDate?: ?Date,\n formValidityState: { [key: TaskFormFieldName]: ?{ code: string, message: string } },\n id: string,\n isLoading: boolean,\n isValid: ?boolean,\n message: string,\n|};\n\nfunction convertAssigneesToSelectorItems(approvers: Array<TaskCollabAssignee>): SelectorItems<> {\n return approvers.map(({ target }) => {\n const newSelectorItem: SelectorItem<UserMini | GroupMini> = {\n id: target.id,\n name: target.name,\n item: target,\n value: target.id,\n text: target.name, // for PillSelectorDropdown SelectorOptions type\n };\n\n return newSelectorItem;\n });\n}\n\nclass TaskForm extends React.Component<Props, State> {\n static defaultProps = {\n approvers: [],\n approverSelectorContacts: [],\n editMode: TASK_EDIT_MODE_CREATE,\n id: '',\n message: '',\n };\n\n state = this.getInitialFormState();\n\n getInitialFormState() {\n const { dueDate, id, message, approvers, completionRule } = this.props;\n return {\n id,\n completionRule: completionRule || TASK_COMPLETION_RULE_ALL,\n approvers,\n approverTextInput: '',\n dueDate: dueDate ? new Date(dueDate) : null,\n formValidityState: {},\n message,\n isLoading: false,\n isValid: null,\n };\n }\n\n validateForm = (only?: TaskFormFieldName, invalidSubmitValidityState?: ?TaskFormInvalidSubmitState) => {\n this.setState(state => {\n const { intl } = this.props;\n const { approvers, message, approverTextInput } = state;\n const assigneeFieldMissingError = {\n code: 'required',\n message: intl.formatMessage(commonMessages.requiredFieldError),\n };\n const assigneeFieldInvalidError = {\n code: 'invalid',\n message: intl.formatMessage(commonMessages.invalidUserError),\n };\n const messageFieldError = {\n code: 'required',\n message: intl.formatMessage(commonMessages.requiredFieldError),\n };\n const taskDueDateError = {\n code: 'invalid',\n message: intl.formatMessage(commonMessages.invalidDateError),\n };\n const formValidityState = {\n taskAssignees:\n (approverTextInput.length ? assigneeFieldInvalidError : null) ||\n (approvers.length ? null : assigneeFieldMissingError),\n taskName: message ? null : messageFieldError,\n taskDueDate: getProp(invalidSubmitValidityState, 'taskDueDate.validityState.patternMismatch')\n ? taskDueDateError\n : null,\n };\n const isValid = Object.values(formValidityState).every(val => val == null);\n return {\n isValid,\n formValidityState: only\n ? { ...state.formValidityState, [only]: formValidityState[only] }\n : formValidityState,\n };\n });\n };\n\n getErrorByFieldname = (fieldName: TaskFormFieldName) => {\n const { formValidityState } = this.state;\n return formValidityState[fieldName] ? formValidityState[fieldName].message : null;\n };\n\n clearForm = () => this.setState(this.getInitialFormState());\n\n handleInvalidSubmit = (invalidSubmitValidityState?: ?TaskFormInvalidSubmitState) => {\n if (!isEmpty(invalidSubmitValidityState)) {\n this.validateForm(undefined, invalidSubmitValidityState);\n } else {\n this.validateForm();\n }\n };\n\n handleSubmitSuccess = () => {\n const { onSubmitSuccess } = this.props;\n if (onSubmitSuccess) {\n onSubmitSuccess();\n }\n\n this.clearForm();\n this.setState({ isLoading: false });\n };\n\n handleSubmitError = (e: ElementsXhrError) => {\n const { onSubmitError } = this.props;\n onSubmitError(e);\n this.setState({ isLoading: false });\n };\n\n addResinInfo = (): Object => {\n const { id, taskType, editMode } = this.props;\n const { dueDate } = this.state;\n const addedAssignees = this.getAddedAssignees();\n const removedAssignees = this.getRemovedAssignees();\n\n return {\n 'data-resin-taskid': id,\n 'data-resin-tasktype': taskType,\n 'data-resin-isediting': editMode === TASK_EDIT_MODE_EDIT,\n 'data-resin-numassigneesadded': addedAssignees.filter(assignee => assignee.target.type === 'user').length,\n 'data-resin-numgroupssadded': addedAssignees.filter(assignee => assignee.target.type === 'group').length,\n 'data-resin-numassigneesremoved': removedAssignees.length,\n 'data-resin-assigneesadded': addedAssignees.map(assignee => assignee.target.id),\n 'data-resin-assigneesremoved': removedAssignees.map(assignee => assignee.target.id),\n 'data-resin-duedate': dueDate && dueDate.getTime(),\n };\n };\n\n getAddedAssignees = (): Array<TaskCollabAssignee> => {\n // Added assignees are the ones in state that weren't in the prop\n const { approvers } = this.props;\n const { approvers: currentApprovers } = this.state;\n const approverIds = approvers.map(approver => approver.id);\n return currentApprovers.filter(currentApprover => approverIds.indexOf(currentApprover.id) === -1);\n };\n\n getRemovedAssignees = (): Array<TaskCollabAssignee> => {\n // Assignees to remove are the ones in the prop that cannot be found in state\n const { approvers } = this.props;\n const { approvers: currentApprovers } = this.state;\n const currentApproverIds = currentApprovers.map(currentApprover => currentApprover.id);\n return approvers.filter(approver => currentApproverIds.indexOf(approver.id) === -1);\n };\n\n handleValidSubmit = (): void => {\n const { id, createTask, editTask, editMode, taskType } = this.props;\n const { message, approvers: currentApprovers, dueDate, completionRule, isValid } = this.state;\n const dueDateString = dueDate && dueDate.toISOString();\n\n if (!isValid) return;\n\n this.setState({ isLoading: true });\n\n if (editMode === TASK_EDIT_MODE_EDIT && editTask) {\n editTask(\n {\n id,\n completion_rule: completionRule,\n description: message,\n due_at: dueDateString,\n addedAssignees: convertAssigneesToSelectorItems(this.getAddedAssignees()),\n removedAssignees: this.getRemovedAssignees(),\n },\n this.handleSubmitSuccess,\n this.handleSubmitError,\n );\n } else {\n createTask(\n message,\n convertAssigneesToSelectorItems(currentApprovers),\n taskType,\n dueDateString,\n completionRule,\n this.handleSubmitSuccess,\n this.handleSubmitError,\n );\n }\n };\n\n handleDueDateChange = (date: ?string): void => {\n let dateValue = null;\n if (date) {\n dateValue = new Date(date);\n // The date given to us is midnight of the date selected.\n // Modify date to be the end of day (minus 1 millisecond) for the given due date\n dateValue.setHours(23, 59, 59, 999);\n }\n this.setState({ dueDate: dateValue });\n this.validateForm('taskDueDate');\n };\n\n handleCompletionRuleChange = (event: SyntheticInputEvent<HTMLInputElement>) => {\n this.setState({ completionRule: event.target.checked ? TASK_COMPLETION_RULE_ANY : TASK_COMPLETION_RULE_ALL });\n };\n\n handleApproverSelectorInput = (value: any): void => {\n const { getApproverWithQuery = noop } = this.props;\n this.setState({ approverTextInput: value });\n getApproverWithQuery(value);\n };\n\n handleApproverSelectorSelect = (pills: Array<any>): void => {\n this.setState({\n approvers: this.state.approvers.concat(\n pills.map(pill => {\n return {\n id: '',\n target: pill.item,\n role: 'ASSIGNEE',\n type: 'task_collaborator',\n status: 'NOT_STARTED',\n permissions: { can_delete: false, can_update: false },\n };\n }),\n ),\n approverTextInput: '',\n });\n\n this.validateForm('taskAssignees');\n };\n\n handleApproverSelectorRemove = (option: any, index: number): void => {\n const approvers = [...this.state.approvers];\n approvers.splice(index, 1);\n this.setState({ approvers });\n this.validateForm('taskAssignees');\n };\n\n handleChangeMessage = (e: SyntheticInputEvent<HTMLTextAreaElement>) => {\n e.persist();\n this.setState({ message: e.currentTarget.value });\n this.validateForm('taskName');\n };\n\n handleCancelClick = () => {\n this.props.onCancel();\n };\n\n render() {\n const { approverSelectorContacts, className, error, isDisabled, intl, editMode, taskType } = this.props;\n const { dueDate, approvers, message, formValidityState, isLoading, completionRule } = this.state;\n const inputContainerClassNames = classNames('bcs-task-input-container', 'bcs-task-input-is-open', className);\n const isCreateEditMode = editMode === TASK_EDIT_MODE_CREATE;\n const selectedApprovers = convertAssigneesToSelectorItems(approvers);\n\n // filter out selected approvers\n // map to datalist item format\n const approverOptions = approverSelectorContacts.filter(\n ({ id }) => !selectedApprovers.find(({ value }) => value === id),\n );\n\n const pillSelectorOverlayClasses = classNames({\n scrollable: approverOptions.length > 4,\n });\n\n const submitButtonMessage = isCreateEditMode\n ? messages.tasksAddTaskFormSubmitLabel\n : messages.tasksEditTaskFormSubmitLabel;\n const shouldShowCompletionRule = approvers.length > 0;\n\n // Enable checkbox when there is a group or multiple users being assigned\n // TODO: consider setting contants for assignee types to src/constants.js\n // - move from src/features/collaborator-avatars/constants.js\n const isCompletionRuleCheckboxDisabled =\n approvers.filter(approver => approver.target.type === 'group').length <= 0 &&\n approvers.filter(approver => approver.target.type === 'user').length <= 1;\n\n const isCompletionRuleCheckboxChecked = completionRule === TASK_COMPLETION_RULE_ANY;\n const isForbiddenErrorOnEdit = isLoading || (getProp(error, 'status') === 403 && !isCreateEditMode);\n\n return (\n <div className={inputContainerClassNames} data-resin-component=\"taskform\">\n <div className=\"bcs-task-input-form-container\">\n <TaskError editMode={editMode} error={error} taskType={taskType} />\n <Form\n formValidityState={formValidityState}\n onInvalidSubmit={this.handleInvalidSubmit}\n onValidSubmit={this.handleValidSubmit}\n >\n <PillSelectorDropdown\n className={pillSelectorOverlayClasses}\n error={this.getErrorByFieldname('taskAssignees')}\n disabled={isForbiddenErrorOnEdit}\n inputProps={{ 'data-testid': 'task-form-assignee-input' }}\n isRequired\n label={<FormattedMessage {...messages.tasksAddTaskFormSelectAssigneesLabel} />}\n name=\"taskAssignees\"\n onBlur={() => this.validateForm('taskAssignees')}\n onInput={this.handleApproverSelectorInput}\n onRemove={this.handleApproverSelectorRemove}\n onSelect={this.handleApproverSelectorSelect}\n placeholder={intl.formatMessage(commentFormMessages.approvalAddAssignee)}\n selectedOptions={selectedApprovers}\n selectorOptions={approverOptions}\n shouldSetActiveItemOnOpen\n shouldClearUnmatchedInput\n validateForError={() => this.validateForm('taskAssignees')}\n >\n {approverOptions.map(({ id, name, item = {} }) => (\n <ContactDatalistItem\n key={id}\n data-testid=\"task-assignee-option\"\n name={name}\n subtitle={\n item.type === 'group' ? (\n <FormattedMessage {...messages.taskCreateGroupLabel} />\n ) : (\n item.email\n )\n }\n />\n ))}\n </PillSelectorDropdown>\n\n {shouldShowCompletionRule && (\n <>\n <FeatureFlag feature=\"activityFeed.tasks.assignToGroup\">\n <Checkbox\n data-testid=\"task-form-completion-rule-checkbox-group\"\n isChecked={isCompletionRuleCheckboxChecked}\n isDisabled={isCompletionRuleCheckboxDisabled || isForbiddenErrorOnEdit}\n label={<FormattedMessage {...messages.taskAnyCheckboxLabel} />}\n tooltip={intl.formatMessage(messages.taskAnyInfoGroupTooltip)}\n name=\"completionRule\"\n onChange={this.handleCompletionRuleChange}\n />\n </FeatureFlag>\n <FeatureFlag not feature=\"activityFeed.tasks.assignToGroup\">\n <Checkbox\n data-testid=\"task-form-completion-rule-checkbox\"\n isChecked={isCompletionRuleCheckboxChecked}\n isDisabled={isCompletionRuleCheckboxDisabled || isForbiddenErrorOnEdit}\n label={<FormattedMessage {...messages.taskAnyCheckboxLabel} />}\n tooltip={intl.formatMessage(messages.taskAnyInfoTooltip)}\n name=\"completionRule\"\n onChange={this.handleCompletionRuleChange}\n />\n </FeatureFlag>\n </>\n )}\n\n <TextArea\n className=\"bcs-task-name-input\"\n data-testid=\"task-form-name-input\"\n disabled={isDisabled || isForbiddenErrorOnEdit}\n error={this.getErrorByFieldname('taskName')}\n isRequired\n label={<FormattedMessage {...messages.tasksAddTaskFormMessageLabel} />}\n name=\"taskName\"\n onBlur={() => this.validateForm('taskName')}\n onChange={this.handleChangeMessage}\n placeholder={intl.formatMessage(commentFormMessages.commentWrite)}\n value={message}\n />\n <DatePicker\n className=\"bcs-task-add-due-date-input\"\n error={this.getErrorByFieldname('taskDueDate')}\n inputProps={{\n [INTERACTION_TARGET]: ACTIVITY_TARGETS.TASK_DATE_PICKER,\n 'data-testid': 'task-form-date-input',\n }}\n isAccessible\n isDisabled={isForbiddenErrorOnEdit}\n isKeyboardInputAllowed\n isRequired={false}\n label={<FormattedMessage {...messages.tasksAddTaskFormDueDateLabel} />}\n minDate={new Date()}\n name=\"taskDueDate\"\n onChange={this.handleDueDateChange}\n placeholder={intl.formatMessage(commentFormMessages.approvalSelectDate)}\n value={dueDate || undefined}\n />\n <ModalActions>\n <Button\n className=\"bcs-task-input-cancel-btn\"\n data-resin-target={ACTIVITY_TARGETS.APPROVAL_FORM_CANCEL}\n data-testid=\"task-form-cancel-button\"\n onClick={this.handleCancelClick}\n isDisabled={isLoading}\n type=\"button\"\n {...this.addResinInfo()}\n >\n <FormattedMessage {...messages.tasksAddTaskFormCancelLabel} />\n </Button>\n <PrimaryButton\n className=\"bcs-task-input-submit-btn\"\n data-resin-target={ACTIVITY_TARGETS.APPROVAL_FORM_POST}\n data-testid=\"task-form-submit-button\"\n isDisabled={isForbiddenErrorOnEdit}\n isLoading={isLoading}\n {...this.addResinInfo()}\n >\n <FormattedMessage {...submitButtonMessage} />\n </PrimaryButton>\n </ModalActions>\n </Form>\n </div>\n </div>\n );\n }\n}\n\n// For testing only\nexport { TaskForm as TaskFormUnwrapped };\nexport type { TaskFormConsumerProps as TaskFormProps };\n\nexport default injectIntl(TaskForm);\n"],"file":"TaskForm.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/elements/content-sidebar/activity-feed/task-form/TaskForm.js"],"names":["React","noop","getProp","isEmpty","classNames","FormattedMessage","injectIntl","commonMessages","messages","commentFormMessages","Form","ModalActions","ContactDatalistItem","TextArea","DatePicker","Checkbox","PillSelectorDropdown","Button","FeatureFlag","PrimaryButton","TASK_COMPLETION_RULE_ANY","TASK_COMPLETION_RULE_ALL","TASK_EDIT_MODE_CREATE","TASK_EDIT_MODE_EDIT","ACTIVITY_TARGETS","INTERACTION_TARGET","TaskError","convertAssigneesToSelectorItems","approvers","map","target","newSelectorItem","id","name","item","value","text","TaskForm","getInitialFormState","only","invalidSubmitValidityState","setState","state","intl","props","message","approverTextInput","assigneeFieldMissingError","code","formatMessage","requiredFieldError","assigneeFieldInvalidError","invalidUserError","messageFieldError","taskDueDateError","invalidDateError","formValidityState","taskAssignees","length","taskName","taskDueDate","isValid","Object","values","every","val","fieldName","validateForm","undefined","onSubmitSuccess","clearForm","isLoading","e","onSubmitError","taskType","editMode","dueDate","addedAssignees","getAddedAssignees","removedAssignees","getRemovedAssignees","filter","assignee","type","getTime","currentApprovers","approverIds","approver","currentApprover","indexOf","currentApproverIds","createTask","editTask","completionRule","dueDateString","toISOString","completion_rule","description","due_at","handleSubmitSuccess","handleSubmitError","date","dateValue","Date","setHours","event","checked","getApproverWithQuery","pills","concat","pill","role","status","permissions","can_delete","can_update","option","index","splice","persist","currentTarget","onCancel","approverSelectorContacts","className","error","isDisabled","inputContainerClassNames","isCreateEditMode","selectedApprovers","approverOptions","find","pillSelectorOverlayClasses","scrollable","submitButtonMessage","tasksAddTaskFormSubmitLabel","tasksEditTaskFormSubmitLabel","shouldShowCompletionRule","isCompletionRuleCheckboxDisabled","isCompletionRuleCheckboxChecked","isForbiddenErrorOnEdit","handleInvalidSubmit","handleValidSubmit","getErrorByFieldname","tasksAddTaskFormSelectAssigneesLabel","handleApproverSelectorInput","handleApproverSelectorRemove","handleApproverSelectorSelect","approvalAddAssignee","taskCreateGroupLabel","email","taskAnyCheckboxLabel","taskAnyInfoGroupTooltip","handleCompletionRuleChange","taskAnyInfoTooltip","tasksAddTaskFormMessageLabel","handleChangeMessage","commentWrite","TASK_DATE_PICKER","tasksAddTaskFormDueDateLabel","handleDueDateChange","approvalSelectDate","APPROVAL_FORM_CANCEL","handleCancelClick","addResinInfo","tasksAddTaskFormCancelLabel","APPROVAL_FORM_POST","Component","TaskFormUnwrapped"],"mappings":"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","sourcesContent":["/**\n * @flow\n * @file Component for Approval comment form\n */\n\nimport * as React from 'react';\nimport noop from 'lodash/noop';\nimport getProp from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport type { InjectIntlProvidedProps } from 'react-intl';\nimport commonMessages from '../../../../common/messages';\nimport messages from './messages';\nimport commentFormMessages from '../comment-form/messages';\nimport Form from '../../../../components/form-elements/form/Form';\nimport ModalActions from '../../../../components/modal/ModalActions';\nimport ContactDatalistItem from '../../../../components/contact-datalist-item/ContactDatalistItem';\nimport TextArea from '../../../../components/text-area';\nimport DatePicker from '../../../../components/date-picker/DatePicker';\nimport Checkbox from '../../../../components/checkbox';\nimport PillSelectorDropdown from '../../../../components/pill-selector-dropdown/PillSelectorDropdown';\nimport Button from '../../../../components/button/Button';\nimport { FeatureFlag } from '../../../common/feature-checking';\nimport PrimaryButton from '../../../../components/primary-button/PrimaryButton';\nimport {\n TASK_COMPLETION_RULE_ANY,\n TASK_COMPLETION_RULE_ALL,\n TASK_EDIT_MODE_CREATE,\n TASK_EDIT_MODE_EDIT,\n} from '../../../../constants';\nimport { ACTIVITY_TARGETS, INTERACTION_TARGET } from '../../../common/interactionTargets';\nimport type {\n TaskCompletionRule,\n TaskCollabAssignee,\n TaskType,\n TaskEditMode,\n TaskUpdatePayload,\n} from '../../../../common/types/tasks';\nimport TaskError from './TaskError';\nimport type { GetAvatarUrlCallback } from '../../../common/flowTypes';\nimport type { ElementsXhrError } from '../../../../common/types/api';\nimport type { SelectorItems, SelectorItem, UserMini, GroupMini } from '../../../../common/types/core';\n\nimport './TaskForm.scss';\n\ntype TaskFormProps = {|\n error?: { status: number }, // TODO: update to ElementsXhrError once API supports it\n isDisabled?: boolean,\n onCancel: () => any,\n onSubmitError: (e: ElementsXhrError) => any,\n onSubmitSuccess: () => any,\n taskType: TaskType,\n|};\n\ntype TaskFormFieldProps = {|\n approvers: Array<TaskCollabAssignee>,\n completionRule: TaskCompletionRule,\n dueDate?: ?string,\n id: string,\n message: string,\n|};\n\ntype TaskFormConsumerProps = {|\n ...TaskFormFieldProps,\n approverSelectorContacts: SelectorItems<UserMini | GroupMini>,\n className?: string,\n createTask: (\n text: string,\n approvers: SelectorItems<>,\n taskType: TaskType,\n dueDate: ?string,\n completionRule: TaskCompletionRule,\n onSuccess: ?Function,\n onError: ?Function,\n ) => any,\n editMode?: TaskEditMode,\n editTask?: (task: TaskUpdatePayload, onSuccess: ?Function, onError: ?Function) => any,\n getApproverWithQuery?: Function,\n getAvatarUrl: GetAvatarUrlCallback,\n|};\n\ntype Props = TaskFormProps & TaskFormConsumerProps & InjectIntlProvidedProps;\n\ntype TaskFormFieldName = 'taskName' | 'taskAssignees' | 'taskDueDate';\n\ntype TaskFormInvalidSubmitState = { [key: TaskFormFieldName]: ?{ validityState: ?{ patternMismatch: boolean } } };\n\ntype State = {|\n approverTextInput: string, // partial text input value for approver field before autocomplete/select\n approvers: Array<TaskCollabAssignee>,\n completionRule: TaskCompletionRule,\n dueDate?: ?Date,\n formValidityState: { [key: TaskFormFieldName]: ?{ code: string, message: string } },\n id: string,\n isLoading: boolean,\n isValid: ?boolean,\n message: string,\n|};\n\nfunction convertAssigneesToSelectorItems(approvers: Array<TaskCollabAssignee>): SelectorItems<> {\n return approvers.map(({ target }) => {\n const newSelectorItem: SelectorItem<UserMini | GroupMini> = {\n id: target.id,\n name: target.name,\n item: target,\n value: target.id,\n text: target.name, // for PillSelectorDropdown SelectorOptions type\n };\n\n return newSelectorItem;\n });\n}\n\nclass TaskForm extends React.Component<Props, State> {\n static defaultProps = {\n approvers: [],\n approverSelectorContacts: [],\n editMode: TASK_EDIT_MODE_CREATE,\n id: '',\n message: '',\n };\n\n state = this.getInitialFormState();\n\n getInitialFormState() {\n const { dueDate, id, message, approvers, completionRule } = this.props;\n return {\n id,\n completionRule: completionRule || TASK_COMPLETION_RULE_ALL,\n approvers,\n approverTextInput: '',\n dueDate: dueDate ? new Date(dueDate) : null,\n formValidityState: {},\n message,\n isLoading: false,\n isValid: null,\n };\n }\n\n validateForm = (only?: TaskFormFieldName, invalidSubmitValidityState?: ?TaskFormInvalidSubmitState) => {\n this.setState(state => {\n const { intl } = this.props;\n const { approvers, message, approverTextInput } = state;\n const assigneeFieldMissingError = {\n code: 'required',\n message: intl.formatMessage(commonMessages.requiredFieldError),\n };\n const assigneeFieldInvalidError = {\n code: 'invalid',\n message: intl.formatMessage(commonMessages.invalidUserError),\n };\n const messageFieldError = {\n code: 'required',\n message: intl.formatMessage(commonMessages.requiredFieldError),\n };\n const taskDueDateError = {\n code: 'invalid',\n message: intl.formatMessage(commonMessages.invalidDateError),\n };\n const formValidityState = {\n taskAssignees:\n (approverTextInput.length ? assigneeFieldInvalidError : null) ||\n (approvers.length ? null : assigneeFieldMissingError),\n taskName: message ? null : messageFieldError,\n taskDueDate: getProp(invalidSubmitValidityState, 'taskDueDate.validityState.patternMismatch')\n ? taskDueDateError\n : null,\n };\n const isValid = Object.values(formValidityState).every(val => val == null);\n return {\n isValid,\n formValidityState: only\n ? { ...state.formValidityState, [only]: formValidityState[only] }\n : formValidityState,\n };\n });\n };\n\n getErrorByFieldname = (fieldName: TaskFormFieldName) => {\n const { formValidityState } = this.state;\n return formValidityState[fieldName] ? formValidityState[fieldName].message : null;\n };\n\n clearForm = () => this.setState(this.getInitialFormState());\n\n handleInvalidSubmit = (invalidSubmitValidityState?: ?TaskFormInvalidSubmitState) => {\n if (!isEmpty(invalidSubmitValidityState)) {\n this.validateForm(undefined, invalidSubmitValidityState);\n } else {\n this.validateForm();\n }\n };\n\n handleSubmitSuccess = () => {\n const { onSubmitSuccess } = this.props;\n if (onSubmitSuccess) {\n onSubmitSuccess();\n }\n\n this.clearForm();\n this.setState({ isLoading: false });\n };\n\n handleSubmitError = (e: ElementsXhrError) => {\n const { onSubmitError } = this.props;\n onSubmitError(e);\n this.setState({ isLoading: false });\n };\n\n addResinInfo = (): Object => {\n const { id, taskType, editMode } = this.props;\n const { dueDate } = this.state;\n const addedAssignees = this.getAddedAssignees();\n const removedAssignees = this.getRemovedAssignees();\n\n return {\n 'data-resin-taskid': id,\n 'data-resin-tasktype': taskType,\n 'data-resin-isediting': editMode === TASK_EDIT_MODE_EDIT,\n 'data-resin-numassigneesadded': addedAssignees.filter(assignee => assignee.target.type === 'user').length,\n 'data-resin-numgroupssadded': addedAssignees.filter(assignee => assignee.target.type === 'group').length,\n 'data-resin-numassigneesremoved': removedAssignees.length,\n 'data-resin-assigneesadded': addedAssignees.map(assignee => assignee.target.id),\n 'data-resin-assigneesremoved': removedAssignees.map(assignee => assignee.target.id),\n 'data-resin-duedate': dueDate && dueDate.getTime(),\n };\n };\n\n getAddedAssignees = (): Array<TaskCollabAssignee> => {\n // Added assignees are the ones in state that weren't in the prop\n const { approvers } = this.props;\n const { approvers: currentApprovers } = this.state;\n const approverIds = approvers.map(approver => approver.id);\n return currentApprovers.filter(currentApprover => approverIds.indexOf(currentApprover.id) === -1);\n };\n\n getRemovedAssignees = (): Array<TaskCollabAssignee> => {\n // Assignees to remove are the ones in the prop that cannot be found in state\n const { approvers } = this.props;\n const { approvers: currentApprovers } = this.state;\n const currentApproverIds = currentApprovers.map(currentApprover => currentApprover.id);\n return approvers.filter(approver => currentApproverIds.indexOf(approver.id) === -1);\n };\n\n handleValidSubmit = (): void => {\n const { id, createTask, editTask, editMode, taskType } = this.props;\n const { message, approvers: currentApprovers, dueDate, completionRule, isValid } = this.state;\n const dueDateString = dueDate && dueDate.toISOString();\n\n if (!isValid) return;\n\n this.setState({ isLoading: true });\n\n if (editMode === TASK_EDIT_MODE_EDIT && editTask) {\n editTask(\n {\n id,\n completion_rule: completionRule,\n description: message,\n due_at: dueDateString,\n addedAssignees: convertAssigneesToSelectorItems(this.getAddedAssignees()),\n removedAssignees: this.getRemovedAssignees(),\n },\n this.handleSubmitSuccess,\n this.handleSubmitError,\n );\n } else {\n createTask(\n message,\n convertAssigneesToSelectorItems(currentApprovers),\n taskType,\n dueDateString,\n completionRule,\n this.handleSubmitSuccess,\n this.handleSubmitError,\n );\n }\n };\n\n handleDueDateChange = (date: ?string): void => {\n let dateValue = null;\n if (date) {\n dateValue = new Date(date);\n // The date given to us is midnight of the date selected.\n // Modify date to be the end of day (minus 1 millisecond) for the given due date\n dateValue.setHours(23, 59, 59, 999);\n }\n this.setState({ dueDate: dateValue });\n this.validateForm('taskDueDate');\n };\n\n handleCompletionRuleChange = (event: SyntheticInputEvent<HTMLInputElement>) => {\n this.setState({ completionRule: event.target.checked ? TASK_COMPLETION_RULE_ANY : TASK_COMPLETION_RULE_ALL });\n };\n\n handleApproverSelectorInput = (value: any): void => {\n const { getApproverWithQuery = noop } = this.props;\n this.setState({ approverTextInput: value });\n getApproverWithQuery(value);\n };\n\n handleApproverSelectorSelect = (pills: Array<any>): void => {\n this.setState({\n approvers: this.state.approvers.concat(\n pills.map(pill => {\n return {\n id: '',\n target: pill.item,\n role: 'ASSIGNEE',\n type: 'task_collaborator',\n status: 'NOT_STARTED',\n permissions: { can_delete: false, can_update: false },\n };\n }),\n ),\n approverTextInput: '',\n });\n\n this.validateForm('taskAssignees');\n };\n\n handleApproverSelectorRemove = (option: any, index: number): void => {\n const approvers = [...this.state.approvers];\n approvers.splice(index, 1);\n this.setState({ approvers });\n this.validateForm('taskAssignees');\n };\n\n handleChangeMessage = (e: SyntheticInputEvent<HTMLTextAreaElement>) => {\n e.persist();\n this.setState({ message: e.currentTarget.value });\n this.validateForm('taskName');\n };\n\n handleCancelClick = () => {\n this.props.onCancel();\n };\n\n render() {\n const { approverSelectorContacts, className, error, isDisabled, intl, editMode, taskType } = this.props;\n const { dueDate, approvers, message, formValidityState, isLoading, completionRule } = this.state;\n const inputContainerClassNames = classNames('bcs-task-input-container', 'bcs-task-input-is-open', className);\n const isCreateEditMode = editMode === TASK_EDIT_MODE_CREATE;\n const selectedApprovers = convertAssigneesToSelectorItems(approvers);\n\n // filter out selected approvers\n // map to datalist item format\n const approverOptions = approverSelectorContacts.filter(\n ({ id }) => !selectedApprovers.find(({ value }) => value === id),\n );\n\n const pillSelectorOverlayClasses = classNames({\n scrollable: approverOptions.length > 4,\n });\n\n const submitButtonMessage = isCreateEditMode\n ? messages.tasksAddTaskFormSubmitLabel\n : messages.tasksEditTaskFormSubmitLabel;\n const shouldShowCompletionRule = approvers.length > 0;\n\n // Enable checkbox when there is a group or multiple users being assigned\n // TODO: consider setting contants for assignee types to src/constants.js\n // - move from src/features/collaborator-avatars/constants.js\n const isCompletionRuleCheckboxDisabled =\n approvers.filter(approver => approver.target.type === 'group').length <= 0 &&\n approvers.filter(approver => approver.target.type === 'user').length <= 1;\n\n const isCompletionRuleCheckboxChecked = completionRule === TASK_COMPLETION_RULE_ANY;\n const isForbiddenErrorOnEdit = isLoading || (getProp(error, 'status') === 403 && !isCreateEditMode);\n\n return (\n <div className={inputContainerClassNames} data-resin-component=\"taskform\">\n <div className=\"bcs-task-input-form-container\">\n <TaskError editMode={editMode} error={error} taskType={taskType} />\n <Form\n formValidityState={formValidityState}\n onInvalidSubmit={this.handleInvalidSubmit}\n onValidSubmit={this.handleValidSubmit}\n >\n <PillSelectorDropdown\n className={pillSelectorOverlayClasses}\n error={this.getErrorByFieldname('taskAssignees')}\n disabled={isForbiddenErrorOnEdit}\n inputProps={{ 'data-testid': 'task-form-assignee-input' }}\n isRequired\n label={<FormattedMessage {...messages.tasksAddTaskFormSelectAssigneesLabel} />}\n name=\"taskAssignees\"\n onBlur={() => this.validateForm('taskAssignees')}\n onInput={this.handleApproverSelectorInput}\n onRemove={this.handleApproverSelectorRemove}\n onSelect={this.handleApproverSelectorSelect}\n placeholder={intl.formatMessage(commentFormMessages.approvalAddAssignee)}\n selectedOptions={selectedApprovers}\n selectorOptions={approverOptions}\n shouldSetActiveItemOnOpen\n shouldClearUnmatchedInput\n validateForError={() => this.validateForm('taskAssignees')}\n >\n {approverOptions.map(({ id, name, item = {} }) => (\n <ContactDatalistItem\n key={id}\n data-testid=\"task-assignee-option\"\n name={name}\n subtitle={\n item.type === 'group' ? (\n <FormattedMessage {...messages.taskCreateGroupLabel} />\n ) : (\n item.email\n )\n }\n />\n ))}\n </PillSelectorDropdown>\n\n {shouldShowCompletionRule && (\n <>\n <FeatureFlag feature=\"activityFeed.tasks.assignToGroup\">\n <Checkbox\n data-testid=\"task-form-completion-rule-checkbox-group\"\n isChecked={isCompletionRuleCheckboxChecked}\n isDisabled={isCompletionRuleCheckboxDisabled || isForbiddenErrorOnEdit}\n label={<FormattedMessage {...messages.taskAnyCheckboxLabel} />}\n tooltip={intl.formatMessage(messages.taskAnyInfoGroupTooltip)}\n name=\"completionRule\"\n onChange={this.handleCompletionRuleChange}\n />\n </FeatureFlag>\n <FeatureFlag not feature=\"activityFeed.tasks.assignToGroup\">\n <Checkbox\n data-testid=\"task-form-completion-rule-checkbox\"\n isChecked={isCompletionRuleCheckboxChecked}\n isDisabled={isCompletionRuleCheckboxDisabled || isForbiddenErrorOnEdit}\n label={<FormattedMessage {...messages.taskAnyCheckboxLabel} />}\n tooltip={intl.formatMessage(messages.taskAnyInfoTooltip)}\n name=\"completionRule\"\n onChange={this.handleCompletionRuleChange}\n />\n </FeatureFlag>\n </>\n )}\n\n <TextArea\n className=\"bcs-task-name-input\"\n data-testid=\"task-form-name-input\"\n disabled={isDisabled || isForbiddenErrorOnEdit}\n error={this.getErrorByFieldname('taskName')}\n isRequired\n label={<FormattedMessage {...messages.tasksAddTaskFormMessageLabel} />}\n name=\"taskName\"\n onBlur={() => this.validateForm('taskName')}\n onChange={this.handleChangeMessage}\n placeholder={intl.formatMessage(commentFormMessages.commentWrite)}\n value={message}\n />\n <DatePicker\n className=\"bcs-task-add-due-date-input\"\n error={this.getErrorByFieldname('taskDueDate')}\n errorTooltipPosition=\"bottom-right\"\n inputProps={{\n [INTERACTION_TARGET]: ACTIVITY_TARGETS.TASK_DATE_PICKER,\n 'data-testid': 'task-form-date-input',\n }}\n isAccessible\n isDisabled={isForbiddenErrorOnEdit}\n isKeyboardInputAllowed\n isRequired={false}\n label={<FormattedMessage {...messages.tasksAddTaskFormDueDateLabel} />}\n minDate={new Date()}\n name=\"taskDueDate\"\n onChange={this.handleDueDateChange}\n placeholder={intl.formatMessage(commentFormMessages.approvalSelectDate)}\n value={dueDate || undefined}\n />\n <ModalActions>\n <Button\n className=\"bcs-task-input-cancel-btn\"\n data-resin-target={ACTIVITY_TARGETS.APPROVAL_FORM_CANCEL}\n data-testid=\"task-form-cancel-button\"\n onClick={this.handleCancelClick}\n isDisabled={isLoading}\n type=\"button\"\n {...this.addResinInfo()}\n >\n <FormattedMessage {...messages.tasksAddTaskFormCancelLabel} />\n </Button>\n <PrimaryButton\n className=\"bcs-task-input-submit-btn\"\n data-resin-target={ACTIVITY_TARGETS.APPROVAL_FORM_POST}\n data-testid=\"task-form-submit-button\"\n isDisabled={isForbiddenErrorOnEdit}\n isLoading={isLoading}\n {...this.addResinInfo()}\n >\n <FormattedMessage {...submitButtonMessage} />\n </PrimaryButton>\n </ModalActions>\n </Form>\n </div>\n </div>\n );\n }\n}\n\n// For testing only\nexport { TaskForm as TaskFormUnwrapped };\nexport type { TaskFormConsumerProps as TaskFormProps };\n\nexport default injectIntl(TaskForm);\n"],"file":"TaskForm.js"}
|
|
@@ -44,15 +44,14 @@ var AvatarGroupAvatar = React.memo(function (_ref2) {
|
|
|
44
44
|
className: classNames('bcs-AvatarGroupAvatar', className),
|
|
45
45
|
"data-testid": "avatar-group-avatar-container"
|
|
46
46
|
}, rest), React.createElement(Avatar, {
|
|
47
|
+
badgeIcon: React.createElement(StatusIcon, {
|
|
48
|
+
className: "".concat(camelCase(status)),
|
|
49
|
+
status: status,
|
|
50
|
+
title: React.createElement(FormattedMessage, messages.taskAssignmentCompleted)
|
|
51
|
+
}),
|
|
47
52
|
className: "bcs-AvatarGroupAvatar-avatar",
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}), React.createElement(StatusIcon, {
|
|
51
|
-
status: status,
|
|
52
|
-
className: "bcs-AvatarGroupAvatar-statusIcon ".concat(camelCase(status)),
|
|
53
|
-
height: 12,
|
|
54
|
-
width: 12,
|
|
55
|
-
title: React.createElement(FormattedMessage, messages.taskAssignmentCompleted)
|
|
53
|
+
getAvatarUrl: getAvatarUrl,
|
|
54
|
+
user: user
|
|
56
55
|
}));
|
|
57
56
|
});
|
|
58
57
|
export default AvatarGroupAvatar;
|
|
@@ -40,13 +40,17 @@ const AvatarGroupAvatar = React.memo<Props>(({ user, status, getAvatarUrl, class
|
|
|
40
40
|
data-testid="avatar-group-avatar-container"
|
|
41
41
|
{...rest}
|
|
42
42
|
>
|
|
43
|
-
<Avatar
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
43
|
+
<Avatar
|
|
44
|
+
badgeIcon={
|
|
45
|
+
<StatusIcon
|
|
46
|
+
className={`${camelCase(status)}`}
|
|
47
|
+
status={status}
|
|
48
|
+
title={<FormattedMessage {...messages.taskAssignmentCompleted} />}
|
|
49
|
+
/>
|
|
50
|
+
}
|
|
51
|
+
className="bcs-AvatarGroupAvatar-avatar"
|
|
52
|
+
getAvatarUrl={getAvatarUrl}
|
|
53
|
+
user={user}
|
|
50
54
|
/>
|
|
51
55
|
</div>
|
|
52
56
|
));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/elements/content-sidebar/activity-feed/task-new/AvatarGroupAvatar.js"],"names":["React","FormattedMessage","classNames","camelCase","IconComplete","IconReject","Avatar","TASK_NEW_APPROVED","TASK_NEW_REJECTED","TASK_NEW_COMPLETED","TASK_NEW_NOT_STARTED","messages","StatusIcon","status","rest","AvatarGroupAvatar","memo","user","getAvatarUrl","className","taskAssignmentCompleted"],"mappings":";;;;;;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,gBAAT,QAAiC,YAAjC;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,SAAP,MAAsB,kBAAtB;AACA,OAAOC,YAAP,MAAyB,wCAAzB;AACA,OAAOC,UAAP,MAAuB,wCAAvB;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,SAASC,iBAAT,EAA4BC,iBAA5B,EAA+CC,kBAA/C,EAAmEC,oBAAnE,QAA+F,uBAA/F;AACA,OAAOC,QAAP,MAAqB,YAArB;AAKA,OAAO,0BAAP;;AASA,IAAMC,UAAU,GAAG,SAAbA,UAAa,OAAuD;AAAA,MAApDC,MAAoD,QAApDA,MAAoD;AAAA,MAAzCC,IAAyC;;AACtE,UAAQD,MAAR;AACI,SAAKN,iBAAL;AACA,SAAKE,kBAAL;AACI,aAAO,oBAAC,YAAD,EAAkBK,IAAlB,CAAP;;AACJ,SAAKN,iBAAL;AACI,aAAO,oBAAC,UAAD,EAAgBM,IAAhB,CAAP;;AACJ,SAAKJ,oBAAL;AACA;AACI,aAAO,IAAP;AARR;AAUH,CAXD;;AAaA,IAAMK,iBAAiB,GAAGf,KAAK,CAACgB,IAAN,CAAkB;AAAA,MAAGC,IAAH,SAAGA,IAAH;AAAA,MAASJ,MAAT,SAASA,MAAT;AAAA,MAAiBK,YAAjB,SAAiBA,YAAjB;AAAA,MAA+BC,SAA/B,SAA+BA,SAA/B;AAAA,MAA6CL,IAA7C;;AAAA,SACxC;AACI,IAAA,SAAS,EAAEZ,UAAU,CAAC,uBAAD,EAA0BiB,SAA1B,CADzB;AAEI,mBAAY;AAFhB,KAGQL,IAHR,GAKI,oBAAC,MAAD;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/elements/content-sidebar/activity-feed/task-new/AvatarGroupAvatar.js"],"names":["React","FormattedMessage","classNames","camelCase","IconComplete","IconReject","Avatar","TASK_NEW_APPROVED","TASK_NEW_REJECTED","TASK_NEW_COMPLETED","TASK_NEW_NOT_STARTED","messages","StatusIcon","status","rest","AvatarGroupAvatar","memo","user","getAvatarUrl","className","taskAssignmentCompleted"],"mappings":";;;;;;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,gBAAT,QAAiC,YAAjC;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,SAAP,MAAsB,kBAAtB;AACA,OAAOC,YAAP,MAAyB,wCAAzB;AACA,OAAOC,UAAP,MAAuB,wCAAvB;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,SAASC,iBAAT,EAA4BC,iBAA5B,EAA+CC,kBAA/C,EAAmEC,oBAAnE,QAA+F,uBAA/F;AACA,OAAOC,QAAP,MAAqB,YAArB;AAKA,OAAO,0BAAP;;AASA,IAAMC,UAAU,GAAG,SAAbA,UAAa,OAAuD;AAAA,MAApDC,MAAoD,QAApDA,MAAoD;AAAA,MAAzCC,IAAyC;;AACtE,UAAQD,MAAR;AACI,SAAKN,iBAAL;AACA,SAAKE,kBAAL;AACI,aAAO,oBAAC,YAAD,EAAkBK,IAAlB,CAAP;;AACJ,SAAKN,iBAAL;AACI,aAAO,oBAAC,UAAD,EAAgBM,IAAhB,CAAP;;AACJ,SAAKJ,oBAAL;AACA;AACI,aAAO,IAAP;AARR;AAUH,CAXD;;AAaA,IAAMK,iBAAiB,GAAGf,KAAK,CAACgB,IAAN,CAAkB;AAAA,MAAGC,IAAH,SAAGA,IAAH;AAAA,MAASJ,MAAT,SAASA,MAAT;AAAA,MAAiBK,YAAjB,SAAiBA,YAAjB;AAAA,MAA+BC,SAA/B,SAA+BA,SAA/B;AAAA,MAA6CL,IAA7C;;AAAA,SACxC;AACI,IAAA,SAAS,EAAEZ,UAAU,CAAC,uBAAD,EAA0BiB,SAA1B,CADzB;AAEI,mBAAY;AAFhB,KAGQL,IAHR,GAKI,oBAAC,MAAD;AACI,IAAA,SAAS,EACL,oBAAC,UAAD;AACI,MAAA,SAAS,YAAKX,SAAS,CAACU,MAAD,CAAd,CADb;AAEI,MAAA,MAAM,EAAEA,MAFZ;AAGI,MAAA,KAAK,EAAE,oBAAC,gBAAD,EAAsBF,QAAQ,CAACS,uBAA/B;AAHX,MAFR;AAQI,IAAA,SAAS,EAAC,8BARd;AASI,IAAA,YAAY,EAAEF,YATlB;AAUI,IAAA,IAAI,EAAED;AAVV,IALJ,CADwC;AAAA,CAAlB,CAA1B;AAqBA,eAAeF,iBAAf","sourcesContent":["// @flow\nimport * as React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport classNames from 'classnames';\nimport camelCase from 'lodash/camelCase';\nimport IconComplete from '../../../../icons/general/IconVerified';\nimport IconReject from '../../../../icons/general/IconRejected';\nimport Avatar from '../Avatar';\nimport { TASK_NEW_APPROVED, TASK_NEW_REJECTED, TASK_NEW_COMPLETED, TASK_NEW_NOT_STARTED } from '../../../../constants';\nimport messages from './messages';\nimport type { TaskCollabStatus } from '../../../../common/types/tasks';\nimport type { UserMini } from '../../../../common/types/core';\nimport type { GetAvatarUrlCallback } from '../../../common/flowTypes';\n\nimport './AvatarGroupAvatar.scss';\n\ntype Props = {\n className?: string,\n getAvatarUrl?: GetAvatarUrlCallback,\n status: TaskCollabStatus,\n user: UserMini,\n};\n\nconst StatusIcon = ({ status, ...rest }: { status: TaskCollabStatus }) => {\n switch (status) {\n case TASK_NEW_APPROVED:\n case TASK_NEW_COMPLETED:\n return <IconComplete {...rest} />;\n case TASK_NEW_REJECTED:\n return <IconReject {...rest} />;\n case TASK_NEW_NOT_STARTED:\n default:\n return null;\n }\n};\n\nconst AvatarGroupAvatar = React.memo<Props>(({ user, status, getAvatarUrl, className, ...rest }: Props) => (\n <div\n className={classNames('bcs-AvatarGroupAvatar', className)}\n data-testid=\"avatar-group-avatar-container\"\n {...rest}\n >\n <Avatar\n badgeIcon={\n <StatusIcon\n className={`${camelCase(status)}`}\n status={status}\n title={<FormattedMessage {...messages.taskAssignmentCompleted} />}\n />\n }\n className=\"bcs-AvatarGroupAvatar-avatar\"\n getAvatarUrl={getAvatarUrl}\n user={user}\n />\n </div>\n));\n\nexport default AvatarGroupAvatar;\n"],"file":"AvatarGroupAvatar.js"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
@import '../../../common/variables';
|
|
2
|
-
@import '
|
|
2
|
+
@import '../../mixins';
|
|
3
3
|
|
|
4
4
|
$bcs-AvatarGroupAvatar-avatar-size: 32px;
|
|
5
5
|
|
|
@@ -16,7 +16,3 @@ $bcs-AvatarGroupAvatar-avatar-size: 32px;
|
|
|
16
16
|
width: 100%;
|
|
17
17
|
height: 100%;
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
.bcs-AvatarGroupAvatar-statusIcon {
|
|
21
|
-
@include avatar-badge-icon;
|
|
22
|
-
}
|