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.
Files changed (331) hide show
  1. package/dist/explorer.js +1 -1
  2. package/dist/explorer.js.LICENSE.txt +9 -0
  3. package/dist/openwith.js +1 -1
  4. package/dist/openwith.js.LICENSE.txt +9 -0
  5. package/dist/picker.js +1 -1
  6. package/dist/picker.js.LICENSE.txt +9 -0
  7. package/dist/preview.js +1 -1
  8. package/dist/preview.js.LICENSE.txt +9 -0
  9. package/dist/sharing.js +1 -1
  10. package/dist/sharing.js.LICENSE.txt +9 -0
  11. package/dist/sidebar.js +1 -1
  12. package/dist/sidebar.js.LICENSE.txt +9 -0
  13. package/dist/uploader.js +1 -1
  14. package/dist/uploader.js.LICENSE.txt +9 -0
  15. package/es/api/Feed.js +2 -2
  16. package/es/api/Metadata.js +2 -2
  17. package/es/api/Versions.js +2 -2
  18. package/es/api/tasks/TasksBase.js +2 -2
  19. package/es/api/tasks/TasksNew.js +2 -2
  20. package/es/api/uploads/BaseUpload.js +4 -0
  21. package/es/api/uploads/BaseUpload.js.flow +5 -1
  22. package/es/api/uploads/BaseUpload.js.map +1 -1
  23. package/es/api/uploads/MultiputUpload.js +7 -0
  24. package/es/api/uploads/MultiputUpload.js.flow +11 -6
  25. package/es/api/uploads/MultiputUpload.js.map +1 -1
  26. package/es/api/uploads/PlainUpload.js +2 -1
  27. package/es/api/uploads/PlainUpload.js.flow +3 -2
  28. package/es/api/uploads/PlainUpload.js.map +1 -1
  29. package/es/components/accessible-svg/AccessibleSVG.js +2 -2
  30. package/es/components/badge/Badge.js +2 -2
  31. package/es/components/badge/BetaBadge.js +2 -2
  32. package/es/components/badge/TrialBadge.js +2 -2
  33. package/es/components/badge/UpgradeBadge.js +2 -2
  34. package/es/components/button/Button.js +2 -2
  35. package/es/components/button/Button.stories.js +3 -20
  36. package/es/components/button/Button.stories.js.map +1 -1
  37. package/es/components/button-group/ButtonGroup.stories.js +1 -4
  38. package/es/components/button-group/ButtonGroup.stories.js.map +1 -1
  39. package/es/components/button-group/__test__/ButtonGroup.test.js +1 -1
  40. package/es/components/button-group/__test__/ButtonGroup.test.js.map +1 -1
  41. package/es/components/checkbox/Checkbox.js +2 -2
  42. package/es/components/checkbox/CheckboxField.js +2 -2
  43. package/es/components/contact-datalist-item/ContactDatalistItem.js +2 -2
  44. package/es/components/count-badge/CountBadge.js +2 -2
  45. package/es/components/datalist-item/DatalistItem.js +2 -2
  46. package/es/components/date-picker/DatePicker.js +1 -1
  47. package/es/components/date-picker/DatePicker.js.map +1 -1
  48. package/es/components/fieldset/Fieldset.js +2 -2
  49. package/es/components/flyout/Overlay.js +2 -2
  50. package/es/components/focus-trap/FocusTrap.js +2 -2
  51. package/es/components/form-elements/draft-js-mention-selector/DraftJSMentionSelectorCore.js +2 -2
  52. package/es/components/ghost/Ghost.js +2 -2
  53. package/es/components/grid-view/GridView.js +1 -1
  54. package/es/components/grid-view/GridView.js.map +1 -1
  55. package/es/components/guide-tooltip/GuideTooltip.js +2 -2
  56. package/es/components/guide-tooltip/GuideTooltip.stories.js +5 -5
  57. package/es/components/guide-tooltip/GuideTooltip.stories.js.map +1 -1
  58. package/es/components/header/Header.js +2 -2
  59. package/es/components/hotkeys/HotkeyFriendlyModal.js +2 -2
  60. package/es/components/i18n/FormattedCompMessage.js +2 -2
  61. package/es/components/i18n/Param.js +1 -1
  62. package/es/components/i18n/Param.js.map +1 -1
  63. package/es/components/image-tooltip/ImageTooltip.js +2 -2
  64. package/es/components/inline-notice/InlineNotice.js +2 -2
  65. package/es/components/label/HiddenLabel.js +2 -2
  66. package/es/components/label/Label.js +1 -1
  67. package/es/components/label/Label.js.map +1 -1
  68. package/es/components/label/LabelPrimitive.js +2 -2
  69. package/es/components/label/StandardLabel.js +2 -2
  70. package/es/components/label-pill/LabelPill.js +2 -2
  71. package/es/components/label-pill/LabelPillIcon.js +2 -2
  72. package/es/components/label-pill/LabelPillText.js +2 -2
  73. package/es/components/link/Link.js +2 -2
  74. package/es/components/link/LinkBase.js +2 -2
  75. package/es/components/link/LinkButton.js +2 -2
  76. package/es/components/link/LinkPrimaryButton.js +2 -2
  77. package/es/components/link/stories/Link.stories.js +2 -2
  78. package/es/components/link/stories/LinkButton.stories.js +2 -2
  79. package/es/components/link/stories/LinkPrimaryButton.stories.js +2 -2
  80. package/es/components/loading-indicator/LoadingIndicatorWrapper.js +2 -2
  81. package/es/components/loading-indicator/makeLoadable.js +2 -2
  82. package/es/components/media/Media.js +2 -2
  83. package/es/components/media/MediaBody.js +2 -2
  84. package/es/components/media/MediaFigure.js +2 -2
  85. package/es/components/media/MediaMenu.js +2 -2
  86. package/es/components/media-query/withMediaQuery.js +2 -2
  87. package/es/components/menu/Menu.js +2 -2
  88. package/es/components/menu/MenuHeader.js +2 -2
  89. package/es/components/menu/MenuItem.js +2 -2
  90. package/es/components/menu/MenuLinkItem.js +2 -2
  91. package/es/components/menu/MenuSectionHeader.js +2 -2
  92. package/es/components/menu/SubmenuItem.js +2 -2
  93. package/es/components/modal/Modal.js +2 -2
  94. package/es/components/modal/ModalActions.js +2 -2
  95. package/es/components/modal/ModalDialog.js +2 -2
  96. package/es/components/nav-sidebar/NavSidebar.js +2 -2
  97. package/es/components/nav-sidebar/NavSidebar.stories.js +1 -1
  98. package/es/components/nav-sidebar/NavSidebar.stories.js.flow +1 -1
  99. package/es/components/nav-sidebar/NavSidebar.stories.js.map +1 -1
  100. package/es/components/pill-selector-dropdown/PillSelector.js +2 -2
  101. package/es/components/pill-selector-dropdown/RoundPill.js +2 -2
  102. package/es/components/plain-button/PlainButton.js +2 -2
  103. package/es/components/plain-button/PlainButton.stories.js +0 -2
  104. package/es/components/plain-button/PlainButton.stories.js.map +1 -1
  105. package/es/components/portal/Portal.js +1 -1
  106. package/es/components/portal/Portal.js.map +1 -1
  107. package/es/components/primary-button/PrimaryButton.js +2 -2
  108. package/es/components/primary-button/PrimaryButton.stories.js +1 -4
  109. package/es/components/primary-button/PrimaryButton.stories.js.map +1 -1
  110. package/es/components/radar/RadarAnimation.js +2 -2
  111. package/es/components/radio/RadioButton.js +2 -2
  112. package/es/components/radio/RadioButtonField.js +2 -2
  113. package/es/components/radio/RadioGroupField.js +2 -2
  114. package/es/components/react-virtualized-helpers/withInfiniteLoader.js +2 -2
  115. package/es/components/scroll-wrapper/ScrollWrapper.js +2 -2
  116. package/es/components/search-form/SearchForm.js +2 -2
  117. package/es/components/section/Section.js +2 -2
  118. package/es/components/select/Select.js +2 -2
  119. package/es/components/select-button/SelectButton.js +2 -2
  120. package/es/components/select-field/MultiSelectField.js +2 -2
  121. package/es/components/select-field/SelectField.js +2 -2
  122. package/es/components/select-field/SingleSelectField.js +2 -2
  123. package/es/components/selector-dropdown/SelectorDropdownExample.js +2 -2
  124. package/es/components/sidebar-toggle-button/SidebarToggleButton.js +2 -2
  125. package/es/components/slide-carousel/Slide.js +2 -2
  126. package/es/components/slide-carousel/SlideButton.js +2 -2
  127. package/es/components/table/Table.js +2 -2
  128. package/es/components/table/TableCell.js +2 -2
  129. package/es/components/table/TableHeaderCell.js +2 -2
  130. package/es/components/table/TableRow.js +2 -2
  131. package/es/components/text-area/TextArea.js +2 -2
  132. package/es/components/text-area/TextAreaField.js +2 -2
  133. package/es/components/text-input/TextInput.js +2 -2
  134. package/es/components/text-input/TextInputField.js +2 -2
  135. package/es/components/text-input-with-copy-button/TextInputWithCopyButton.js +2 -2
  136. package/es/components/thumbnail-card/ThumbnailCard.js +2 -2
  137. package/es/components/toggle/Toggle.js +2 -2
  138. package/es/components/toggle/ToggleField.js +2 -2
  139. package/es/components/tooltip/Tooltip.stories.js +8 -8
  140. package/es/components/tooltip/Tooltip.stories.js.map +1 -1
  141. package/es/elements/common/Tooltip.js +2 -2
  142. package/es/elements/common/back-button/BackButton.js +2 -2
  143. package/es/elements/common/content-answers/ContentAnswers.js +2 -2
  144. package/es/elements/common/droppable/makeDroppable.js +2 -2
  145. package/es/elements/common/error-boundary/ErrorBoundary.js +2 -2
  146. package/es/elements/common/feature-checking/withFeatureProvider.js +2 -2
  147. package/es/elements/common/item/ItemTypeIcon.js +2 -2
  148. package/es/elements/common/item/iconCellRenderer.js +2 -2
  149. package/es/elements/common/item/iconCellRenderer.js.map +1 -1
  150. package/es/elements/common/item/nameCellRenderer.js +2 -2
  151. package/es/elements/common/item/nameCellRenderer.js.map +1 -1
  152. package/es/elements/common/item-grid/ItemGrid.js +2 -2
  153. package/es/elements/common/item-list/ItemList.js +2 -2
  154. package/es/elements/common/logger/Logger.js +2 -2
  155. package/es/elements/common/makePopup.js +2 -2
  156. package/es/elements/common/makeResponsive.js +2 -2
  157. package/es/elements/common/nav-router/NavRouter.js +2 -2
  158. package/es/elements/common/nav-router/withNavRouter.js +2 -2
  159. package/es/elements/common/pagination/Pagination.js +2 -2
  160. package/es/elements/common/selectors/version.js +2 -2
  161. package/es/elements/common/stories/PreviewDialog.stories.js +1 -1
  162. package/es/elements/common/stories/PreviewDialog.stories.js.map +1 -1
  163. package/es/elements/common/sub-header/ViewModeChangeButton.js +2 -2
  164. package/es/elements/content-explorer/Content.js +2 -2
  165. package/es/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js +1 -1
  166. package/es/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js.map +1 -1
  167. package/es/elements/content-explorer/stories/RenameDialog.stories.js +1 -1
  168. package/es/elements/content-explorer/stories/RenameDialog.stories.js.map +1 -1
  169. package/es/elements/content-explorer/stories/ShareDialog.stories.js +1 -1
  170. package/es/elements/content-explorer/stories/ShareDialog.stories.js.map +1 -1
  171. package/es/elements/content-explorer/stories/tests/ContentExplorer-visual.stories.js +1 -1
  172. package/es/elements/content-explorer/stories/tests/ContentExplorer-visual.stories.js.flow +1 -2
  173. package/es/elements/content-explorer/stories/tests/ContentExplorer-visual.stories.js.map +1 -1
  174. package/es/elements/content-picker/ContentPicker.js +1 -2
  175. package/es/elements/content-picker/ContentPicker.js.flow +0 -1
  176. package/es/elements/content-picker/ContentPicker.js.map +1 -1
  177. package/es/elements/content-picker/ItemList.js +1 -1
  178. package/es/elements/content-picker/ItemList.js.flow +1 -1
  179. package/es/elements/content-picker/ItemList.js.map +1 -1
  180. package/es/elements/content-picker/checkboxCellRenderer.js +2 -2
  181. package/es/elements/content-picker/checkboxCellRenderer.js.map +1 -1
  182. package/es/elements/content-picker/selectionCellRenderer.js +2 -2
  183. package/es/elements/content-picker/selectionCellRenderer.js.map +1 -1
  184. package/es/elements/content-picker/shareAccessCellRenderer.js +2 -2
  185. package/es/elements/content-picker/shareAccessCellRenderer.js.map +1 -1
  186. package/es/elements/content-picker/stories/tests/ContentPicker-visual.stories.js +1 -25
  187. package/es/elements/content-picker/stories/tests/ContentPicker-visual.stories.js.flow +1 -25
  188. package/es/elements/content-picker/stories/tests/ContentPicker-visual.stories.js.map +1 -1
  189. package/es/elements/content-preview/ContentPreview.js +3 -3
  190. package/es/elements/content-preview/ContentPreview.js.map +1 -1
  191. package/es/elements/content-preview/preview-header/PreviewHeader.js +2 -2
  192. package/es/elements/content-preview/preview-header/PreviewHeader.js.map +1 -1
  193. package/es/elements/content-preview/stories/tests/ContentPreview-visual.stories.js +1 -1
  194. package/es/elements/content-preview/stories/tests/ContentPreview-visual.stories.js.flow +1 -1
  195. package/es/elements/content-preview/stories/tests/ContentPreview-visual.stories.js.map +1 -1
  196. package/es/elements/content-sharing/ContentSharing.js +1 -1
  197. package/es/elements/content-sharing/ContentSharing.js.map +1 -1
  198. package/es/elements/content-sidebar/BoxAISidebar.js +2 -2
  199. package/es/elements/content-sidebar/BoxAISidebarContent.js +2 -2
  200. package/es/elements/content-sidebar/SidebarContent.js +2 -2
  201. package/es/elements/content-sidebar/SidebarNavSignButton.js +2 -2
  202. package/es/elements/content-sidebar/SidebarUtils.js +8 -8
  203. package/es/elements/content-sidebar/SidebarUtils.js.map +1 -1
  204. package/es/elements/content-sidebar/activity-feed/ActivityCard.js +2 -2
  205. package/es/elements/content-sidebar/activity-feed/SelectableActivityCard.js +2 -2
  206. package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.js +2 -2
  207. package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationThread.js +2 -2
  208. package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivityLink.js +2 -2
  209. package/es/elements/content-sidebar/activity-feed/common/activity-datestamp/ActivityDatestamp.js +2 -2
  210. package/es/elements/content-sidebar/activity-feed/common/activity-error/ActivityError.js +2 -2
  211. package/es/elements/content-sidebar/activity-feed/common/delete-confirmation/DeleteConfirmation.js +2 -2
  212. package/es/elements/content-sidebar/activity-feed/common/user-link/UserLink.js +2 -2
  213. package/es/elements/content-sidebar/activity-feed/task-new/AvatarGroupAvatar.js +2 -2
  214. package/es/elements/content-sidebar/additional-tabs/AdditionalTab.js +2 -2
  215. package/es/elements/content-sidebar/fetchers/metadataTaxonomyFetcher.js +2 -2
  216. package/es/elements/content-sidebar/stories/MetadataSidebarRedesign.stories.js +1 -1
  217. package/es/elements/content-sidebar/stories/MetadataSidebarRedesign.stories.js.map +1 -1
  218. package/es/elements/content-sidebar/stories/tests/BoxAISidebar-visual.stories.js +1 -1
  219. package/es/elements/content-sidebar/stories/tests/BoxAISidebar-visual.stories.js.map +1 -1
  220. package/es/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.js +1 -1
  221. package/es/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.js.map +1 -1
  222. package/es/elements/content-sidebar/versions/VersionsGroup.js +2 -2
  223. package/es/elements/content-sidebar/versions/VersionsItemAction.js +2 -2
  224. package/es/elements/content-sidebar/versions/VersionsList.js +2 -2
  225. package/es/elements/content-sidebar/versions/VersionsMenu.js +2 -2
  226. package/es/elements/content-sidebar/versions/VersionsSidebar.js +2 -2
  227. package/es/elements/content-sidebar/withErrorHandling.js +2 -2
  228. package/es/elements/content-uploader/ContentUploader.js +7 -3
  229. package/es/elements/content-uploader/ContentUploader.js.map +1 -1
  230. package/es/elements/content-uploader/ItemAction.js +8 -3
  231. package/es/elements/content-uploader/ItemAction.js.map +1 -1
  232. package/es/elements/content-uploader/actionCellRenderer.js +2 -2
  233. package/es/elements/content-uploader/actionCellRenderer.js.map +1 -1
  234. package/es/elements/content-uploader/nameCellRenderer.js +2 -2
  235. package/es/elements/content-uploader/nameCellRenderer.js.map +1 -1
  236. package/es/elements/content-uploader/progressCellRenderer.js +2 -2
  237. package/es/elements/content-uploader/progressCellRenderer.js.map +1 -1
  238. package/es/elements/content-uploader/removeCellRenderer.js +2 -2
  239. package/es/elements/content-uploader/removeCellRenderer.js.map +1 -1
  240. package/es/elements/content-uploader/stories/tests/ContentUploader-visual.stories.js +1 -1
  241. package/es/elements/content-uploader/stories/tests/ContentUploader-visual.stories.js.flow +1 -1
  242. package/es/elements/content-uploader/stories/tests/ContentUploader-visual.stories.js.map +1 -1
  243. package/es/elements/wrappers/ContentExplorer.js +1 -1
  244. package/es/elements/wrappers/ContentExplorer.js.map +1 -1
  245. package/es/elements/wrappers/ContentOpenWith.js +1 -1
  246. package/es/elements/wrappers/ContentOpenWith.js.map +1 -1
  247. package/es/elements/wrappers/ContentPicker.js +3 -3
  248. package/es/elements/wrappers/ContentPicker.js.map +1 -1
  249. package/es/elements/wrappers/ContentPreview.js +1 -1
  250. package/es/elements/wrappers/ContentPreview.js.map +1 -1
  251. package/es/elements/wrappers/ContentSharing.js +1 -1
  252. package/es/elements/wrappers/ContentSharing.js.map +1 -1
  253. package/es/elements/wrappers/ContentSidebar.js +1 -1
  254. package/es/elements/wrappers/ContentSidebar.js.map +1 -1
  255. package/es/elements/wrappers/ContentUploader.js +3 -3
  256. package/es/elements/wrappers/ContentUploader.js.map +1 -1
  257. package/es/features/beta-feedback/BetaFeedbackBadge.js +2 -2
  258. package/es/features/classification/EditClassificationButton.js +2 -2
  259. package/es/features/collaborator-avatars/CollaboratorAvatarItem.js +2 -2
  260. package/es/features/collaborator-avatars/CollaboratorList.js +1 -1
  261. package/es/features/collaborator-avatars/CollaboratorList.js.map +1 -1
  262. package/es/features/collapsible-sidebar/CollapsibleSidebar.stories.js +1 -1
  263. package/es/features/collapsible-sidebar/CollapsibleSidebar.stories.js.map +1 -1
  264. package/es/features/collapsible-sidebar/CollapsibleSidebarMenuItem.js +2 -2
  265. package/es/features/collapsible-sidebar/CollapsibleSidebarNav.js +2 -2
  266. package/es/features/content-explorer/content-explorer/ContentExplorer.js +2 -2
  267. package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js +2 -2
  268. package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js +2 -2
  269. package/es/features/content-insights/CompactCount.js +2 -2
  270. package/es/features/header-flyout/HeaderFlyout.js +2 -2
  271. package/es/features/invite-collaborators-modal/InviteCollaboratorsModal.js +2 -2
  272. package/es/features/item-details/VersionHistoryLink.js +2 -2
  273. package/es/features/left-sidebar/LeftSidebarDropWrapper.js +2 -2
  274. package/es/features/message-center/components/collapsibile-scrollbar/CollapsibleScrollbar.js +2 -2
  275. package/es/features/pagination/Pagination.js +2 -2
  276. package/es/features/presence/PresenceAvatar.js +2 -2
  277. package/es/features/presence/PresenceAvatarList.js +2 -2
  278. package/es/features/presence/PresenceCollaborator.js +2 -2
  279. package/es/features/quick-search/QuickSearchItem.js +3 -3
  280. package/es/features/quick-search/QuickSearchItem.js.map +1 -1
  281. package/es/features/quick-search/QuickSearchSelector.js +2 -2
  282. package/es/features/security/SecurityBadge.js +2 -2
  283. package/es/features/share/ShareMenu.js +2 -2
  284. package/es/features/targeting/hocs/withTargetedClickThrough.js +2 -2
  285. package/es/features/virtualized-table/BaseVirtualizedTable.js +2 -2
  286. package/es/features/virtualized-table/DraggableVirtualizedTable.js +2 -2
  287. package/es/features/virtualized-table/VirtualizedTable.js +2 -2
  288. package/es/icons/accessible-svg/AccessibleSVG.js +2 -2
  289. package/es/icons/icons.stories.js +5 -22
  290. package/es/icons/icons.stories.js.map +1 -1
  291. package/es/src/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.d.ts +2 -2
  292. package/es/src/elements/content-uploader/ContentUploader.d.ts +1 -1
  293. package/es/src/icons/icons.stories.d.ts +1 -4
  294. package/package.json +16 -24
  295. package/src/api/uploads/BaseUpload.js +5 -1
  296. package/src/api/uploads/MultiputUpload.js +11 -6
  297. package/src/api/uploads/PlainUpload.js +3 -2
  298. package/src/api/uploads/__tests__/BaseUpload.test.js +14 -0
  299. package/src/components/avatar/__tests__/Avatar.test.tsx +1 -2
  300. package/src/components/button/Button.stories.tsx +2 -16
  301. package/src/components/button-group/ButtonGroup.stories.tsx +1 -2
  302. package/src/components/nav-sidebar/NavSidebar.stories.js +1 -1
  303. package/src/components/plain-button/PlainButton.stories.tsx +1 -2
  304. package/src/components/primary-button/PrimaryButton.stories.tsx +1 -4
  305. package/src/components/time-input/__tests__/TimeInput.test.tsx +1 -2
  306. package/src/elements/common/stories/PreviewDialog.stories.tsx +1 -2
  307. package/src/elements/common/stories/__tests__/PreviewDialog-visual.stories.tsx +2 -3
  308. package/src/elements/content-explorer/stories/ContentExplorer.mdx +1 -1
  309. package/src/elements/content-explorer/stories/DeleteConfirmationDialog.stories.tsx +1 -2
  310. package/src/elements/content-explorer/stories/RenameDialog.stories.tsx +1 -1
  311. package/src/elements/content-explorer/stories/ShareDialog.stories.tsx +1 -1
  312. package/src/elements/content-explorer/stories/tests/ContentExplorer-visual.stories.js +1 -2
  313. package/src/elements/content-open-with/stories/ContentOpenWith.mdx +1 -1
  314. package/src/elements/content-picker/ContentPicker.js +0 -1
  315. package/src/elements/content-picker/ItemList.js +1 -1
  316. package/src/elements/content-picker/stories/ContentPicker.mdx +1 -1
  317. package/src/elements/content-picker/stories/tests/ContentPicker-visual.stories.js +1 -25
  318. package/src/elements/content-preview/stories/ContentPreview.mdx +1 -1
  319. package/src/elements/content-preview/stories/tests/ContentPreview-visual.stories.js +1 -1
  320. package/src/elements/content-sharing/stories/ContentSharing.mdx +1 -1
  321. package/src/elements/content-sidebar/stories/BoxAISideBar.mdx +1 -1
  322. package/src/elements/content-sidebar/stories/ContentSidebar.mdx +1 -1
  323. package/src/elements/content-sidebar/stories/MetadataSidebar.mdx +1 -1
  324. package/src/elements/content-sidebar/stories/MetadataSidebarRedesign.stories.tsx +2 -2
  325. package/src/elements/content-sidebar/stories/tests/BoxAISidebar-visual.stories.tsx +1 -1
  326. package/src/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.tsx +2 -2
  327. package/src/elements/content-uploader/ContentUploader.tsx +7 -3
  328. package/src/elements/content-uploader/ItemAction.tsx +8 -2
  329. package/src/elements/content-uploader/stories/ContentUploader.mdx +1 -1
  330. package/src/elements/content-uploader/stories/tests/ContentUploader-visual.stories.js +1 -1
  331. package/src/icons/icons.stories.tsx +3 -12
@@ -60,6 +60,13 @@ object-assign
60
60
  * and limitations under the license.
61
61
  */
62
62
 
63
+ /*!
64
+ * The buffer module from node.js, for the browser.
65
+ *
66
+ * @author Feross Aboukhadijeh <https://feross.org>
67
+ * @license MIT
68
+ */
69
+
63
70
  /*!
64
71
  * jsUri
65
72
  * https://github.com/derek-watson/jsUri
@@ -73,6 +80,8 @@ object-assign
73
80
  * Released under the MIT license.
74
81
  */
75
82
 
83
+ /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
84
+
76
85
  /**
77
86
  * @license React
78
87
  * react-dom.production.min.js
package/es/api/Feed.js CHANGED
@@ -7,8 +7,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
7
7
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
8
8
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
9
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
11
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
10
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
11
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
12
12
  /**
13
13
  *
14
14
  * @file Helper for activity feed API's
@@ -1,6 +1,6 @@
1
1
  const _excluded = ["displayName", "display_name"];
2
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
3
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
2
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
3
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
4
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
6
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -1,8 +1,8 @@
1
1
  const _excluded = ["permissions"];
2
2
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
5
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
4
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
5
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
6
6
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
7
7
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
8
8
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -4,8 +4,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
6
6
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
8
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
7
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
8
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
9
9
  /**
10
10
  *
11
11
  * @file Base class for Tasks APIs
@@ -4,8 +4,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
6
6
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
8
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
7
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
8
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
9
9
  /**
10
10
  *
11
11
  * @file Helper for the box Tasks API
@@ -138,6 +138,10 @@ class BaseUpload extends Base {
138
138
  this.errorCallback(errorData);
139
139
  // Automatically handle name conflict errors
140
140
  } else if (errorData && errorData.status === 409) {
141
+ if (this.overwrite === 'error') {
142
+ this.errorCallback(errorData);
143
+ return;
144
+ }
141
145
  if (this.overwrite) {
142
146
  // Error response contains file ID to upload a new file version for
143
147
  const conflictFileId = errorData.context_info.conflicts.id;
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseUpload.js","names":["Base","DEFAULT_RETRY_DELAY_MS","MS_IN_S","DEFAULT_HOSTNAME_UPLOAD","DEFAULT_HOSTNAME_UPLOAD_APP","DEFAULT_HOSTNAME_UPLOAD_GOV","MAX_RETRY","MAX_REACHABILITY_RETRY","BaseUpload","constructor","args","_defineProperty","isDestroyed","url","getBaseApiUrl","fileId","replace","isUploadFallbackLogicEnabled","unreachableHostUrls","uploadsReachability","getUnreachableHostsUrls","length","join","size","name","file","attributes","fileName","parent","id","folderId","description","fileDescription","xhr","options","data","successHandler","response","preflightSuccessReachabilityHandler","preflightSuccessHandler","errorHandler","preflightErrorHandler","upload_url","uploadHost","getUploadHostFromUrl","isHostReachable","isReachable","reachabilityRetryCount","makePreflightRequest","error","errorData","retryCount","errorCallback","status","overwrite","conflictFileId","context_info","conflicts","conflictCallback","extension","substr","lastIndexOf","Date","now","code","retryAfterMs","headers","retryAfterSec","parseInt","get","Number","isNaN","retryTimeout","setTimeout","message","readFile","reader","blob","Promise","resolve","reject","readAsArrayBuffer","onload","buffer","result","readCompleteTimestamp","onerror","uploadUrl","splitUrl","split"],"sources":["../../../src/api/uploads/BaseUpload.js"],"sourcesContent":["/**\n * @flow\n * @file Base helper for the Box Upload APIs\n * @author Box\n */\n\nimport Base from '../Base';\nimport {\n DEFAULT_RETRY_DELAY_MS,\n MS_IN_S,\n DEFAULT_HOSTNAME_UPLOAD,\n DEFAULT_HOSTNAME_UPLOAD_APP,\n DEFAULT_HOSTNAME_UPLOAD_GOV,\n} from '../../constants';\n\nconst MAX_RETRY = 5;\n// Note: We may have to change this number if we add a lot more fast upload hosts.\nconst MAX_REACHABILITY_RETRY = 10;\n\nclass BaseUpload extends Base {\n errorCallback: Function;\n\n file: File;\n\n fileId: ?string;\n\n fileName: string;\n\n fileDescription: ?string;\n\n folderId: string;\n\n overwrite: boolean;\n\n conflictCallback: ?(fileName: string) => string;\n\n preflightSuccessHandler: Function;\n\n retryCount: number = 0;\n\n reachabilityRetryCount: number = 0;\n\n retryTimeout: TimeoutID;\n\n isUploadFallbackLogicEnabled: boolean = false;\n\n /**\n * Sends an upload pre-flight request. If a file ID is available,\n * send a pre-flight request to that file version.\n *\n * @private\n * @return {void}\n */\n makePreflightRequest = (): void => {\n if (this.isDestroyed()) {\n return;\n }\n\n let url = `${this.getBaseApiUrl()}/files/content`;\n if (this.fileId) {\n url = url.replace('content', `${this.fileId}/content`);\n }\n\n if (this.isUploadFallbackLogicEnabled) {\n // Add unreachable hosts to url\n const unreachableHostUrls = this.uploadsReachability.getUnreachableHostsUrls();\n if (unreachableHostUrls.length !== 0) {\n url += `?unreachable_hosts=${unreachableHostUrls.join(',')}`;\n }\n }\n\n const { size, name } = this.file;\n const attributes = {\n name: this.fileName || name,\n parent: { id: this.folderId },\n description: this.fileDescription,\n size,\n };\n\n this.xhr.options({\n url,\n data: attributes,\n successHandler: response => {\n if (this.isUploadFallbackLogicEnabled) {\n this.preflightSuccessReachabilityHandler(response);\n } else {\n this.preflightSuccessHandler(response);\n }\n },\n errorHandler: this.preflightErrorHandler,\n });\n };\n\n /**\n * Handles successful preflight response.\n * Performs a upload reachability test before calling preflightSuccessHandler.\n *\n * @param {Object} - Request options\n * @return {Promise} Async function promise\n */\n preflightSuccessReachabilityHandler = async ({ data }: { data: { upload_url?: string } }): Promise<any> => {\n if (this.isDestroyed()) {\n return;\n }\n\n const { upload_url } = data;\n // If upload_url is not available, don't make reachability test\n if (!upload_url) {\n this.preflightSuccessHandler({ data });\n return;\n }\n\n const uploadHost = this.getUploadHostFromUrl(upload_url);\n // The default upload host should always be reachable\n // DEFAULT_HOSTNAME_UPLOAD is the original default upload host, while DEFAULT_HOSTNAME_UPLOAD_APP is recent.\n // Both of these hosts will resolve to the same IP so they are interchangeable.\n if (\n uploadHost === `${DEFAULT_HOSTNAME_UPLOAD}/` ||\n uploadHost === `${DEFAULT_HOSTNAME_UPLOAD_APP}/` ||\n uploadHost === `${DEFAULT_HOSTNAME_UPLOAD_GOV}/`\n ) {\n this.preflightSuccessHandler({ data });\n return;\n }\n\n // If upload host reachable upload file, else make a new preflight request\n const isHostReachable = await this.uploadsReachability.isReachable(uploadHost);\n if (isHostReachable) {\n this.preflightSuccessHandler({ data });\n } else if (this.reachabilityRetryCount >= MAX_REACHABILITY_RETRY) {\n this.preflightSuccessHandler({ data: {} });\n } else {\n this.reachabilityRetryCount += 1;\n this.makePreflightRequest();\n }\n };\n\n /**\n * Handles a preflight error\n *\n * @param {Object} error - preflight error\n * @return {void}\n */\n preflightErrorHandler = (error: any): void => {\n if (this.isDestroyed()) {\n return;\n }\n\n this.fileName = this.file ? this.file.name : '';\n\n // TODO: Normalize error object and clean up error handling\n let errorData = error;\n const { response } = error;\n if (response && response.data) {\n errorData = response.data;\n }\n\n if (this.retryCount >= MAX_RETRY) {\n this.errorCallback(errorData);\n // Automatically handle name conflict errors\n } else if (errorData && errorData.status === 409) {\n if (this.overwrite) {\n // Error response contains file ID to upload a new file version for\n const conflictFileId = errorData.context_info.conflicts.id;\n if (!this.fileId && !!conflictFileId) {\n this.fileId = conflictFileId;\n }\n } else if (this.conflictCallback) {\n // conflictCallback handler for setting new file name\n this.fileName = this.conflictCallback(this.fileName);\n } else {\n // Otherwise, reupload and append timestamp\n // 'test.jpg' becomes 'test-TIMESTAMP.jpg'\n const extension = this.fileName.substr(this.fileName.lastIndexOf('.')) || '';\n this.fileName = `${this.fileName.substr(0, this.fileName.lastIndexOf('.'))}-${Date.now()}${extension}`;\n }\n this.makePreflightRequest();\n this.retryCount += 1;\n\n // When rate limited, retry after interval defined in header\n } else if (errorData && (errorData.status === 429 || errorData.code === 'too_many_requests')) {\n let retryAfterMs = DEFAULT_RETRY_DELAY_MS;\n\n if (errorData.headers) {\n const retryAfterSec = parseInt(\n errorData.headers['retry-after'] || errorData.headers.get('Retry-After'),\n 10,\n );\n\n if (!Number.isNaN(retryAfterSec)) {\n retryAfterMs = retryAfterSec * MS_IN_S;\n }\n }\n\n this.retryTimeout = setTimeout(this.makePreflightRequest, retryAfterMs);\n this.retryCount += 1;\n\n // If another error status that isn't name conflict or rate limiting, fail upload\n } else if (\n errorData &&\n (errorData.status || errorData.message === 'Failed to fetch') &&\n typeof this.errorCallback === 'function'\n ) {\n this.errorCallback(errorData);\n // Retry with exponential backoff for other failures since these are likely to be network errors\n } else {\n this.retryTimeout = setTimeout(this.makePreflightRequest, 2 ** this.retryCount * MS_IN_S);\n this.retryCount += 1;\n }\n };\n\n /**\n * Read a blob with FileReader\n *\n * @param {FileReader} reader\n * @param {Blob} blob\n * @return {Promise}\n */\n readFile(reader: FileReader, blob: Blob): Promise<any> {\n return new Promise((resolve, reject) => {\n reader.readAsArrayBuffer(blob);\n reader.onload = () => {\n resolve({\n buffer: reader.result,\n readCompleteTimestamp: Date.now(),\n });\n };\n\n reader.onerror = reject;\n });\n }\n\n /**\n * Parse uploadHost from uploadUrl\n *\n * @param uploadUrl - uploadUrl from preflight response\n * @return {string}\n */\n getUploadHostFromUrl(uploadUrl: string): string {\n const splitUrl = uploadUrl.split('/');\n const uploadHost = `${splitUrl[0]}//${splitUrl[2]}/`;\n return uploadHost;\n }\n}\n\nexport default BaseUpload;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BaseUpload.js","names":["Base","DEFAULT_RETRY_DELAY_MS","MS_IN_S","DEFAULT_HOSTNAME_UPLOAD","DEFAULT_HOSTNAME_UPLOAD_APP","DEFAULT_HOSTNAME_UPLOAD_GOV","MAX_RETRY","MAX_REACHABILITY_RETRY","BaseUpload","constructor","args","_defineProperty","isDestroyed","url","getBaseApiUrl","fileId","replace","isUploadFallbackLogicEnabled","unreachableHostUrls","uploadsReachability","getUnreachableHostsUrls","length","join","size","name","file","attributes","fileName","parent","id","folderId","description","fileDescription","xhr","options","data","successHandler","response","preflightSuccessReachabilityHandler","preflightSuccessHandler","errorHandler","preflightErrorHandler","upload_url","uploadHost","getUploadHostFromUrl","isHostReachable","isReachable","reachabilityRetryCount","makePreflightRequest","error","errorData","retryCount","errorCallback","status","overwrite","conflictFileId","context_info","conflicts","conflictCallback","extension","substr","lastIndexOf","Date","now","code","retryAfterMs","headers","retryAfterSec","parseInt","get","Number","isNaN","retryTimeout","setTimeout","message","readFile","reader","blob","Promise","resolve","reject","readAsArrayBuffer","onload","buffer","result","readCompleteTimestamp","onerror","uploadUrl","splitUrl","split"],"sources":["../../../src/api/uploads/BaseUpload.js"],"sourcesContent":["/**\n * @flow\n * @file Base helper for the Box Upload APIs\n * @author Box\n */\n\nimport Base from '../Base';\nimport {\n DEFAULT_RETRY_DELAY_MS,\n MS_IN_S,\n DEFAULT_HOSTNAME_UPLOAD,\n DEFAULT_HOSTNAME_UPLOAD_APP,\n DEFAULT_HOSTNAME_UPLOAD_GOV,\n} from '../../constants';\n\nconst MAX_RETRY = 5;\n// Note: We may have to change this number if we add a lot more fast upload hosts.\nconst MAX_REACHABILITY_RETRY = 10;\n\nclass BaseUpload extends Base {\n errorCallback: Function;\n\n file: File;\n\n fileId: ?string;\n\n fileName: string;\n\n fileDescription: ?string;\n\n folderId: string;\n\n overwrite: boolean | 'error';\n\n conflictCallback: ?(fileName: string) => string;\n\n preflightSuccessHandler: Function;\n\n retryCount: number = 0;\n\n reachabilityRetryCount: number = 0;\n\n retryTimeout: TimeoutID;\n\n isUploadFallbackLogicEnabled: boolean = false;\n\n /**\n * Sends an upload pre-flight request. If a file ID is available,\n * send a pre-flight request to that file version.\n *\n * @private\n * @return {void}\n */\n makePreflightRequest = (): void => {\n if (this.isDestroyed()) {\n return;\n }\n\n let url = `${this.getBaseApiUrl()}/files/content`;\n if (this.fileId) {\n url = url.replace('content', `${this.fileId}/content`);\n }\n\n if (this.isUploadFallbackLogicEnabled) {\n // Add unreachable hosts to url\n const unreachableHostUrls = this.uploadsReachability.getUnreachableHostsUrls();\n if (unreachableHostUrls.length !== 0) {\n url += `?unreachable_hosts=${unreachableHostUrls.join(',')}`;\n }\n }\n\n const { size, name } = this.file;\n const attributes = {\n name: this.fileName || name,\n parent: { id: this.folderId },\n description: this.fileDescription,\n size,\n };\n\n this.xhr.options({\n url,\n data: attributes,\n successHandler: response => {\n if (this.isUploadFallbackLogicEnabled) {\n this.preflightSuccessReachabilityHandler(response);\n } else {\n this.preflightSuccessHandler(response);\n }\n },\n errorHandler: this.preflightErrorHandler,\n });\n };\n\n /**\n * Handles successful preflight response.\n * Performs a upload reachability test before calling preflightSuccessHandler.\n *\n * @param {Object} - Request options\n * @return {Promise} Async function promise\n */\n preflightSuccessReachabilityHandler = async ({ data }: { data: { upload_url?: string } }): Promise<any> => {\n if (this.isDestroyed()) {\n return;\n }\n\n const { upload_url } = data;\n // If upload_url is not available, don't make reachability test\n if (!upload_url) {\n this.preflightSuccessHandler({ data });\n return;\n }\n\n const uploadHost = this.getUploadHostFromUrl(upload_url);\n // The default upload host should always be reachable\n // DEFAULT_HOSTNAME_UPLOAD is the original default upload host, while DEFAULT_HOSTNAME_UPLOAD_APP is recent.\n // Both of these hosts will resolve to the same IP so they are interchangeable.\n if (\n uploadHost === `${DEFAULT_HOSTNAME_UPLOAD}/` ||\n uploadHost === `${DEFAULT_HOSTNAME_UPLOAD_APP}/` ||\n uploadHost === `${DEFAULT_HOSTNAME_UPLOAD_GOV}/`\n ) {\n this.preflightSuccessHandler({ data });\n return;\n }\n\n // If upload host reachable upload file, else make a new preflight request\n const isHostReachable = await this.uploadsReachability.isReachable(uploadHost);\n if (isHostReachable) {\n this.preflightSuccessHandler({ data });\n } else if (this.reachabilityRetryCount >= MAX_REACHABILITY_RETRY) {\n this.preflightSuccessHandler({ data: {} });\n } else {\n this.reachabilityRetryCount += 1;\n this.makePreflightRequest();\n }\n };\n\n /**\n * Handles a preflight error\n *\n * @param {Object} error - preflight error\n * @return {void}\n */\n preflightErrorHandler = (error: any): void => {\n if (this.isDestroyed()) {\n return;\n }\n\n this.fileName = this.file ? this.file.name : '';\n\n // TODO: Normalize error object and clean up error handling\n let errorData = error;\n const { response } = error;\n if (response && response.data) {\n errorData = response.data;\n }\n\n if (this.retryCount >= MAX_RETRY) {\n this.errorCallback(errorData);\n // Automatically handle name conflict errors\n } else if (errorData && errorData.status === 409) {\n if (this.overwrite === 'error') {\n this.errorCallback(errorData);\n return;\n }\n if (this.overwrite) {\n // Error response contains file ID to upload a new file version for\n const conflictFileId = errorData.context_info.conflicts.id;\n if (!this.fileId && !!conflictFileId) {\n this.fileId = conflictFileId;\n }\n } else if (this.conflictCallback) {\n // conflictCallback handler for setting new file name\n this.fileName = this.conflictCallback(this.fileName);\n } else {\n // Otherwise, reupload and append timestamp\n // 'test.jpg' becomes 'test-TIMESTAMP.jpg'\n const extension = this.fileName.substr(this.fileName.lastIndexOf('.')) || '';\n this.fileName = `${this.fileName.substr(0, this.fileName.lastIndexOf('.'))}-${Date.now()}${extension}`;\n }\n this.makePreflightRequest();\n this.retryCount += 1;\n\n // When rate limited, retry after interval defined in header\n } else if (errorData && (errorData.status === 429 || errorData.code === 'too_many_requests')) {\n let retryAfterMs = DEFAULT_RETRY_DELAY_MS;\n\n if (errorData.headers) {\n const retryAfterSec = parseInt(\n errorData.headers['retry-after'] || errorData.headers.get('Retry-After'),\n 10,\n );\n\n if (!Number.isNaN(retryAfterSec)) {\n retryAfterMs = retryAfterSec * MS_IN_S;\n }\n }\n\n this.retryTimeout = setTimeout(this.makePreflightRequest, retryAfterMs);\n this.retryCount += 1;\n\n // If another error status that isn't name conflict or rate limiting, fail upload\n } else if (\n errorData &&\n (errorData.status || errorData.message === 'Failed to fetch') &&\n typeof this.errorCallback === 'function'\n ) {\n this.errorCallback(errorData);\n // Retry with exponential backoff for other failures since these are likely to be network errors\n } else {\n this.retryTimeout = setTimeout(this.makePreflightRequest, 2 ** this.retryCount * MS_IN_S);\n this.retryCount += 1;\n }\n };\n\n /**\n * Read a blob with FileReader\n *\n * @param {FileReader} reader\n * @param {Blob} blob\n * @return {Promise}\n */\n readFile(reader: FileReader, blob: Blob): Promise<any> {\n return new Promise((resolve, reject) => {\n reader.readAsArrayBuffer(blob);\n reader.onload = () => {\n resolve({\n buffer: reader.result,\n readCompleteTimestamp: Date.now(),\n });\n };\n\n reader.onerror = reject;\n });\n }\n\n /**\n * Parse uploadHost from uploadUrl\n *\n * @param uploadUrl - uploadUrl from preflight response\n * @return {string}\n */\n getUploadHostFromUrl(uploadUrl: string): string {\n const splitUrl = uploadUrl.split('/');\n const uploadHost = `${splitUrl[0]}//${splitUrl[2]}/`;\n return uploadHost;\n }\n}\n\nexport default BaseUpload;\n"],"mappings":"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","ignoreList":[]}
@@ -120,6 +120,10 @@ class MultiputUpload extends BaseMultiput {
120
120
  return;
121
121
  }
122
122
  if (errorData && errorData.status === 409) {
123
+ if (this.overwrite === 'error') {
124
+ this.errorCallback(errorData);
125
+ return;
126
+ }
123
127
  this.resolveConflict(errorData);
124
128
  this.createSessionRetry();
125
129
  return;
@@ -510,6 +514,7 @@ class MultiputUpload extends BaseMultiput {
510
514
  errorCallback,
511
515
  progressCallback,
512
516
  successCallback,
517
+ // $FlowFixMe
513
518
  overwrite = true,
514
519
  conflictCallback,
515
520
  fileId
@@ -545,6 +550,7 @@ class MultiputUpload extends BaseMultiput {
545
550
  errorCallback,
546
551
  progressCallback,
547
552
  successCallback,
553
+ // $FlowFixMe
548
554
  overwrite = true,
549
555
  conflictCallback,
550
556
  fileId
@@ -631,6 +637,7 @@ class MultiputUpload extends BaseMultiput {
631
637
  progressCallback,
632
638
  sessionId,
633
639
  successCallback,
640
+ // $FlowFixMe
634
641
  overwrite = true,
635
642
  conflictCallback,
636
643
  fileId
@@ -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,