box-ui-elements 23.4.0-beta.23 → 23.4.0-beta.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/explorer.js +1 -1
- package/dist/explorer.js.LICENSE.txt +9 -0
- package/dist/openwith.js +1 -1
- package/dist/openwith.js.LICENSE.txt +9 -0
- package/dist/picker.js +1 -1
- package/dist/picker.js.LICENSE.txt +9 -0
- package/dist/preview.js +1 -1
- package/dist/preview.js.LICENSE.txt +9 -0
- package/dist/sharing.js +1 -1
- package/dist/sharing.js.LICENSE.txt +9 -0
- package/dist/sidebar.js +1 -1
- package/dist/sidebar.js.LICENSE.txt +9 -0
- package/dist/uploader.js +1 -1
- package/dist/uploader.js.LICENSE.txt +9 -0
- package/es/api/Feed.js +2 -2
- package/es/api/Metadata.js +2 -2
- package/es/api/Versions.js +2 -2
- package/es/api/tasks/TasksBase.js +2 -2
- package/es/api/tasks/TasksNew.js +2 -2
- package/es/api/uploads/BaseUpload.js +4 -0
- package/es/api/uploads/BaseUpload.js.flow +5 -1
- package/es/api/uploads/BaseUpload.js.map +1 -1
- package/es/api/uploads/MultiputUpload.js +7 -0
- package/es/api/uploads/MultiputUpload.js.flow +11 -6
- package/es/api/uploads/MultiputUpload.js.map +1 -1
- package/es/api/uploads/PlainUpload.js +2 -1
- package/es/api/uploads/PlainUpload.js.flow +3 -2
- package/es/api/uploads/PlainUpload.js.map +1 -1
- package/es/components/accessible-svg/AccessibleSVG.js +2 -2
- package/es/components/badge/Badge.js +2 -2
- package/es/components/badge/BetaBadge.js +2 -2
- package/es/components/badge/TrialBadge.js +2 -2
- package/es/components/badge/UpgradeBadge.js +2 -2
- package/es/components/button/Button.js +2 -2
- package/es/components/button/Button.stories.js +3 -20
- package/es/components/button/Button.stories.js.map +1 -1
- package/es/components/button-group/ButtonGroup.stories.js +1 -4
- package/es/components/button-group/ButtonGroup.stories.js.map +1 -1
- package/es/components/button-group/__test__/ButtonGroup.test.js +1 -1
- package/es/components/button-group/__test__/ButtonGroup.test.js.map +1 -1
- package/es/components/checkbox/Checkbox.js +2 -2
- package/es/components/checkbox/CheckboxField.js +2 -2
- package/es/components/contact-datalist-item/ContactDatalistItem.js +2 -2
- package/es/components/count-badge/CountBadge.js +2 -2
- package/es/components/datalist-item/DatalistItem.js +2 -2
- package/es/components/date-picker/DatePicker.js +1 -1
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/fieldset/Fieldset.js +2 -2
- package/es/components/flyout/Overlay.js +2 -2
- package/es/components/focus-trap/FocusTrap.js +2 -2
- package/es/components/form-elements/draft-js-mention-selector/DraftJSMentionSelectorCore.js +2 -2
- package/es/components/ghost/Ghost.js +2 -2
- package/es/components/grid-view/GridView.js +1 -1
- package/es/components/grid-view/GridView.js.map +1 -1
- package/es/components/guide-tooltip/GuideTooltip.js +2 -2
- package/es/components/guide-tooltip/GuideTooltip.stories.js +5 -5
- package/es/components/guide-tooltip/GuideTooltip.stories.js.map +1 -1
- package/es/components/header/Header.js +2 -2
- package/es/components/hotkeys/HotkeyFriendlyModal.js +2 -2
- package/es/components/i18n/FormattedCompMessage.js +2 -2
- package/es/components/i18n/Param.js +1 -1
- package/es/components/i18n/Param.js.map +1 -1
- package/es/components/image-tooltip/ImageTooltip.js +2 -2
- package/es/components/inline-notice/InlineNotice.js +2 -2
- package/es/components/label/HiddenLabel.js +2 -2
- package/es/components/label/Label.js +1 -1
- package/es/components/label/Label.js.map +1 -1
- package/es/components/label/LabelPrimitive.js +2 -2
- package/es/components/label/StandardLabel.js +2 -2
- package/es/components/label-pill/LabelPill.js +2 -2
- package/es/components/label-pill/LabelPillIcon.js +2 -2
- package/es/components/label-pill/LabelPillText.js +2 -2
- package/es/components/link/Link.js +2 -2
- package/es/components/link/LinkBase.js +2 -2
- package/es/components/link/LinkButton.js +2 -2
- package/es/components/link/LinkPrimaryButton.js +2 -2
- package/es/components/link/stories/Link.stories.js +2 -2
- package/es/components/link/stories/LinkButton.stories.js +2 -2
- package/es/components/link/stories/LinkPrimaryButton.stories.js +2 -2
- package/es/components/loading-indicator/LoadingIndicatorWrapper.js +2 -2
- package/es/components/loading-indicator/makeLoadable.js +2 -2
- package/es/components/media/Media.js +2 -2
- package/es/components/media/MediaBody.js +2 -2
- package/es/components/media/MediaFigure.js +2 -2
- package/es/components/media/MediaMenu.js +2 -2
- package/es/components/media-query/withMediaQuery.js +2 -2
- package/es/components/menu/Menu.js +2 -2
- package/es/components/menu/MenuHeader.js +2 -2
- package/es/components/menu/MenuItem.js +2 -2
- package/es/components/menu/MenuLinkItem.js +2 -2
- package/es/components/menu/MenuSectionHeader.js +2 -2
- package/es/components/menu/SubmenuItem.js +2 -2
- package/es/components/modal/Modal.js +2 -2
- package/es/components/modal/ModalActions.js +2 -2
- package/es/components/modal/ModalDialog.js +2 -2
- package/es/components/nav-sidebar/NavSidebar.js +2 -2
- package/es/components/nav-sidebar/NavSidebar.stories.js +1 -1
- package/es/components/nav-sidebar/NavSidebar.stories.js.flow +1 -1
- package/es/components/nav-sidebar/NavSidebar.stories.js.map +1 -1
- package/es/components/pill-selector-dropdown/PillSelector.js +2 -2
- package/es/components/pill-selector-dropdown/RoundPill.js +2 -2
- package/es/components/plain-button/PlainButton.js +2 -2
- package/es/components/plain-button/PlainButton.stories.js +0 -2
- package/es/components/plain-button/PlainButton.stories.js.map +1 -1
- package/es/components/portal/Portal.js +1 -1
- package/es/components/portal/Portal.js.map +1 -1
- package/es/components/primary-button/PrimaryButton.js +2 -2
- package/es/components/primary-button/PrimaryButton.stories.js +1 -4
- package/es/components/primary-button/PrimaryButton.stories.js.map +1 -1
- package/es/components/radar/RadarAnimation.js +2 -2
- package/es/components/radio/RadioButton.js +2 -2
- package/es/components/radio/RadioButtonField.js +2 -2
- package/es/components/radio/RadioGroupField.js +2 -2
- package/es/components/react-virtualized-helpers/withInfiniteLoader.js +2 -2
- package/es/components/scroll-wrapper/ScrollWrapper.js +2 -2
- package/es/components/search-form/SearchForm.js +2 -2
- package/es/components/section/Section.js +2 -2
- package/es/components/select/Select.js +2 -2
- package/es/components/select-button/SelectButton.js +2 -2
- package/es/components/select-field/MultiSelectField.js +2 -2
- package/es/components/select-field/SelectField.js +2 -2
- package/es/components/select-field/SingleSelectField.js +2 -2
- package/es/components/selector-dropdown/SelectorDropdownExample.js +2 -2
- package/es/components/sidebar-toggle-button/SidebarToggleButton.js +2 -2
- package/es/components/slide-carousel/Slide.js +2 -2
- package/es/components/slide-carousel/SlideButton.js +2 -2
- package/es/components/table/Table.js +2 -2
- package/es/components/table/TableCell.js +2 -2
- package/es/components/table/TableHeaderCell.js +2 -2
- package/es/components/table/TableRow.js +2 -2
- package/es/components/text-area/TextArea.js +2 -2
- package/es/components/text-area/TextAreaField.js +2 -2
- package/es/components/text-input/TextInput.js +2 -2
- package/es/components/text-input/TextInputField.js +2 -2
- package/es/components/text-input-with-copy-button/TextInputWithCopyButton.js +2 -2
- package/es/components/thumbnail-card/ThumbnailCard.js +2 -2
- package/es/components/toggle/Toggle.js +2 -2
- package/es/components/toggle/ToggleField.js +2 -2
- package/es/components/tooltip/Tooltip.stories.js +8 -8
- package/es/components/tooltip/Tooltip.stories.js.map +1 -1
- package/es/elements/common/Tooltip.js +2 -2
- package/es/elements/common/back-button/BackButton.js +2 -2
- package/es/elements/common/content-answers/ContentAnswers.js +2 -2
- package/es/elements/common/droppable/makeDroppable.js +2 -2
- package/es/elements/common/error-boundary/ErrorBoundary.js +2 -2
- package/es/elements/common/feature-checking/withFeatureProvider.js +2 -2
- package/es/elements/common/item/ItemTypeIcon.js +2 -2
- package/es/elements/common/item/iconCellRenderer.js +2 -2
- package/es/elements/common/item/iconCellRenderer.js.map +1 -1
- package/es/elements/common/item/nameCellRenderer.js +2 -2
- package/es/elements/common/item/nameCellRenderer.js.map +1 -1
- package/es/elements/common/item-grid/ItemGrid.js +2 -2
- package/es/elements/common/item-list/ItemList.js +2 -2
- package/es/elements/common/logger/Logger.js +2 -2
- package/es/elements/common/makePopup.js +2 -2
- package/es/elements/common/makeResponsive.js +2 -2
- package/es/elements/common/nav-router/NavRouter.js +2 -2
- package/es/elements/common/nav-router/withNavRouter.js +2 -2
- package/es/elements/common/pagination/Pagination.js +2 -2
- package/es/elements/common/selectors/version.js +2 -2
- package/es/elements/common/stories/PreviewDialog.stories.js +1 -1
- package/es/elements/common/stories/PreviewDialog.stories.js.map +1 -1
- package/es/elements/common/sub-header/ViewModeChangeButton.js +2 -2
- package/es/elements/content-explorer/Content.js +2 -2
- package/es/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js +1 -1
- package/es/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js.map +1 -1
- package/es/elements/content-explorer/stories/RenameDialog.stories.js +1 -1
- package/es/elements/content-explorer/stories/RenameDialog.stories.js.map +1 -1
- package/es/elements/content-explorer/stories/ShareDialog.stories.js +1 -1
- package/es/elements/content-explorer/stories/ShareDialog.stories.js.map +1 -1
- package/es/elements/content-explorer/stories/tests/ContentExplorer-visual.stories.js +1 -1
- package/es/elements/content-explorer/stories/tests/ContentExplorer-visual.stories.js.flow +1 -2
- package/es/elements/content-explorer/stories/tests/ContentExplorer-visual.stories.js.map +1 -1
- package/es/elements/content-picker/ContentPicker.js +1 -2
- package/es/elements/content-picker/ContentPicker.js.flow +0 -1
- package/es/elements/content-picker/ContentPicker.js.map +1 -1
- package/es/elements/content-picker/ItemList.js +1 -1
- package/es/elements/content-picker/ItemList.js.flow +1 -1
- package/es/elements/content-picker/ItemList.js.map +1 -1
- package/es/elements/content-picker/checkboxCellRenderer.js +2 -2
- package/es/elements/content-picker/checkboxCellRenderer.js.map +1 -1
- package/es/elements/content-picker/selectionCellRenderer.js +2 -2
- package/es/elements/content-picker/selectionCellRenderer.js.map +1 -1
- package/es/elements/content-picker/shareAccessCellRenderer.js +2 -2
- package/es/elements/content-picker/shareAccessCellRenderer.js.map +1 -1
- package/es/elements/content-picker/stories/tests/ContentPicker-visual.stories.js +1 -25
- package/es/elements/content-picker/stories/tests/ContentPicker-visual.stories.js.flow +1 -25
- package/es/elements/content-picker/stories/tests/ContentPicker-visual.stories.js.map +1 -1
- package/es/elements/content-preview/ContentPreview.js +3 -3
- package/es/elements/content-preview/ContentPreview.js.map +1 -1
- package/es/elements/content-preview/preview-header/PreviewHeader.js +2 -2
- package/es/elements/content-preview/preview-header/PreviewHeader.js.map +1 -1
- package/es/elements/content-preview/stories/tests/ContentPreview-visual.stories.js +1 -1
- package/es/elements/content-preview/stories/tests/ContentPreview-visual.stories.js.flow +1 -1
- package/es/elements/content-preview/stories/tests/ContentPreview-visual.stories.js.map +1 -1
- package/es/elements/content-sharing/ContentSharing.js +1 -1
- package/es/elements/content-sharing/ContentSharing.js.map +1 -1
- package/es/elements/content-sidebar/BoxAISidebar.js +2 -2
- package/es/elements/content-sidebar/BoxAISidebarContent.js +2 -2
- package/es/elements/content-sidebar/SidebarContent.js +2 -2
- package/es/elements/content-sidebar/SidebarNavSignButton.js +2 -2
- package/es/elements/content-sidebar/SidebarUtils.js +8 -8
- package/es/elements/content-sidebar/SidebarUtils.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/ActivityCard.js +2 -2
- package/es/elements/content-sidebar/activity-feed/SelectableActivityCard.js +2 -2
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.js +2 -2
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationThread.js +2 -2
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityLink.js +2 -2
- package/es/elements/content-sidebar/activity-feed/common/activity-datestamp/ActivityDatestamp.js +2 -2
- package/es/elements/content-sidebar/activity-feed/common/activity-error/ActivityError.js +2 -2
- package/es/elements/content-sidebar/activity-feed/common/delete-confirmation/DeleteConfirmation.js +2 -2
- package/es/elements/content-sidebar/activity-feed/common/user-link/UserLink.js +2 -2
- package/es/elements/content-sidebar/activity-feed/task-new/AvatarGroupAvatar.js +2 -2
- package/es/elements/content-sidebar/additional-tabs/AdditionalTab.js +2 -2
- package/es/elements/content-sidebar/fetchers/metadataTaxonomyFetcher.js +2 -2
- package/es/elements/content-sidebar/stories/MetadataSidebarRedesign.stories.js +1 -1
- package/es/elements/content-sidebar/stories/MetadataSidebarRedesign.stories.js.map +1 -1
- package/es/elements/content-sidebar/stories/tests/BoxAISidebar-visual.stories.js +1 -1
- package/es/elements/content-sidebar/stories/tests/BoxAISidebar-visual.stories.js.map +1 -1
- package/es/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.js +1 -1
- package/es/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.js.map +1 -1
- package/es/elements/content-sidebar/versions/VersionsGroup.js +2 -2
- package/es/elements/content-sidebar/versions/VersionsItemAction.js +2 -2
- package/es/elements/content-sidebar/versions/VersionsList.js +2 -2
- package/es/elements/content-sidebar/versions/VersionsMenu.js +2 -2
- package/es/elements/content-sidebar/versions/VersionsSidebar.js +2 -2
- package/es/elements/content-sidebar/withErrorHandling.js +2 -2
- package/es/elements/content-uploader/ContentUploader.js +7 -3
- package/es/elements/content-uploader/ContentUploader.js.map +1 -1
- package/es/elements/content-uploader/ItemAction.js +8 -3
- package/es/elements/content-uploader/ItemAction.js.map +1 -1
- package/es/elements/content-uploader/actionCellRenderer.js +2 -2
- package/es/elements/content-uploader/actionCellRenderer.js.map +1 -1
- package/es/elements/content-uploader/nameCellRenderer.js +2 -2
- package/es/elements/content-uploader/nameCellRenderer.js.map +1 -1
- package/es/elements/content-uploader/progressCellRenderer.js +2 -2
- package/es/elements/content-uploader/progressCellRenderer.js.map +1 -1
- package/es/elements/content-uploader/removeCellRenderer.js +2 -2
- package/es/elements/content-uploader/removeCellRenderer.js.map +1 -1
- package/es/elements/content-uploader/stories/tests/ContentUploader-visual.stories.js +1 -1
- package/es/elements/content-uploader/stories/tests/ContentUploader-visual.stories.js.flow +1 -1
- package/es/elements/content-uploader/stories/tests/ContentUploader-visual.stories.js.map +1 -1
- package/es/elements/wrappers/ContentExplorer.js +1 -1
- package/es/elements/wrappers/ContentExplorer.js.map +1 -1
- package/es/elements/wrappers/ContentOpenWith.js +1 -1
- package/es/elements/wrappers/ContentOpenWith.js.map +1 -1
- package/es/elements/wrappers/ContentPicker.js +3 -3
- package/es/elements/wrappers/ContentPicker.js.map +1 -1
- package/es/elements/wrappers/ContentPreview.js +1 -1
- package/es/elements/wrappers/ContentPreview.js.map +1 -1
- package/es/elements/wrappers/ContentSharing.js +1 -1
- package/es/elements/wrappers/ContentSharing.js.map +1 -1
- package/es/elements/wrappers/ContentSidebar.js +1 -1
- package/es/elements/wrappers/ContentSidebar.js.map +1 -1
- package/es/elements/wrappers/ContentUploader.js +3 -3
- package/es/elements/wrappers/ContentUploader.js.map +1 -1
- package/es/features/beta-feedback/BetaFeedbackBadge.js +2 -2
- package/es/features/classification/EditClassificationButton.js +2 -2
- package/es/features/collaborator-avatars/CollaboratorAvatarItem.js +2 -2
- package/es/features/collaborator-avatars/CollaboratorList.js +1 -1
- package/es/features/collaborator-avatars/CollaboratorList.js.map +1 -1
- package/es/features/collapsible-sidebar/CollapsibleSidebar.stories.js +1 -1
- package/es/features/collapsible-sidebar/CollapsibleSidebar.stories.js.map +1 -1
- package/es/features/collapsible-sidebar/CollapsibleSidebarMenuItem.js +2 -2
- package/es/features/collapsible-sidebar/CollapsibleSidebarNav.js +2 -2
- package/es/features/content-explorer/content-explorer/ContentExplorer.js +2 -2
- package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js +2 -2
- package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js +2 -2
- package/es/features/content-insights/CompactCount.js +2 -2
- package/es/features/header-flyout/HeaderFlyout.js +2 -2
- package/es/features/invite-collaborators-modal/InviteCollaboratorsModal.js +2 -2
- package/es/features/item-details/VersionHistoryLink.js +2 -2
- package/es/features/left-sidebar/LeftSidebarDropWrapper.js +2 -2
- package/es/features/message-center/components/collapsibile-scrollbar/CollapsibleScrollbar.js +2 -2
- package/es/features/pagination/Pagination.js +2 -2
- package/es/features/presence/PresenceAvatar.js +2 -2
- package/es/features/presence/PresenceAvatarList.js +2 -2
- package/es/features/presence/PresenceCollaborator.js +2 -2
- package/es/features/quick-search/QuickSearchItem.js +3 -3
- package/es/features/quick-search/QuickSearchItem.js.map +1 -1
- package/es/features/quick-search/QuickSearchSelector.js +2 -2
- package/es/features/security/SecurityBadge.js +2 -2
- package/es/features/share/ShareMenu.js +2 -2
- package/es/features/targeting/hocs/withTargetedClickThrough.js +2 -2
- package/es/features/virtualized-table/BaseVirtualizedTable.js +2 -2
- package/es/features/virtualized-table/DraggableVirtualizedTable.js +2 -2
- package/es/features/virtualized-table/VirtualizedTable.js +2 -2
- package/es/icons/accessible-svg/AccessibleSVG.js +2 -2
- package/es/icons/icons.stories.js +5 -22
- package/es/icons/icons.stories.js.map +1 -1
- package/es/src/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.d.ts +2 -2
- package/es/src/elements/content-uploader/ContentUploader.d.ts +1 -1
- package/es/src/icons/icons.stories.d.ts +1 -4
- package/package.json +16 -24
- package/src/api/uploads/BaseUpload.js +5 -1
- package/src/api/uploads/MultiputUpload.js +11 -6
- package/src/api/uploads/PlainUpload.js +3 -2
- package/src/api/uploads/__tests__/BaseUpload.test.js +14 -0
- package/src/components/avatar/__tests__/Avatar.test.tsx +1 -2
- package/src/components/button/Button.stories.tsx +2 -16
- package/src/components/button-group/ButtonGroup.stories.tsx +1 -2
- package/src/components/nav-sidebar/NavSidebar.stories.js +1 -1
- package/src/components/plain-button/PlainButton.stories.tsx +1 -2
- package/src/components/primary-button/PrimaryButton.stories.tsx +1 -4
- package/src/components/time-input/__tests__/TimeInput.test.tsx +1 -2
- package/src/elements/common/stories/PreviewDialog.stories.tsx +1 -2
- package/src/elements/common/stories/__tests__/PreviewDialog-visual.stories.tsx +2 -3
- package/src/elements/content-explorer/stories/ContentExplorer.mdx +1 -1
- package/src/elements/content-explorer/stories/DeleteConfirmationDialog.stories.tsx +1 -2
- package/src/elements/content-explorer/stories/RenameDialog.stories.tsx +1 -1
- package/src/elements/content-explorer/stories/ShareDialog.stories.tsx +1 -1
- package/src/elements/content-explorer/stories/tests/ContentExplorer-visual.stories.js +1 -2
- package/src/elements/content-open-with/stories/ContentOpenWith.mdx +1 -1
- package/src/elements/content-picker/ContentPicker.js +0 -1
- package/src/elements/content-picker/ItemList.js +1 -1
- package/src/elements/content-picker/stories/ContentPicker.mdx +1 -1
- package/src/elements/content-picker/stories/tests/ContentPicker-visual.stories.js +1 -25
- package/src/elements/content-preview/stories/ContentPreview.mdx +1 -1
- package/src/elements/content-preview/stories/tests/ContentPreview-visual.stories.js +1 -1
- package/src/elements/content-sharing/stories/ContentSharing.mdx +1 -1
- package/src/elements/content-sidebar/stories/BoxAISideBar.mdx +1 -1
- package/src/elements/content-sidebar/stories/ContentSidebar.mdx +1 -1
- package/src/elements/content-sidebar/stories/MetadataSidebar.mdx +1 -1
- package/src/elements/content-sidebar/stories/MetadataSidebarRedesign.stories.tsx +2 -2
- package/src/elements/content-sidebar/stories/tests/BoxAISidebar-visual.stories.tsx +1 -1
- package/src/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.tsx +2 -2
- package/src/elements/content-uploader/ContentUploader.tsx +7 -3
- package/src/elements/content-uploader/ItemAction.tsx +8 -2
- package/src/elements/content-uploader/stories/ContentUploader.mdx +1 -1
- package/src/elements/content-uploader/stories/tests/ContentUploader-visual.stories.js +1 -1
- package/src/icons/icons.stories.tsx +3 -12
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "box-ui-elements",
|
|
3
|
-
"version": "23.4.0-beta.
|
|
3
|
+
"version": "23.4.0-beta.25",
|
|
4
4
|
"description": "Box UI Elements",
|
|
5
5
|
"author": "Box (https://www.box.com/)",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -137,10 +137,10 @@
|
|
|
137
137
|
"@box/frontend": "^11.0.1",
|
|
138
138
|
"@box/item-icon": "^0.9.83",
|
|
139
139
|
"@box/languages": "^1.0.0",
|
|
140
|
-
"@box/metadata-editor": "^0.
|
|
140
|
+
"@box/metadata-editor": "^0.117.0",
|
|
141
141
|
"@box/react-virtualized": "^9.22.3-rc-box.10",
|
|
142
142
|
"@cfaester/enzyme-adapter-react-18": "^0.8.0",
|
|
143
|
-
"@chromatic-com/storybook": "^
|
|
143
|
+
"@chromatic-com/storybook": "^4.0.1",
|
|
144
144
|
"@commitlint/cli": "^19.8.0",
|
|
145
145
|
"@commitlint/config-conventional": "^19.8.0",
|
|
146
146
|
"@eslint/eslintrc": "^3.1.0",
|
|
@@ -149,23 +149,14 @@
|
|
|
149
149
|
"@formatjs/intl-relativetimeformat": "^4.5.9",
|
|
150
150
|
"@formatjs/intl-unified-numberformat": "^3.2.0",
|
|
151
151
|
"@hapi/address": "^2.1.4",
|
|
152
|
-
"@storybook/addon-
|
|
153
|
-
"@storybook/addon-
|
|
154
|
-
"@storybook/addon-
|
|
155
|
-
"@storybook/
|
|
156
|
-
"@
|
|
157
|
-
"@storybook/addon-links": "^8.2.4",
|
|
158
|
-
"@storybook/addon-styling-webpack": "^1.0.1",
|
|
159
|
-
"@storybook/addon-webpack5-compiler-babel": "^3.0.3",
|
|
160
|
-
"@storybook/blocks": "^8.2.4",
|
|
161
|
-
"@storybook/manager-api": "^8.2.4",
|
|
162
|
-
"@storybook/preview-api": "^8.2.4",
|
|
163
|
-
"@storybook/react-webpack5": "^8.6.14",
|
|
164
|
-
"@storybook/test": "^8.2.4",
|
|
165
|
-
"@storybook/theming": "^8.2.4",
|
|
152
|
+
"@storybook/addon-docs": "^9.0.14",
|
|
153
|
+
"@storybook/addon-styling-webpack": "^2.0.0",
|
|
154
|
+
"@storybook/addon-webpack5-compiler-babel": "^3.0.6",
|
|
155
|
+
"@storybook/react-webpack5": "^9.0.14",
|
|
156
|
+
"@testing-library/dom": "^10.4.0",
|
|
166
157
|
"@testing-library/jest-dom": "^6.4.6",
|
|
167
158
|
"@testing-library/react": "^16.0.0",
|
|
168
|
-
"@testing-library/user-event": "
|
|
159
|
+
"@testing-library/user-event": "14.5.2",
|
|
169
160
|
"@types/classnames": "^2.2.9",
|
|
170
161
|
"@types/color": "^3.0.2",
|
|
171
162
|
"@types/enzyme": "^3.10.18",
|
|
@@ -204,7 +195,7 @@
|
|
|
204
195
|
"css-loader": "^7.1.2",
|
|
205
196
|
"css-minimizer-webpack-plugin": "^7.0.0",
|
|
206
197
|
"cssnano": "^4.1.10",
|
|
207
|
-
"cypress": "^13.
|
|
198
|
+
"cypress": "^13.17.0",
|
|
208
199
|
"deepmerge": "^4.2.2",
|
|
209
200
|
"draft-js": "^0.11.7",
|
|
210
201
|
"enzyme": "^3.11.0",
|
|
@@ -242,8 +233,9 @@
|
|
|
242
233
|
"message-accumulator": "^2.1.1",
|
|
243
234
|
"mini-css-extract-plugin": "^2.9.0",
|
|
244
235
|
"mousetrap": "^1.6.3",
|
|
245
|
-
"msw": "^2.
|
|
246
|
-
"msw-storybook-addon": "^2.0.
|
|
236
|
+
"msw": "^2.10.2",
|
|
237
|
+
"msw-storybook-addon": "^2.0.5",
|
|
238
|
+
"node-polyfill-webpack-plugin": "^4.1.0",
|
|
247
239
|
"npm-run-all": "^4.1.5",
|
|
248
240
|
"pikaday": "^1.8.0",
|
|
249
241
|
"postcss": "^8.5.3",
|
|
@@ -280,8 +272,8 @@
|
|
|
280
272
|
"semantic-release": "^24.2.3",
|
|
281
273
|
"sinon": "^2.3.7",
|
|
282
274
|
"source-map-loader": "^0.2.4",
|
|
283
|
-
"storybook": "^
|
|
284
|
-
"storybook-react-intl": "^
|
|
275
|
+
"storybook": "^9.0.14",
|
|
276
|
+
"storybook-react-intl": "^4.0.7",
|
|
285
277
|
"string-replace-loader": "^3.1.0",
|
|
286
278
|
"styled-components": "5.0.0",
|
|
287
279
|
"stylelint": "^16.18.0",
|
|
@@ -306,7 +298,7 @@
|
|
|
306
298
|
"@box/cldr-data": ">=34.2.0",
|
|
307
299
|
"@box/combobox-with-api": "^0.34.9",
|
|
308
300
|
"@box/item-icon": "^0.9.83",
|
|
309
|
-
"@box/metadata-editor": "^0.
|
|
301
|
+
"@box/metadata-editor": "^0.117.0",
|
|
310
302
|
"@box/react-virtualized": "^9.22.3-rc-box.10",
|
|
311
303
|
"@hapi/address": "^2.1.4",
|
|
312
304
|
"axios": "^0.30.0",
|
|
@@ -30,7 +30,7 @@ class BaseUpload extends Base {
|
|
|
30
30
|
|
|
31
31
|
folderId: string;
|
|
32
32
|
|
|
33
|
-
overwrite: boolean;
|
|
33
|
+
overwrite: boolean | 'error';
|
|
34
34
|
|
|
35
35
|
conflictCallback: ?(fileName: string) => string;
|
|
36
36
|
|
|
@@ -159,6 +159,10 @@ class BaseUpload extends Base {
|
|
|
159
159
|
this.errorCallback(errorData);
|
|
160
160
|
// Automatically handle name conflict errors
|
|
161
161
|
} else if (errorData && errorData.status === 409) {
|
|
162
|
+
if (this.overwrite === 'error') {
|
|
163
|
+
this.errorCallback(errorData);
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
162
166
|
if (this.overwrite) {
|
|
163
167
|
// Error response contains file ID to upload a new file version for
|
|
164
168
|
const conflictFileId = errorData.context_info.conflicts.id;
|
|
@@ -173,6 +173,7 @@ class MultiputUpload extends BaseMultiput {
|
|
|
173
173
|
errorCallback,
|
|
174
174
|
progressCallback,
|
|
175
175
|
successCallback,
|
|
176
|
+
// $FlowFixMe
|
|
176
177
|
overwrite = true,
|
|
177
178
|
conflictCallback,
|
|
178
179
|
fileId,
|
|
@@ -182,7 +183,7 @@ class MultiputUpload extends BaseMultiput {
|
|
|
182
183
|
file: File,
|
|
183
184
|
fileId: ?string,
|
|
184
185
|
folderId: string,
|
|
185
|
-
overwrite?: boolean,
|
|
186
|
+
overwrite?: boolean | 'error',
|
|
186
187
|
progressCallback?: Function,
|
|
187
188
|
successCallback?: Function,
|
|
188
189
|
}): void {
|
|
@@ -217,6 +218,7 @@ class MultiputUpload extends BaseMultiput {
|
|
|
217
218
|
errorCallback,
|
|
218
219
|
progressCallback,
|
|
219
220
|
successCallback,
|
|
221
|
+
// $FlowFixMe
|
|
220
222
|
overwrite = true,
|
|
221
223
|
conflictCallback,
|
|
222
224
|
fileId,
|
|
@@ -227,7 +229,7 @@ class MultiputUpload extends BaseMultiput {
|
|
|
227
229
|
fileDescription: ?string,
|
|
228
230
|
fileId: ?string,
|
|
229
231
|
folderId: string,
|
|
230
|
-
overwrite?: boolean,
|
|
232
|
+
overwrite?: boolean | 'error',
|
|
231
233
|
progressCallback?: Function,
|
|
232
234
|
successCallback?: Function,
|
|
233
235
|
}): void {
|
|
@@ -337,6 +339,10 @@ class MultiputUpload extends BaseMultiput {
|
|
|
337
339
|
}
|
|
338
340
|
|
|
339
341
|
if (errorData && errorData.status === 409) {
|
|
342
|
+
if (this.overwrite === 'error') {
|
|
343
|
+
this.errorCallback(errorData);
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
340
346
|
this.resolveConflict(errorData);
|
|
341
347
|
this.createSessionRetry();
|
|
342
348
|
return;
|
|
@@ -437,6 +443,7 @@ class MultiputUpload extends BaseMultiput {
|
|
|
437
443
|
progressCallback,
|
|
438
444
|
sessionId,
|
|
439
445
|
successCallback,
|
|
446
|
+
// $FlowFixMe
|
|
440
447
|
overwrite = true,
|
|
441
448
|
conflictCallback,
|
|
442
449
|
fileId,
|
|
@@ -446,7 +453,7 @@ class MultiputUpload extends BaseMultiput {
|
|
|
446
453
|
file: File,
|
|
447
454
|
fileId: ?string,
|
|
448
455
|
folderId: string,
|
|
449
|
-
overwrite?: boolean,
|
|
456
|
+
overwrite?: boolean | 'error',
|
|
450
457
|
progressCallback?: Function,
|
|
451
458
|
sessionId: string,
|
|
452
459
|
successCallback?: Function,
|
|
@@ -598,9 +605,7 @@ class MultiputUpload extends BaseMultiput {
|
|
|
598
605
|
|
|
599
606
|
await retryNumOfTimes(
|
|
600
607
|
(resolve: Function, reject: Function): void => {
|
|
601
|
-
this.logEvent(logEventType, logMessage)
|
|
602
|
-
.then(resolve)
|
|
603
|
-
.catch(reject);
|
|
608
|
+
this.logEvent(logEventType, logMessage).then(resolve).catch(reject);
|
|
604
609
|
},
|
|
605
610
|
this.config.retries,
|
|
606
611
|
this.config.initialRetryDelayMs,
|
|
@@ -116,7 +116,7 @@ class PlainUpload extends BaseUpload {
|
|
|
116
116
|
* @param {Function} [options.errorCallback] - Function to call with errors
|
|
117
117
|
* @param {Function} [options.progressCallback] - Function to call with progress
|
|
118
118
|
* @param {Function} [options.conflictCallback] - Function to call on conflicting file names
|
|
119
|
-
* @param {boolean} [overwrite] - Should upload overwrite file with same name
|
|
119
|
+
* @param {boolean|'error'} [overwrite] - Should upload overwrite file with same name, throw error, or call conflictCallback to rename
|
|
120
120
|
* @return {void}
|
|
121
121
|
*/
|
|
122
122
|
upload({
|
|
@@ -128,6 +128,7 @@ class PlainUpload extends BaseUpload {
|
|
|
128
128
|
errorCallback = noop,
|
|
129
129
|
progressCallback = noop,
|
|
130
130
|
conflictCallback,
|
|
131
|
+
// $FlowFixMe
|
|
131
132
|
overwrite = true,
|
|
132
133
|
}: {
|
|
133
134
|
conflictCallback?: Function,
|
|
@@ -136,7 +137,7 @@ class PlainUpload extends BaseUpload {
|
|
|
136
137
|
fileDescription: ?string,
|
|
137
138
|
fileId: ?string,
|
|
138
139
|
folderId: string,
|
|
139
|
-
overwrite: boolean,
|
|
140
|
+
overwrite: boolean | 'error',
|
|
140
141
|
progressCallback: Function,
|
|
141
142
|
successCallback: Function,
|
|
142
143
|
}): void {
|
|
@@ -296,6 +296,20 @@ describe('api/uploads/BaseUpload', () => {
|
|
|
296
296
|
expect(upload.makePreflightRequest).not.toHaveBeenCalled();
|
|
297
297
|
});
|
|
298
298
|
|
|
299
|
+
test('should call error callback on file on 409 if overwrite property is "error"', () => {
|
|
300
|
+
const error = new Error();
|
|
301
|
+
error.status = 409;
|
|
302
|
+
|
|
303
|
+
upload.fileId = '123';
|
|
304
|
+
upload.overwrite = 'error';
|
|
305
|
+
upload.makePreflightRequest = jest.fn();
|
|
306
|
+
upload.errorCallback = jest.fn();
|
|
307
|
+
|
|
308
|
+
upload.preflightErrorHandler(error, () => {});
|
|
309
|
+
|
|
310
|
+
expect(upload.errorCallback).toHaveBeenCalledWith(error);
|
|
311
|
+
});
|
|
312
|
+
|
|
299
313
|
test('should overwrite file on 409 if overwrite property is true', () => {
|
|
300
314
|
upload.fileId = '123';
|
|
301
315
|
upload.overwrite = true;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React, { act } from 'react';
|
|
2
2
|
import { shallow, mount } from 'enzyme';
|
|
3
|
-
import { act } from 'react-dom/test-utils';
|
|
4
3
|
import { IntlShape } from 'react-intl';
|
|
5
4
|
import { AvatarBase as Avatar } from '../Avatar';
|
|
6
5
|
import AvatarImage from '../AvatarImage';
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { action } from '
|
|
3
|
-
import { boolean, select } from '@storybook/addon-knobs';
|
|
2
|
+
import { action } from 'storybook/actions';
|
|
4
3
|
|
|
5
4
|
import * as vars from '../../styles/variables';
|
|
6
5
|
|
|
@@ -14,20 +13,7 @@ import Button from './Button';
|
|
|
14
13
|
import notes from './Button.stories.md';
|
|
15
14
|
|
|
16
15
|
export const regular = () => {
|
|
17
|
-
|
|
18
|
-
const selectChildren = select('children', { None: undefined, Text: 'Click Here' }, 'Click Here');
|
|
19
|
-
return (
|
|
20
|
-
<Button
|
|
21
|
-
icon={selectIcon === 'Icon' ? <Icon /> : undefined}
|
|
22
|
-
isDisabled={boolean('isDisabled', false)}
|
|
23
|
-
isLoading={boolean('isLoading', false)}
|
|
24
|
-
onClick={action('onClick called')}
|
|
25
|
-
showRadar={boolean('showRadar', false)}
|
|
26
|
-
size={select('size', { None: undefined, Large: 'large' }, undefined)}
|
|
27
|
-
>
|
|
28
|
-
{selectChildren ? 'Click Here' : null}
|
|
29
|
-
</Button>
|
|
30
|
-
);
|
|
16
|
+
return <Button onClick={action('onClick called')}>Click Here</Button>;
|
|
31
17
|
};
|
|
32
18
|
|
|
33
19
|
export const loading = () => <Button isLoading>Click Here</Button>;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { boolean } from '@storybook/addon-knobs';
|
|
3
2
|
|
|
4
3
|
import Button from '../button/Button';
|
|
5
4
|
import ButtonGroup from './ButtonGroup';
|
|
6
5
|
import notes from './ButtonGroup.stories.md';
|
|
7
6
|
|
|
8
7
|
export const regular = () => (
|
|
9
|
-
<ButtonGroup
|
|
8
|
+
<ButtonGroup>
|
|
10
9
|
<Button>Add</Button>
|
|
11
10
|
<Button>Update</Button>
|
|
12
11
|
<Button>Remove</Button>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { action } from '
|
|
3
|
+
import { action } from 'storybook/actions';
|
|
4
4
|
import NavSidebar from './NavSidebar';
|
|
5
5
|
import NavListCollapseHeader from './NavListCollapseHeader';
|
|
6
6
|
import NavList from './NavList';
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { boolean } from '@storybook/addon-knobs';
|
|
3
2
|
|
|
4
3
|
import Icon from '../../icons/general/IconCopy';
|
|
5
4
|
import * as vars from '../../styles/variables';
|
|
@@ -9,7 +8,7 @@ import { ButtonType } from '../button';
|
|
|
9
8
|
import notes from './PlainButton.stories.md';
|
|
10
9
|
|
|
11
10
|
export const regular = () => (
|
|
12
|
-
<PlainButton
|
|
11
|
+
<PlainButton type={ButtonType.BUTTON}>
|
|
13
12
|
Click Here
|
|
14
13
|
</PlainButton>
|
|
15
14
|
);
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { action } from '
|
|
3
|
-
import { boolean } from '@storybook/addon-knobs';
|
|
2
|
+
import { action } from 'storybook/actions';
|
|
4
3
|
|
|
5
4
|
import PrimaryButton from './PrimaryButton';
|
|
6
5
|
import notes from './PrimaryButton.stories.md';
|
|
7
6
|
|
|
8
7
|
export const regular = () => (
|
|
9
8
|
<PrimaryButton
|
|
10
|
-
isDisabled={boolean('isDisabled', false)}
|
|
11
|
-
isLoading={boolean('isLoading', false)}
|
|
12
9
|
onClick={action('onClick called')}
|
|
13
10
|
>
|
|
14
11
|
Click Here
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
import { expect, screen, userEvent, within } from '
|
|
2
|
+
import { useArgs } from 'storybook/preview-api';
|
|
3
|
+
import { expect, screen, userEvent, within } from 'storybook/test';
|
|
4
4
|
import { Button } from '@box/blueprint-web';
|
|
5
|
-
import { useArgs } from '@storybook/preview-api';
|
|
6
5
|
import PreviewDialog from '../../preview-dialog';
|
|
7
6
|
|
|
8
7
|
import { addRootElement } from '../../../../utils/storybook';
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
+
import { expect, screen, userEvent, waitFor, within } from 'storybook/test';
|
|
1
2
|
import { http, HttpResponse } from 'msw';
|
|
2
|
-
import { expect, screen, userEvent, waitFor, within } from '@storybook/test';
|
|
3
|
-
|
|
4
3
|
import ContentExplorer from '../../ContentExplorer';
|
|
5
4
|
import { mockEmptyRootFolder, mockRootFolder } from '../../../common/__mocks__/mockRootFolder';
|
|
6
5
|
import mockSubfolder from '../../../common/__mocks__/mockSubfolder';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { expect, userEvent, waitFor, within } from '
|
|
2
|
+
import { expect, userEvent, waitFor, within } from 'storybook/test';
|
|
3
3
|
import { http, HttpResponse } from 'msw';
|
|
4
4
|
import ContentPicker from '../../ContentPicker';
|
|
5
5
|
import { mockRootFolder, mockEmptyRootFolder } from '../../../common/__mocks__/mockRootFolder';
|
|
@@ -118,30 +118,6 @@ export const customActionButtons = {
|
|
|
118
118
|
},
|
|
119
119
|
};
|
|
120
120
|
|
|
121
|
-
export const itemCustomActions = {
|
|
122
|
-
args: {
|
|
123
|
-
itemActions: [
|
|
124
|
-
{
|
|
125
|
-
label: 'alert',
|
|
126
|
-
onAction: () => {
|
|
127
|
-
// eslint-disable-next-line no-alert
|
|
128
|
-
alert('You clicked me!');
|
|
129
|
-
},
|
|
130
|
-
},
|
|
131
|
-
],
|
|
132
|
-
},
|
|
133
|
-
play: async ({ canvasElement }) => {
|
|
134
|
-
const canvas = within(canvasElement);
|
|
135
|
-
await waitFor(async () => {
|
|
136
|
-
const moreOptions = await canvas.findAllByRole('button', { name: 'More options' });
|
|
137
|
-
await userEvent.click(moreOptions[0]);
|
|
138
|
-
|
|
139
|
-
const menuItem = await waitFor(() => document.querySelector('[role="menuitem"]'));
|
|
140
|
-
expect(menuItem).toBeInTheDocument();
|
|
141
|
-
});
|
|
142
|
-
},
|
|
143
|
-
};
|
|
144
|
-
|
|
145
121
|
export default {
|
|
146
122
|
title: 'Elements/ContentPicker/tests/visual',
|
|
147
123
|
component: ContentPicker,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @flow
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { BrowserRouter as Router } from 'react-router-dom';
|
|
4
|
-
import { expect, userEvent, waitFor, within } from '
|
|
4
|
+
import { expect, userEvent, waitFor, within } from 'storybook/test';
|
|
5
5
|
import { Notification } from '@box/blueprint-web';
|
|
6
6
|
import { http, HttpResponse } from 'msw';
|
|
7
7
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { type StoryObj, Meta } from '@storybook/react';
|
|
2
|
-
import { fn, userEvent, within } from '@storybook/test';
|
|
3
1
|
import React, { type ComponentProps } from 'react';
|
|
2
|
+
import { type StoryObj, Meta } from '@storybook/react';
|
|
3
|
+
import { fn, userEvent, within } from 'storybook/test';
|
|
4
4
|
import { http, HttpResponse } from 'msw';
|
|
5
5
|
import type { HttpHandler } from 'msw';
|
|
6
6
|
import MetadataSidebarRedesign from '../MetadataSidebarRedesign';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { expect, within } from '@storybook/test';
|
|
2
1
|
import { type StoryObj, type Meta } from '@storybook/react';
|
|
2
|
+
import { expect, within } from 'storybook/test';
|
|
3
3
|
import { http, HttpResponse } from 'msw';
|
|
4
4
|
import type { HttpHandler } from 'msw';
|
|
5
5
|
import ContentSidebar from '../../ContentSidebar';
|
package/src/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ComponentProps } from 'react';
|
|
2
|
-
import { http, HttpResponse } from 'msw';
|
|
3
|
-
import { expect, userEvent, waitFor, within, fn, screen } from '@storybook/test';
|
|
4
2
|
import { type StoryObj, Meta } from '@storybook/react';
|
|
3
|
+
import { expect, userEvent, waitFor, within, fn, screen } from 'storybook/test';
|
|
4
|
+
import { http, HttpResponse } from 'msw';
|
|
5
5
|
import type { HttpHandler } from 'msw';
|
|
6
6
|
import ContentSidebar from '../../ContentSidebar';
|
|
7
7
|
import MetadataSidebarRedesign from '../../MetadataSidebarRedesign';
|
|
@@ -34,6 +34,7 @@ import {
|
|
|
34
34
|
CLIENT_NAME_CONTENT_UPLOADER,
|
|
35
35
|
DEFAULT_HOSTNAME_API,
|
|
36
36
|
DEFAULT_HOSTNAME_UPLOAD,
|
|
37
|
+
ERROR_CODE_ITEM_NAME_IN_USE,
|
|
37
38
|
ERROR_CODE_UPLOAD_FILE_LIMIT,
|
|
38
39
|
STATUS_COMPLETE,
|
|
39
40
|
STATUS_ERROR,
|
|
@@ -90,7 +91,7 @@ export interface ContentUploaderProps {
|
|
|
90
91
|
onResume: (item: UploadItem) => void;
|
|
91
92
|
onUpgradeCTAClick?: () => void;
|
|
92
93
|
onUpload: (item?: UploadItem | BoxItem) => void;
|
|
93
|
-
overwrite: boolean;
|
|
94
|
+
overwrite: boolean | 'error';
|
|
94
95
|
requestInterceptor?: (response: AxiosResponse) => void;
|
|
95
96
|
responseInterceptor?: (config: AxiosRequestConfig) => void;
|
|
96
97
|
rootFolderId: string;
|
|
@@ -1083,7 +1084,7 @@ class ContentUploader extends Component<ContentUploaderProps, State> {
|
|
|
1083
1084
|
*/
|
|
1084
1085
|
onClick = (item: UploadItem) => {
|
|
1085
1086
|
const { chunked, isResumableUploadsEnabled, onClickCancel, onClickResume, onClickRetry } = this.props;
|
|
1086
|
-
const { file, status } = item;
|
|
1087
|
+
const { file, status, error } = item;
|
|
1087
1088
|
const isChunkedUpload =
|
|
1088
1089
|
chunked && !item.isFolder && file.size > CHUNKED_UPLOAD_MIN_SIZE_BYTES && isMultiputSupported();
|
|
1089
1090
|
const isResumable = isResumableUploadsEnabled && isChunkedUpload && item.api.sessionId;
|
|
@@ -1097,7 +1098,10 @@ class ContentUploader extends Component<ContentUploaderProps, State> {
|
|
|
1097
1098
|
onClickCancel(item);
|
|
1098
1099
|
break;
|
|
1099
1100
|
case STATUS_ERROR:
|
|
1100
|
-
if (
|
|
1101
|
+
if (error?.code === ERROR_CODE_ITEM_NAME_IN_USE) {
|
|
1102
|
+
this.removeFileFromUploadQueue(item);
|
|
1103
|
+
onClickCancel(item);
|
|
1104
|
+
} else if (isResumable) {
|
|
1101
1105
|
item.bytesUploadedOnLastResume = item.api.totalUploadedBytes;
|
|
1102
1106
|
this.resumeFile(item);
|
|
1103
1107
|
onClickResume(item);
|
|
@@ -8,6 +8,7 @@ import { Size5, SurfaceStatusSurfaceSuccess } from '@box/blueprint-web-assets/to
|
|
|
8
8
|
import IconInProgress from './IconInProgress';
|
|
9
9
|
|
|
10
10
|
import {
|
|
11
|
+
ERROR_CODE_ITEM_NAME_IN_USE,
|
|
11
12
|
ERROR_CODE_UPLOAD_FILE_SIZE_LIMIT_EXCEEDED,
|
|
12
13
|
STATUS_COMPLETE,
|
|
13
14
|
STATUS_ERROR,
|
|
@@ -70,8 +71,13 @@ const ItemAction = ({
|
|
|
70
71
|
}
|
|
71
72
|
break;
|
|
72
73
|
case STATUS_ERROR:
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
if (code === ERROR_CODE_ITEM_NAME_IN_USE) {
|
|
75
|
+
Icon = XMark;
|
|
76
|
+
tooltip = messages.uploadsCancelButtonTooltip;
|
|
77
|
+
} else {
|
|
78
|
+
Icon = ArrowCurveForward;
|
|
79
|
+
tooltip = isResumableUploadsEnabled ? messages.resume : messages.retry;
|
|
80
|
+
}
|
|
75
81
|
break;
|
|
76
82
|
case STATUS_IN_PROGRESS:
|
|
77
83
|
case STATUS_STAGED:
|