box-ui-elements 15.0.0-beta.7 → 15.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +3 -1
- package/dist/explorer.css +1 -1
- package/dist/explorer.js +58 -26
- package/dist/openwith.css +1 -1
- package/dist/openwith.js +10 -17
- package/dist/picker.css +1 -1
- package/dist/picker.js +12 -19
- package/dist/preview.css +1 -1
- package/dist/preview.js +56 -24
- package/dist/sharing.css +1 -1
- package/dist/sharing.js +54 -22
- package/dist/sidebar.css +1 -1
- package/dist/sidebar.js +56 -24
- package/dist/uploader.css +1 -1
- package/dist/uploader.js +12 -19
- package/es/api/uploads/UploadsReachability.js.flow +2 -2
- package/es/api/uploads/UploadsReachability.js.map +1 -1
- package/es/common/messages.js +4 -0
- package/es/common/messages.js.flow +5 -0
- package/es/common/messages.js.map +1 -1
- package/es/common/types/core.js.flow +2 -0
- package/es/common/types/core.js.map +1 -1
- package/es/components/avatar/UnknownUserAvatar.js +6 -9
- package/es/components/avatar/UnknownUserAvatar.js.map +1 -1
- package/es/components/close-button/CloseButton.js +24 -0
- package/es/components/close-button/CloseButton.js.flow +26 -0
- package/es/components/close-button/CloseButton.js.map +1 -0
- package/es/components/close-button/CloseButton.scss +10 -0
- package/es/components/close-button/CloseButton.stories.js +14 -0
- package/es/components/close-button/CloseButton.stories.js.map +1 -0
- package/es/components/close-button/index.js +2 -0
- package/es/components/close-button/index.js.flow +2 -0
- package/es/components/close-button/index.js.map +1 -0
- package/es/components/date-picker/AccessiblePikaday.js +113 -0
- package/es/components/date-picker/AccessiblePikaday.js.map +1 -0
- package/es/components/date-picker/DatePicker.js +426 -106
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePicker.scss +32 -22
- package/es/components/date-picker/DatePicker.stories.js +10 -0
- package/es/components/date-picker/DatePicker.stories.js.map +1 -1
- package/es/components/date-picker/_pikaday.scss +8 -2
- package/es/components/flyout/Flyout.js +13 -3
- package/es/components/flyout/Flyout.js.flow +14 -3
- package/es/components/flyout/Flyout.js.map +1 -1
- package/es/components/flyout/Flyout.scss +40 -0
- package/es/components/flyout/FlyoutContext.js +6 -0
- package/es/components/flyout/FlyoutContext.js.flow +9 -0
- package/es/components/flyout/FlyoutContext.js.map +1 -0
- package/es/components/flyout/OverlayHeader.js +33 -0
- package/es/components/flyout/OverlayHeader.js.map +1 -0
- package/es/components/flyout/OverlayHeader.scss +9 -0
- package/es/components/flyout/_variables.scss +1 -0
- package/es/components/flyout/index.js +2 -0
- package/es/components/flyout/index.js.flow +2 -0
- package/es/components/flyout/index.js.map +1 -1
- package/es/components/image-tooltip/ImageTooltip.js +1 -2
- package/es/components/image-tooltip/ImageTooltip.js.map +1 -1
- package/es/components/media-query/constants.js +26 -0
- package/es/components/media-query/constants.js.flow +32 -0
- package/es/components/media-query/constants.js.map +1 -0
- package/es/components/media-query/index.js +3 -0
- package/es/components/media-query/index.js.flow +4 -0
- package/es/components/media-query/index.js.map +1 -0
- package/es/components/media-query/stories/MediaQuery.stories.js +37 -0
- package/es/components/media-query/stories/MediaQuery.stories.js.flow +80 -0
- package/es/components/media-query/stories/MediaQuery.stories.js.map +1 -0
- package/es/components/media-query/types.js +2 -0
- package/es/components/media-query/types.js.flow +29 -0
- package/es/components/media-query/types.js.map +1 -0
- package/es/components/media-query/useMediaQuery.js +91 -0
- package/es/components/media-query/useMediaQuery.js.flow +97 -0
- package/es/components/media-query/useMediaQuery.js.map +1 -0
- package/es/components/media-query/withMediaQuery.js +21 -0
- package/es/components/media-query/withMediaQuery.js.flow +23 -0
- package/es/components/media-query/withMediaQuery.js.map +1 -0
- package/es/components/modal/Modal.scss +27 -0
- package/es/components/preview/previewIcons.js +4 -0
- package/es/components/preview/previewIcons.js.map +1 -1
- package/es/components/search-form/SearchForm.scss +0 -5
- package/es/components/selector-dropdown/SelectorDropdown.js +5 -3
- package/es/components/selector-dropdown/SelectorDropdown.js.flow +3 -3
- package/es/components/selector-dropdown/SelectorDropdown.js.map +1 -1
- package/es/components/tab-view/Tabs.scss +0 -4
- package/es/components/tooltip/Tooltip.js +21 -4
- package/es/components/tooltip/Tooltip.js.map +1 -1
- package/es/constants.js +1 -0
- package/es/constants.js.flow +1 -0
- package/es/constants.js.map +1 -1
- package/es/elements/content-open-with/IconFileMap.js +0 -2
- package/es/elements/content-open-with/IconFileMap.js.flow +0 -2
- package/es/elements/content-open-with/IconFileMap.js.map +1 -1
- package/es/elements/content-sidebar/Sidebar.js +2 -1
- package/es/elements/content-sidebar/Sidebar.js.flow +1 -1
- package/es/elements/content-sidebar/Sidebar.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/common/delete-confirmation/DeleteConfirmation.scss +3 -3
- package/es/elements/content-sidebar/activity-feed/task-form/TaskForm.js +14 -4
- package/es/elements/content-sidebar/activity-feed/task-form/TaskForm.js.flow +18 -5
- package/es/elements/content-sidebar/activity-feed/task-form/TaskForm.js.map +1 -1
- package/es/elements/content-sidebar/versions/StaticVersionSidebar.js +78 -0
- package/es/elements/content-sidebar/versions/StaticVersionSidebar.js.flow +97 -0
- package/es/elements/content-sidebar/versions/StaticVersionSidebar.js.map +1 -0
- package/es/elements/content-sidebar/versions/StaticVersionsSidebar.scss +67 -0
- package/es/elements/content-sidebar/versions/VersionsSidebar.js +12 -4
- package/es/elements/content-sidebar/versions/VersionsSidebar.js.flow +16 -3
- package/es/elements/content-sidebar/versions/VersionsSidebar.js.map +1 -1
- package/es/elements/content-sidebar/versions/VersionsSidebar.scss +5 -0
- package/es/elements/content-sidebar/versions/VersionsSidebarContainer.js +42 -10
- package/es/elements/content-sidebar/versions/VersionsSidebarContainer.js.flow +42 -7
- package/es/elements/content-sidebar/versions/VersionsSidebarContainer.js.map +1 -1
- package/es/elements/content-sidebar/versions/flowTypes.js.flow +1 -0
- package/es/elements/content-sidebar/versions/messages.js +20 -0
- package/es/elements/content-sidebar/versions/messages.js.flow +28 -0
- package/es/elements/content-sidebar/versions/messages.js.map +1 -1
- package/es/features/classification/constants.js +2 -1
- package/es/features/classification/constants.js.flow +2 -0
- package/es/features/classification/constants.js.map +1 -1
- package/es/features/classification/flowTypes.js +1 -0
- package/es/features/classification/flowTypes.js.flow +7 -1
- package/es/features/classification/flowTypes.js.map +1 -1
- package/es/features/classification/security-controls/SecurityControls.js +3 -4
- package/es/features/classification/security-controls/SecurityControls.js.flow +3 -4
- package/es/features/classification/security-controls/SecurityControls.js.map +1 -1
- package/es/features/classification/security-controls/SecurityControlsItem.js +1 -1
- package/es/features/classification/security-controls/SecurityControlsItem.js.flow +20 -17
- package/es/features/classification/security-controls/SecurityControlsItem.js.map +1 -1
- package/es/features/classification/security-controls/SecurityControlsItem.scss +4 -0
- package/es/features/classification/security-controls/SecurityControlsModal.js +2 -2
- package/es/features/classification/security-controls/SecurityControlsModal.js.flow +2 -2
- package/es/features/classification/security-controls/SecurityControlsModal.js.map +1 -1
- package/es/features/classification/security-controls/messages.js +4 -0
- package/es/features/classification/security-controls/messages.js.flow +5 -0
- package/es/features/classification/security-controls/messages.js.map +1 -1
- package/es/features/classification/security-controls/utils.js +56 -35
- package/es/features/classification/security-controls/utils.js.flow +51 -27
- package/es/features/classification/security-controls/utils.js.map +1 -1
- package/es/features/collapsible-sidebar/CollapsibleSidebar.js +9 -3
- package/es/features/collapsible-sidebar/CollapsibleSidebar.js.flow +13 -5
- package/es/features/collapsible-sidebar/CollapsibleSidebar.js.map +1 -1
- package/es/features/collapsible-sidebar/CollapsibleSidebar.scss +35 -3
- package/es/features/content-explorer/content-explorer/ContentExplorer.scss +1 -1
- package/es/features/content-explorer/item-list/ItemList.js +1 -0
- package/es/features/content-explorer/item-list/ItemList.js.flow +1 -0
- package/es/features/content-explorer/item-list/ItemList.js.map +1 -1
- package/es/features/content-explorer/item-list/ItemListName.js +13 -2
- package/es/features/content-explorer/item-list/ItemListName.js.flow +3 -2
- package/es/features/content-explorer/item-list/ItemListName.js.map +1 -1
- package/es/features/header-flyout/HeaderFlyout.js +8 -10
- package/es/features/header-flyout/HeaderFlyout.js.flow +4 -8
- package/es/features/header-flyout/HeaderFlyout.js.map +1 -1
- package/es/features/header-flyout/styles/HeaderFlyout.scss +54 -15
- package/es/features/header-flyout/styles/_variables.scss +4 -0
- package/es/features/message-center/components/message-center-modal/MessageCenterModal.js +1 -0
- package/es/features/message-center/components/message-center-modal/MessageCenterModal.js.flow +1 -0
- package/es/features/message-center/components/message-center-modal/MessageCenterModal.js.map +1 -1
- package/es/features/presence/PresenceCollaborator.js +90 -0
- package/es/features/presence/PresenceCollaborator.js.flow +81 -0
- package/es/features/presence/PresenceCollaborator.js.map +1 -0
- package/es/features/presence/PresenceCollaborator.scss +28 -0
- package/es/features/presence/PresenceCollaboratorsList.js +9 -57
- package/es/features/presence/PresenceCollaboratorsList.js.flow +7 -58
- package/es/features/presence/PresenceCollaboratorsList.js.map +1 -1
- package/es/features/presence/PresenceCollaboratorsList.scss +8 -35
- package/es/features/quick-search/QuickSearch.js +4 -2
- package/es/features/quick-search/QuickSearch.js.flow +13 -1
- package/es/features/quick-search/QuickSearch.js.map +1 -1
- package/es/features/unified-share-modal/SharedLinkSection.js +9 -20
- package/es/features/unified-share-modal/SharedLinkSection.js.flow +6 -27
- package/es/features/unified-share-modal/SharedLinkSection.js.map +1 -1
- package/es/features/unified-share-modal/UnifiedShareForm.js +95 -53
- package/es/features/unified-share-modal/UnifiedShareForm.js.flow +70 -14
- package/es/features/unified-share-modal/UnifiedShareForm.js.map +1 -1
- package/es/features/unified-share-modal/UnifiedShareModal.scss +3 -0
- package/es/features/unified-share-modal/flowTypes.js.flow +6 -0
- package/es/features/unified-share-modal/flowTypes.js.map +1 -1
- package/es/features/unified-share-modal/messages.js +8 -0
- package/es/features/unified-share-modal/messages.js.flow +10 -0
- package/es/features/unified-share-modal/messages.js.map +1 -1
- package/es/features/unified-share-modal/utils/mergeContacts.js +13 -10
- package/es/features/unified-share-modal/utils/mergeContacts.js.flow +4 -2
- package/es/features/unified-share-modal/utils/mergeContacts.js.map +1 -1
- package/es/icon/content/FileXbd32.js +39 -0
- package/es/icon/content/FileXbd32.js.flow +38 -0
- package/es/icon/content/FileXbd32.js.map +1 -0
- package/es/icon/content/FileXbd32.stories.js +13 -0
- package/es/icon/content/FileXbd32.stories.js.map +1 -0
- package/es/icon/content/FileXdw32.js +39 -0
- package/es/icon/content/FileXdw32.js.flow +38 -0
- package/es/icon/content/FileXdw32.js.map +1 -0
- package/es/icon/content/FileXdw32.stories.js +13 -0
- package/es/icon/content/FileXdw32.stories.js.map +1 -0
- package/es/icon/content/RetentionPolicyModifiable32.js +36 -0
- package/es/icon/content/RetentionPolicyModifiable32.js.flow +31 -0
- package/es/icon/content/RetentionPolicyModifiable32.js.map +1 -0
- package/es/icon/content/RetentionPolicyModifiable32.stories.js +13 -0
- package/es/icon/content/RetentionPolicyModifiable32.stories.js.map +1 -0
- package/es/icon/content/RetentionPolicyNonModifiable32.js +36 -0
- package/es/icon/content/RetentionPolicyNonModifiable32.js.flow +31 -0
- package/es/icon/content/RetentionPolicyNonModifiable32.js.map +1 -0
- package/es/icon/content/RetentionPolicyNonModifiable32.stories.js +13 -0
- package/es/icon/content/RetentionPolicyNonModifiable32.stories.js.map +1 -0
- package/es/icons/avatars/UnknownUserAvatar.js +10 -34
- package/es/icons/avatars/UnknownUserAvatar.js.map +1 -1
- package/es/icons/file-icon/FileIcon.js +8 -2
- package/es/icons/file-icon/FileIcon.js.flow +2 -2
- package/es/icons/file-icon/FileIcon.js.map +1 -1
- package/es/icons/general/IconSearch.js +1 -1
- package/es/icons/general/IconSearch.js.flow +1 -1
- package/es/icons/general/IconSearch.js.map +1 -1
- package/es/icons/general/IconSearchJuicy.js +30 -0
- package/es/icons/general/IconSearchJuicy.js.flow +26 -0
- package/es/icons/general/IconSearchJuicy.js.map +1 -0
- package/es/icons/google-docs/IconGoogle.js +89 -0
- package/es/icons/google-docs/IconGoogle.js.flow +57 -0
- package/es/icons/google-docs/IconGoogle.js.map +1 -0
- package/es/icons/item-icon/ItemIcon.js +4 -0
- package/es/icons/item-icon/ItemIcon.js.map +1 -1
- package/es/icons/microsoft-office/IconOffice.js +80 -0
- package/es/icons/microsoft-office/IconOffice.js.flow +45 -0
- package/es/icons/microsoft-office/IconOffice.js.map +1 -0
- package/es/illustration/EmailVerification140.js +111 -0
- package/es/illustration/EmailVerification140.js.flow +102 -0
- package/es/illustration/EmailVerification140.js.map +1 -0
- package/es/illustration/EmailVerification140.stories.js +13 -0
- package/es/illustration/EmailVerification140.stories.js.map +1 -0
- package/es/src/components/close-button/CloseButton.d.ts +9 -0
- package/es/src/components/close-button/CloseButton.stories.d.ts +9 -0
- package/es/src/components/close-button/__tests__/CloseButton.stories.test.d.ts +0 -0
- package/es/src/components/close-button/__tests__/CloseButton.test.d.ts +1 -0
- package/es/src/components/close-button/index.d.ts +1 -0
- package/es/src/components/date-picker/AccessiblePikaday.d.ts +16 -0
- package/es/src/components/date-picker/DatePicker.d.ts +33 -6
- package/es/src/components/date-picker/DatePicker.stories.d.ts +2 -1
- package/es/src/components/flyout/OverlayHeader.d.ts +10 -0
- package/es/src/components/tooltip/Tooltip.d.ts +4 -3
- package/es/src/icon/content/FileXbd32.d.ts +13 -0
- package/es/src/icon/content/FileXbd32.stories.d.ts +9 -0
- package/es/src/icon/content/FileXdw32.d.ts +13 -0
- package/es/src/icon/content/FileXdw32.stories.d.ts +9 -0
- package/es/src/icon/content/RetentionPolicyModifiable32.d.ts +13 -0
- package/es/src/icon/content/RetentionPolicyModifiable32.stories.d.ts +9 -0
- package/es/src/icon/content/RetentionPolicyNonModifiable32.d.ts +13 -0
- package/es/src/icon/content/RetentionPolicyNonModifiable32.stories.d.ts +9 -0
- package/es/src/icons/avatars/UnknownUserAvatar.d.ts +0 -1
- package/es/src/icons/general/IconSearchJuicy.d.ts +3 -0
- package/es/src/icons/general/__tests__/IconSearchJuicy.test.d.ts +1 -0
- package/es/src/icons/google-docs/IconGoogle.d.ts +12 -0
- package/es/src/icons/google-docs/__tests__/IconGoogle.test.d.ts +1 -0
- package/es/src/icons/item-icon/ItemIcon.d.ts +2 -0
- package/es/src/icons/microsoft-office/IconOffice.d.ts +12 -0
- package/es/src/icons/microsoft-office/__tests__/IconOffice.test.d.ts +1 -0
- package/es/src/illustration/EmailVerification140.d.ts +13 -0
- package/es/src/illustration/EmailVerification140.stories.d.ts +9 -0
- package/es/src/styles/variables.d.ts +9 -0
- package/es/styles/_variables.scss +1 -0
- package/es/styles/common/_forms.scss +6 -0
- package/es/styles/constants/_layout.scss +3 -0
- package/es/styles/constants/_media-queries.scss +15 -0
- package/es/styles/variables.js +18 -0
- package/es/styles/variables.js.flow +10 -1
- package/es/styles/variables.js.map +1 -1
- package/es/utils/Browser.js +12 -0
- package/es/utils/Browser.js.flow +10 -0
- package/es/utils/Browser.js.map +1 -1
- package/es/utils/validators.js +26 -4
- package/es/utils/validators.js.flow +25 -3
- package/es/utils/validators.js.map +1 -1
- package/i18n/bn-IN.js +12 -0
- package/i18n/bn-IN.properties +24 -0
- package/i18n/da-DK.js +12 -0
- package/i18n/da-DK.properties +24 -0
- package/i18n/de-DE.js +12 -0
- package/i18n/de-DE.properties +24 -0
- package/i18n/en-AU.js +12 -0
- package/i18n/en-AU.properties +24 -0
- package/i18n/en-CA.js +12 -0
- package/i18n/en-CA.properties +24 -0
- package/i18n/en-GB.js +12 -0
- package/i18n/en-GB.properties +24 -0
- package/i18n/en-US.js +12 -0
- package/i18n/en-US.properties +24 -0
- package/i18n/en-x-pseudo.js +12 -0
- package/i18n/es-419.js +12 -0
- package/i18n/es-419.properties +24 -0
- package/i18n/es-ES.js +12 -0
- package/i18n/es-ES.properties +24 -0
- package/i18n/fi-FI.js +12 -0
- package/i18n/fi-FI.properties +24 -0
- package/i18n/fr-CA.js +12 -0
- package/i18n/fr-CA.properties +24 -0
- package/i18n/fr-FR.js +12 -0
- package/i18n/fr-FR.properties +24 -0
- package/i18n/hi-IN.js +12 -0
- package/i18n/hi-IN.properties +24 -0
- package/i18n/it-IT.js +12 -0
- package/i18n/it-IT.properties +24 -0
- package/i18n/ja-JP.js +25 -13
- package/i18n/ja-JP.properties +37 -13
- package/i18n/ko-KR.js +12 -0
- package/i18n/ko-KR.properties +24 -0
- package/i18n/nb-NO.js +12 -0
- package/i18n/nb-NO.properties +24 -0
- package/i18n/nl-NL.js +12 -0
- package/i18n/nl-NL.properties +24 -0
- package/i18n/pl-PL.js +12 -0
- package/i18n/pl-PL.properties +24 -0
- package/i18n/pt-BR.js +12 -0
- package/i18n/pt-BR.properties +24 -0
- package/i18n/ru-RU.js +12 -0
- package/i18n/ru-RU.properties +24 -0
- package/i18n/sv-SE.js +12 -0
- package/i18n/sv-SE.properties +24 -0
- package/i18n/tr-TR.js +12 -0
- package/i18n/tr-TR.properties +24 -0
- package/i18n/zh-CN.js +12 -0
- package/i18n/zh-CN.properties +24 -0
- package/i18n/zh-TW.js +12 -0
- package/i18n/zh-TW.properties +24 -0
- package/package.json +8 -5
- package/src/__mocks__/pikaday.js +1 -0
- package/src/api/__tests__/MockOpenWithData.json +2 -25
- package/src/api/uploads/UploadsReachability.js +2 -2
- package/src/common/messages.js +5 -0
- package/src/common/types/core.js +2 -0
- package/src/components/avatar/UnknownUserAvatar.tsx +5 -4
- package/src/components/close-button/CloseButton.js.flow +26 -0
- package/src/components/close-button/CloseButton.scss +10 -0
- package/src/components/close-button/CloseButton.stories.md +1 -0
- package/src/components/close-button/CloseButton.stories.tsx +14 -0
- package/src/components/close-button/CloseButton.tsx +30 -0
- package/src/components/close-button/__tests__/CloseButton.stories.test.tsx +6 -0
- package/src/components/close-button/__tests__/CloseButton.test.tsx +40 -0
- package/src/components/close-button/__tests__/__image_snapshots__/close-button-stories-test-tsx-components-close-button-close-button-looks-visually-correct-when-using-story-components-buttons-closebutton-regular-1-snap.png +0 -0
- package/src/components/close-button/index.js.flow +2 -0
- package/src/components/close-button/index.ts +1 -0
- package/src/components/date-picker/AccessiblePikaday.ts +79 -0
- package/src/components/date-picker/DatePicker.scss +32 -22
- package/src/components/date-picker/DatePicker.stories.tsx +6 -0
- package/src/components/date-picker/DatePicker.tsx +350 -64
- package/src/components/date-picker/__tests__/DatePicker.test.tsx +44 -2
- package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-allows-editing-in-story-components-datepicker-manually-editable-1-snap.png +0 -0
- package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-allows-keyboard-selection-in-components-datepicker-always-visible-with-custom-input-field-1-snap.png +0 -0
- package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-closes-calendar-and-clears-date-for-components-datepicker-basic-1-snap.png +0 -0
- package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-looks-visually-correct-when-using-story-components-datepicker-always-visible-with-custom-input-field-1-snap.png +0 -0
- package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-looks-visually-correct-when-using-story-components-datepicker-basic-1-snap.png +0 -0
- package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-looks-visually-correct-when-using-story-components-datepicker-custom-error-tooltip-position-1-snap.png +0 -0
- package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-looks-visually-correct-when-using-story-components-datepicker-disabled-with-error-message-1-snap.png +0 -0
- package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-looks-visually-correct-when-using-story-components-datepicker-manually-editable-1-snap.png +0 -0
- package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-looks-visually-correct-when-using-story-components-datepicker-with-description-1-snap.png +0 -0
- package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-looks-visually-correct-when-using-story-components-datepicker-with-limited-date-range-1-snap.png +0 -0
- package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-looks-visually-correct-when-using-story-components-datepicker-with-range-1-snap.png +0 -0
- package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-reflects-changes-in-components-datepicker-always-visible-with-custom-input-field-1-snap.png +0 -0
- package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-shows-calendar-and-date-for-components-datepicker-basic-1-snap.png +0 -0
- package/src/components/date-picker/__tests__/__image_snapshots__/date-picker-stories-test-tsx-components-date-picker-date-picker-shows-limited-range-in-components-datepicker-with-limited-date-range-1-snap.png +0 -0
- package/src/components/date-picker/_pikaday.scss +8 -2
- package/src/components/flyout/Flyout.js +14 -3
- package/src/components/flyout/Flyout.scss +40 -0
- package/src/components/flyout/FlyoutContext.js +9 -0
- package/src/components/flyout/OverlayHeader.scss +9 -0
- package/src/components/flyout/OverlayHeader.tsx +38 -0
- package/src/components/flyout/__tests__/Flyout.test.js +15 -0
- package/src/components/flyout/__tests__/OverlayHeader.test.js +56 -0
- package/src/components/flyout/_variables.scss +1 -0
- package/src/components/flyout/index.js +2 -0
- package/src/components/image-tooltip/ImageTooltip.tsx +1 -2
- package/src/components/media-query/__tests__/useMediaQuery.test.js +48 -0
- package/src/components/media-query/__tests__/withMediaQuery.test.js +29 -0
- package/src/components/media-query/constants.js +32 -0
- package/src/components/media-query/index.js +4 -0
- package/src/components/media-query/stories/MediaQuery.stories.js +80 -0
- package/src/components/media-query/stories/MediaQuery.stories.md +29 -0
- package/src/components/media-query/types.js +29 -0
- package/src/components/media-query/useMediaQuery.js +97 -0
- package/src/components/media-query/withMediaQuery.js +23 -0
- package/src/components/modal/Modal.scss +27 -0
- package/src/components/modal/__tests__/Modal.stories.test.js +10 -0
- package/src/components/modal/__tests__/__image_snapshots__/modal-stories-test-js-components-modal-modal-looks-visually-correct-for-small-screens-when-button-is-clicked-in-story-components-modal-basic-1-snap.png +0 -0
- package/src/components/modal/__tests__/__image_snapshots__/modal-stories-test-js-components-modal-modal-looks-visually-correct-for-small-screens-when-button-is-clicked-in-story-components-modal-with-custom-backdrop-click-handler-1-snap.png +0 -0
- package/src/components/preview/previewIcons.ts +4 -0
- package/src/components/search-form/SearchForm.scss +0 -5
- package/src/components/selector-dropdown/SelectorDropdown.js +3 -3
- package/src/components/selector-dropdown/__tests__/SelectorDropdown.test.js +5 -1
- package/src/components/sidebar-toggle-button/__tests__/__snapshots__/SidebarToggleButton.test.js.snap +0 -8
- package/src/components/tab-view/Tabs.scss +0 -4
- package/src/components/tooltip/Tooltip.tsx +20 -5
- package/src/components/tooltip/__tests__/Tooltip.test.tsx +17 -4
- package/src/components/tooltip/__tests__/__snapshots__/Tooltip.test.tsx.snap +0 -2
- package/src/constants.js +1 -0
- package/src/elements/content-open-with/IconFileMap.js +0 -2
- package/src/elements/content-open-with/__tests__/ContentOpenWith.test.js +13 -13
- package/src/elements/content-open-with/__tests__/OpenWithButton.test.js +1 -1
- package/src/elements/content-open-with/__tests__/OpenWithDropdownMenu.test.js +1 -5
- package/src/elements/content-open-with/__tests__/OpenWithDropdownMenuItem.test.js +2 -2
- package/src/elements/content-open-with/__tests__/__snapshots__/ContentOpenWith.test.js.snap +5 -5
- package/src/elements/content-open-with/__tests__/__snapshots__/OpenWithButton.test.js.snap +1 -1
- package/src/elements/content-open-with/__tests__/__snapshots__/OpenWithDropdownMenu.test.js.snap +1 -11
- package/src/elements/content-open-with/__tests__/__snapshots__/OpenWithDropdownMenuItem.test.js.snap +4 -3
- package/src/elements/content-sidebar/Sidebar.js +1 -1
- package/src/elements/content-sidebar/__tests__/AddTaskButton.test.js +15 -0
- package/src/elements/content-sidebar/activity-feed/common/delete-confirmation/DeleteConfirmation.scss +3 -3
- package/src/elements/content-sidebar/activity-feed/task-form/TaskForm.js +18 -5
- package/src/elements/content-sidebar/versions/StaticVersionSidebar.js +97 -0
- package/src/elements/content-sidebar/versions/StaticVersionsSidebar.scss +67 -0
- package/src/elements/content-sidebar/versions/VersionsSidebar.js +16 -3
- package/src/elements/content-sidebar/versions/VersionsSidebar.scss +5 -0
- package/src/elements/content-sidebar/versions/VersionsSidebarContainer.js +42 -7
- package/src/elements/content-sidebar/versions/__tests__/VersionsSidebar.test.js +18 -1
- package/src/elements/content-sidebar/versions/__tests__/VersionsSidebarContainer.test.js +51 -2
- package/src/elements/content-sidebar/versions/__tests__/__snapshots__/VersionsSidebarContainer.test.js.snap +75 -0
- package/src/elements/content-sidebar/versions/flowTypes.js +1 -0
- package/src/elements/content-sidebar/versions/messages.js +28 -0
- package/src/features/classification/constants.js +2 -0
- package/src/features/classification/flowTypes.js +7 -1
- package/src/features/classification/security-controls/SecurityControls.js +3 -4
- package/src/features/classification/security-controls/SecurityControlsItem.js +20 -17
- package/src/features/classification/security-controls/SecurityControlsItem.scss +4 -0
- package/src/features/classification/security-controls/SecurityControlsModal.js +2 -2
- package/src/features/classification/security-controls/__tests__/SecurityControlsItem.test.js +10 -0
- package/src/features/classification/security-controls/__tests__/__snapshots__/SecurityControls.test.js.snap +6 -6
- package/src/features/classification/security-controls/__tests__/__snapshots__/SecurityControlsItem.test.js.snap +35 -0
- package/src/features/classification/security-controls/__tests__/__snapshots__/SecurityControlsModal.test.js.snap +2 -2
- package/src/features/classification/security-controls/__tests__/__snapshots__/utils.test.js.snap +20 -0
- package/src/features/classification/security-controls/__tests__/utils.test.js +38 -18
- package/src/features/classification/security-controls/messages.js +5 -0
- package/src/features/classification/security-controls/utils.js +51 -27
- package/src/features/collapsible-sidebar/CollapsibleSidebar.js +13 -5
- package/src/features/collapsible-sidebar/CollapsibleSidebar.scss +35 -3
- package/src/features/collapsible-sidebar/__tests__/CollapsibleSidebar.test.js +35 -0
- package/src/features/collapsible-sidebar/__tests__/__snapshots__/CollapsibleSidebar.test.js.snap +1 -0
- package/src/features/content-explorer/content-explorer/ContentExplorer.scss +1 -1
- package/src/features/content-explorer/item-list/ItemList.js +1 -0
- package/src/features/content-explorer/item-list/ItemListName.js +3 -2
- package/src/features/content-explorer/item-list/__tests__/ItemListName.test.js +16 -2
- package/src/features/header-flyout/HeaderFlyout.js +4 -8
- package/src/features/header-flyout/__tests__/__snapshots__/HeaderFlyout.test.js.snap +14 -11
- package/src/features/header-flyout/styles/HeaderFlyout.scss +54 -15
- package/src/features/header-flyout/styles/_variables.scss +4 -0
- package/src/features/message-center/components/message-center-modal/MessageCenterModal.js +1 -0
- package/src/features/metadata-instance-editor/__tests__/__snapshots__/TemplateDropdown.test.js.snap +7 -0
- package/src/features/pagination/__tests__/__snapshots__/MarkerBasedPagination.test.js.snap +0 -8
- package/src/features/pagination/__tests__/__snapshots__/OffsetBasedPagination.test.js.snap +0 -16
- package/src/features/presence/PresenceCollaborator.js +81 -0
- package/src/features/presence/PresenceCollaborator.scss +28 -0
- package/src/features/presence/PresenceCollaboratorsList.js +7 -58
- package/src/features/presence/PresenceCollaboratorsList.scss +8 -35
- package/src/features/presence/__tests__/PresenceCollaborator.test.js +36 -0
- package/src/features/presence/__tests__/PresenceCollaboratorsList.test.js +13 -57
- package/src/features/presence/__tests__/__snapshots__/Presence.test.js.snap +5 -0
- package/src/features/presence/__tests__/__snapshots__/PresenceLink.test.js.snap +3 -0
- package/src/features/query-bar/__tests__/__snapshots__/ColumnButton.test.js.snap +3 -0
- package/src/features/quick-search/QuickSearch.js +13 -1
- package/src/features/quick-search/__tests__/QuickSearch.test.js +17 -0
- package/src/features/unified-share-modal/SharedLinkSection.js +6 -27
- package/src/features/unified-share-modal/UnifiedShareForm.js +70 -14
- package/src/features/unified-share-modal/UnifiedShareModal.scss +3 -0
- package/src/features/unified-share-modal/__tests__/EmailForm.test.js +9 -0
- package/src/features/unified-share-modal/__tests__/SharedLinkSection.test.js +14 -4
- package/src/features/unified-share-modal/__tests__/UnifiedShareForm.test.js +53 -4
- package/src/features/unified-share-modal/__tests__/__snapshots__/SharedLinkSection.test.js.snap +9 -0
- package/src/features/unified-share-modal/__tests__/__snapshots__/UnifiedShareForm.test.js.snap +0 -159
- package/src/features/unified-share-modal/flowTypes.js +6 -0
- package/src/features/unified-share-modal/messages.js +10 -0
- package/src/features/unified-share-modal/utils/__tests__/mergeContacts.test.js +23 -0
- package/src/features/unified-share-modal/utils/mergeContacts.js +4 -2
- package/src/icon/content/FileXbd32.js.flow +38 -0
- package/src/icon/content/FileXbd32.stories.tsx +13 -0
- package/src/icon/content/FileXbd32.tsx +37 -0
- package/src/icon/content/FileXdw32.js.flow +38 -0
- package/src/icon/content/FileXdw32.stories.tsx +13 -0
- package/src/icon/content/FileXdw32.tsx +37 -0
- package/src/icon/content/RetentionPolicyModifiable32.js.flow +31 -0
- package/src/icon/content/RetentionPolicyModifiable32.stories.tsx +14 -0
- package/src/icon/content/RetentionPolicyModifiable32.tsx +29 -0
- package/src/icon/content/RetentionPolicyNonModifiable32.js.flow +31 -0
- package/src/icon/content/RetentionPolicyNonModifiable32.stories.tsx +14 -0
- package/src/icon/content/RetentionPolicyNonModifiable32.tsx +29 -0
- package/src/icons/adobe-sign/README.md +1 -1
- package/src/icons/avatars/UnknownUserAvatar.tsx +7 -15
- package/src/icons/file-icon/FileIcon.js.flow +2 -2
- package/src/icons/file-icon/FileIcon.tsx +8 -2
- package/src/icons/file-icon/__tests__/FileIcon.test.tsx +28 -69
- package/src/icons/file-icon/__tests__/__snapshots__/FileIcon.test.tsx.snap +48 -34
- package/src/icons/general/IconSearch.js.flow +1 -1
- package/src/icons/general/IconSearch.tsx +1 -1
- package/src/icons/general/IconSearchJuicy.js.flow +26 -0
- package/src/icons/general/IconSearchJuicy.tsx +25 -0
- package/src/icons/general/README.md +5 -0
- package/src/icons/general/__tests__/IconSearchJuicy.test.tsx +38 -0
- package/src/icons/google-docs/IconGoogle.js.flow +57 -0
- package/src/icons/google-docs/IconGoogle.tsx +50 -0
- package/src/icons/google-docs/__tests__/IconGoogle.test.tsx +44 -0
- package/src/icons/item-icon/ItemIcon.tsx +4 -0
- package/src/icons/item-icon/__tests__/ItemIcon.test.tsx +47 -115
- package/src/icons/item-icon/__tests__/__snapshots__/ItemIcon.test.tsx.snap +229 -229
- package/src/icons/microsoft-office/IconOffice.js.flow +45 -0
- package/src/icons/microsoft-office/IconOffice.tsx +38 -0
- package/src/icons/microsoft-office/__tests__/IconOffice.test.tsx +44 -0
- package/src/illustration/EmailVerification140.js.flow +102 -0
- package/src/illustration/EmailVerification140.stories.tsx +13 -0
- package/src/illustration/EmailVerification140.tsx +100 -0
- package/src/styles/_variables.scss +1 -0
- package/src/styles/common/_forms.scss +6 -0
- package/src/styles/constants/_layout.scss +3 -0
- package/src/styles/constants/_media-queries.scss +15 -0
- package/src/styles/variables.js +10 -1
- package/src/styles/variables.json +10 -1
- package/src/styles/variables.ts +9 -0
- package/src/utils/Browser.js +10 -0
- package/src/utils/validators.js +25 -3
|
@@ -12,6 +12,7 @@ import messages from './messages';
|
|
|
12
12
|
import SidebarContent from '../SidebarContent';
|
|
13
13
|
import VersionsMenu from './VersionsMenu';
|
|
14
14
|
import { BackButton } from '../../common/nav-button';
|
|
15
|
+
import PlainButton from '../../../components/plain-button/PlainButton';
|
|
15
16
|
import { DEFAULT_FETCH_END } from '../../../constants';
|
|
16
17
|
import { LoadingIndicatorWrapper } from '../../../components/loading-indicator';
|
|
17
18
|
import type { BoxItemVersion } from '../../../common/types/core';
|
|
@@ -21,18 +22,20 @@ const MAX_VERSIONS = DEFAULT_FETCH_END;
|
|
|
21
22
|
|
|
22
23
|
type Props = {
|
|
23
24
|
error?: MessageDescriptor,
|
|
25
|
+
errorTitle?: MessageDescriptor,
|
|
24
26
|
fileId: string,
|
|
25
27
|
isLoading: boolean,
|
|
28
|
+
onUpgradeClick?: () => void,
|
|
26
29
|
parentName: string,
|
|
27
30
|
versionCount: number,
|
|
28
31
|
versionLimit: number,
|
|
29
32
|
versions: Array<BoxItemVersion>,
|
|
30
33
|
};
|
|
31
34
|
|
|
32
|
-
const VersionsSidebar = ({ error, isLoading, parentName, versions, ...rest }: Props) => {
|
|
35
|
+
const VersionsSidebar = ({ error, errorTitle, onUpgradeClick, isLoading, parentName, versions, ...rest }: Props) => {
|
|
33
36
|
const showLimit = versions.length >= MAX_VERSIONS;
|
|
34
37
|
const showVersions = !!versions.length;
|
|
35
|
-
const showEmpty = !isLoading && !showVersions;
|
|
38
|
+
const showEmpty = !isLoading && !showVersions && !onUpgradeClick;
|
|
36
39
|
const showError = !!error;
|
|
37
40
|
|
|
38
41
|
return (
|
|
@@ -49,8 +52,18 @@ const VersionsSidebar = ({ error, isLoading, parentName, versions, ...rest }: Pr
|
|
|
49
52
|
>
|
|
50
53
|
<LoadingIndicatorWrapper className="bcs-Versions-content" crawlerPosition="top" isLoading={isLoading}>
|
|
51
54
|
{showError && (
|
|
52
|
-
<InlineError title={<FormattedMessage {...
|
|
55
|
+
<InlineError title={<FormattedMessage {...errorTitle} />}>
|
|
53
56
|
<FormattedMessage {...error} />
|
|
57
|
+
{onUpgradeClick && (
|
|
58
|
+
<PlainButton
|
|
59
|
+
onClick={onUpgradeClick}
|
|
60
|
+
data-resin-target="versioning_error_error_message_upgrade_cta"
|
|
61
|
+
type="button"
|
|
62
|
+
className="bcs-Versions-upgrade"
|
|
63
|
+
>
|
|
64
|
+
<FormattedMessage {...messages.versionUpgradeLink} />
|
|
65
|
+
</PlainButton>
|
|
66
|
+
)}
|
|
54
67
|
</InlineError>
|
|
55
68
|
)}
|
|
56
69
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/elements/content-sidebar/versions/VersionsSidebar.js"],"names":["React","FormattedMessage","InlineError","messages","SidebarContent","VersionsMenu","BackButton","DEFAULT_FETCH_END","LoadingIndicatorWrapper","MAX_VERSIONS","VersionsSidebar","error","isLoading","parentName","versions","rest","showLimit","length","showVersions","showEmpty","showError","versionsTitle","
|
|
1
|
+
{"version":3,"sources":["../../../../src/elements/content-sidebar/versions/VersionsSidebar.js"],"names":["React","FormattedMessage","InlineError","messages","SidebarContent","VersionsMenu","BackButton","PlainButton","DEFAULT_FETCH_END","LoadingIndicatorWrapper","MAX_VERSIONS","VersionsSidebar","error","errorTitle","onUpgradeClick","isLoading","parentName","versions","rest","showLimit","length","showVersions","showEmpty","showError","versionsTitle","versionUpgradeLink","versionsEmpty","versionMaxEntries","maxVersions"],"mappings":";;;;;;AAAA;;;;;AAMA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,gBAAT,QAAiC,YAAjC;AAEA,OAAOC,WAAP,MAAwB,kCAAxB;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,OAAOC,cAAP,MAA2B,mBAA3B;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AACA,SAASC,UAAT,QAA2B,yBAA3B;AACA,OAAOC,WAAP,MAAwB,8CAAxB;AACA,SAASC,iBAAT,QAAkC,oBAAlC;AACA,SAASC,uBAAT,QAAwC,uCAAxC;AAEA,OAAO,wBAAP;AAEA,IAAMC,YAAY,GAAGF,iBAArB;;AAcA,IAAMG,eAAe,GAAG,SAAlBA,eAAkB,OAA4F;AAAA,MAAzFC,KAAyF,QAAzFA,KAAyF;AAAA,MAAlFC,UAAkF,QAAlFA,UAAkF;AAAA,MAAtEC,cAAsE,QAAtEA,cAAsE;AAAA,MAAtDC,SAAsD,QAAtDA,SAAsD;AAAA,MAA3CC,UAA2C,QAA3CA,UAA2C;AAAA,MAA/BC,QAA+B,QAA/BA,QAA+B;AAAA,MAAlBC,IAAkB;;AAChH,MAAMC,SAAS,GAAGF,QAAQ,CAACG,MAAT,IAAmBV,YAArC;AACA,MAAMW,YAAY,GAAG,CAAC,CAACJ,QAAQ,CAACG,MAAhC;AACA,MAAME,SAAS,GAAG,CAACP,SAAD,IAAc,CAACM,YAAf,IAA+B,CAACP,cAAlD;AACA,MAAMS,SAAS,GAAG,CAAC,CAACX,KAApB;AAEA,SACI,oBAAC,cAAD;AACI,IAAA,SAAS,EAAC,cADd;AAEI,4BAAqB,SAFzB;AAGI,0BAAmB,UAHvB;AAII,IAAA,KAAK,EACD,0CACI,oBAAC,UAAD;AAAY,2BAAkB,MAA9B;AAAqC,MAAA,EAAE,aAAMI,UAAN;AAAvC,MADJ,EAEI,oBAAC,gBAAD,EAAsBb,QAAQ,CAACqB,aAA/B,CAFJ;AALR,KAWI,oBAAC,uBAAD;AAAyB,IAAA,SAAS,EAAC,sBAAnC;AAA0D,IAAA,eAAe,EAAC,KAA1E;AAAgF,IAAA,SAAS,EAAET;AAA3F,KACKQ,SAAS,IACN,oBAAC,WAAD;AAAa,IAAA,KAAK,EAAE,oBAAC,gBAAD,EAAsBV,UAAtB;AAApB,KACI,oBAAC,gBAAD,EAAsBD,KAAtB,CADJ,EAEKE,cAAc,IACX,oBAAC,WAAD;AACI,IAAA,OAAO,EAAEA,cADb;AAEI,yBAAkB,4CAFtB;AAGI,IAAA,IAAI,EAAC,QAHT;AAII,IAAA,SAAS,EAAC;AAJd,KAMI,oBAAC,gBAAD,EAAsBX,QAAQ,CAACsB,kBAA/B,CANJ,CAHR,CAFR,EAiBKH,SAAS,IACN;AAAK,IAAA,SAAS,EAAC;AAAf,KACI,oBAAC,gBAAD,EAAsBnB,QAAQ,CAACuB,aAA/B,CADJ,CAlBR,EAuBKL,YAAY,IACT;AAAK,IAAA,SAAS,EAAC;AAAf,KACI,oBAAC,YAAD;AAAc,IAAA,QAAQ,EAAEJ;AAAxB,KAAsCC,IAAtC,EADJ,CAxBR,EA4BKC,SAAS,IACN;AAAK,IAAA,SAAS,EAAC,yBAAf;AAAyC,mBAAY;AAArD,KACI,oBAAC,gBAAD,eACQhB,QAAQ,CAACwB,iBADjB;AAEI,IAAA,MAAM,EAAE;AACJC,MAAAA,WAAW,EAAElB;AADT;AAFZ,KADJ,CA7BR,CAXJ,CADJ;AAqDH,CA3DD;;AA6DA,eAAeC,eAAf","sourcesContent":["/**\n * @flow\n * @file Versions Sidebar component\n * @author Box\n */\n\nimport * as React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport type { MessageDescriptor } from 'react-intl';\nimport InlineError from '../../../components/inline-error';\nimport messages from './messages';\nimport SidebarContent from '../SidebarContent';\nimport VersionsMenu from './VersionsMenu';\nimport { BackButton } from '../../common/nav-button';\nimport PlainButton from '../../../components/plain-button/PlainButton';\nimport { DEFAULT_FETCH_END } from '../../../constants';\nimport { LoadingIndicatorWrapper } from '../../../components/loading-indicator';\nimport type { BoxItemVersion } from '../../../common/types/core';\nimport './VersionsSidebar.scss';\n\nconst MAX_VERSIONS = DEFAULT_FETCH_END;\n\ntype Props = {\n error?: MessageDescriptor,\n errorTitle?: MessageDescriptor,\n fileId: string,\n isLoading: boolean,\n onUpgradeClick?: () => void,\n parentName: string,\n versionCount: number,\n versionLimit: number,\n versions: Array<BoxItemVersion>,\n};\n\nconst VersionsSidebar = ({ error, errorTitle, onUpgradeClick, isLoading, parentName, versions, ...rest }: Props) => {\n const showLimit = versions.length >= MAX_VERSIONS;\n const showVersions = !!versions.length;\n const showEmpty = !isLoading && !showVersions && !onUpgradeClick;\n const showError = !!error;\n\n return (\n <SidebarContent\n className=\"bcs-Versions\"\n data-resin-component=\"preview\"\n data-resin-feature=\"versions\"\n title={\n <>\n <BackButton data-resin-target=\"back\" to={`/${parentName}`} />\n <FormattedMessage {...messages.versionsTitle} />\n </>\n }\n >\n <LoadingIndicatorWrapper className=\"bcs-Versions-content\" crawlerPosition=\"top\" isLoading={isLoading}>\n {showError && (\n <InlineError title={<FormattedMessage {...errorTitle} />}>\n <FormattedMessage {...error} />\n {onUpgradeClick && (\n <PlainButton\n onClick={onUpgradeClick}\n data-resin-target=\"versioning_error_error_message_upgrade_cta\"\n type=\"button\"\n className=\"bcs-Versions-upgrade\"\n >\n <FormattedMessage {...messages.versionUpgradeLink} />\n </PlainButton>\n )}\n </InlineError>\n )}\n\n {showEmpty && (\n <div className=\"bcs-Versions-empty\">\n <FormattedMessage {...messages.versionsEmpty} />\n </div>\n )}\n\n {showVersions && (\n <div className=\"bcs-Versions-menu\">\n <VersionsMenu versions={versions} {...rest} />\n </div>\n )}\n {showLimit && (\n <div className=\"bcs-Versions-maxEntries\" data-testid=\"max-versions\">\n <FormattedMessage\n {...messages.versionMaxEntries}\n values={{\n maxVersions: MAX_VERSIONS,\n }}\n />\n </div>\n )}\n </LoadingIndicatorWrapper>\n </SidebarContent>\n );\n};\n\nexport default VersionsSidebar;\n"],"file":"VersionsSidebar.js"}
|
|
@@ -54,9 +54,15 @@ import { generatePath, withRouter } from 'react-router-dom';
|
|
|
54
54
|
import API from '../../../api';
|
|
55
55
|
import messages from './messages';
|
|
56
56
|
import openUrlInsideIframe from '../../../utils/iframe';
|
|
57
|
+
import StaticVersionsSidebar from './StaticVersionSidebar';
|
|
57
58
|
import VersionsSidebar from './VersionsSidebar';
|
|
58
59
|
import VersionsSidebarAPI from './VersionsSidebarAPI';
|
|
59
60
|
import { withAPIContext } from '../../common/api-context';
|
|
61
|
+
var UPSELL_TYPE = {
|
|
62
|
+
STATIC_VERSION_HISTORY: 'STATIC_VERSION_HISTORY',
|
|
63
|
+
STATIC_VERSION_HISTORY_WITH_PICTURE: 'STATIC_VERSION_HISTORY_WITH_PICTURE',
|
|
64
|
+
ERROR_MESSAGE: 'ERROR_MESSAGE'
|
|
65
|
+
};
|
|
60
66
|
|
|
61
67
|
var VersionsSidebarContainer =
|
|
62
68
|
/*#__PURE__*/
|
|
@@ -163,9 +169,13 @@ function (_React$Component) {
|
|
|
163
169
|
_this.mergeResponse(data);
|
|
164
170
|
});
|
|
165
171
|
|
|
166
|
-
_defineProperty(_assertThisInitialized(_this), "handleFetchError", function () {
|
|
172
|
+
_defineProperty(_assertThisInitialized(_this), "handleFetchError", function (error) {
|
|
173
|
+
var onUpgradeClick = _this.props.onUpgradeClick;
|
|
174
|
+
var shouldShowVersionErrorWithUpsell = !!onUpgradeClick && error.status === 403;
|
|
175
|
+
|
|
167
176
|
_this.setState({
|
|
168
|
-
error: messages.versionFetchError,
|
|
177
|
+
error: shouldShowVersionErrorWithUpsell ? messages.versionNotAvailable : messages.versionFetchError,
|
|
178
|
+
errorTitle: shouldShowVersionErrorWithUpsell ? messages.versionAccessError : messages.versionServerError,
|
|
169
179
|
isLoading: false,
|
|
170
180
|
isWatermarked: false,
|
|
171
181
|
versionCount: 0,
|
|
@@ -214,7 +224,7 @@ function (_React$Component) {
|
|
|
214
224
|
});
|
|
215
225
|
|
|
216
226
|
_defineProperty(_assertThisInitialized(_this), "fetchData", function () {
|
|
217
|
-
_this.api.fetchData().then(_this.handleFetchSuccess).catch(_this.handleFetchError);
|
|
227
|
+
return _this.api.fetchData().then(_this.handleFetchSuccess).catch(_this.handleFetchError);
|
|
218
228
|
});
|
|
219
229
|
|
|
220
230
|
_defineProperty(_assertThisInitialized(_this), "findVersion", function (versionId) {
|
|
@@ -283,17 +293,26 @@ function (_React$Component) {
|
|
|
283
293
|
_createClass(VersionsSidebarContainer, [{
|
|
284
294
|
key: "componentDidMount",
|
|
285
295
|
value: function componentDidMount() {
|
|
296
|
+
var _this$props3 = this.props,
|
|
297
|
+
onLoad = _this$props3.onLoad,
|
|
298
|
+
versionUpsellExperience = _this$props3.versionUpsellExperience;
|
|
286
299
|
this.initialize();
|
|
287
|
-
this.fetchData()
|
|
300
|
+
this.fetchData().then(function () {
|
|
301
|
+
onLoad({
|
|
302
|
+
component: 'preview',
|
|
303
|
+
feature: 'versions',
|
|
304
|
+
versionUpsellExperience: versionUpsellExperience
|
|
305
|
+
});
|
|
306
|
+
});
|
|
288
307
|
}
|
|
289
308
|
}, {
|
|
290
309
|
key: "componentDidUpdate",
|
|
291
310
|
value: function componentDidUpdate(_ref5) {
|
|
292
311
|
var prevFileId = _ref5.fileId,
|
|
293
312
|
prevVersionId = _ref5.versionId;
|
|
294
|
-
var _this$
|
|
295
|
-
fileId = _this$
|
|
296
|
-
versionId = _this$
|
|
313
|
+
var _this$props4 = this.props,
|
|
314
|
+
fileId = _this$props4.fileId,
|
|
315
|
+
versionId = _this$props4.versionId;
|
|
297
316
|
|
|
298
317
|
if (fileId !== prevFileId) {
|
|
299
318
|
this.refresh();
|
|
@@ -328,9 +347,20 @@ function (_React$Component) {
|
|
|
328
347
|
}, {
|
|
329
348
|
key: "render",
|
|
330
349
|
value: function render() {
|
|
331
|
-
var _this$
|
|
332
|
-
fileId = _this$
|
|
333
|
-
parentName = _this$
|
|
350
|
+
var _this$props5 = this.props,
|
|
351
|
+
fileId = _this$props5.fileId,
|
|
352
|
+
parentName = _this$props5.parentName,
|
|
353
|
+
onUpgradeClick = _this$props5.onUpgradeClick,
|
|
354
|
+
versionUpsellExperience = _this$props5.versionUpsellExperience;
|
|
355
|
+
|
|
356
|
+
if (onUpgradeClick && (versionUpsellExperience === UPSELL_TYPE.STATIC_VERSION_HISTORY || versionUpsellExperience === UPSELL_TYPE.STATIC_VERSION_HISTORY_WITH_PICTURE)) {
|
|
357
|
+
return React.createElement(StaticVersionsSidebar, _extends({
|
|
358
|
+
onUpgradeClick: onUpgradeClick,
|
|
359
|
+
parentName: parentName,
|
|
360
|
+
showUpsellWithPicture: versionUpsellExperience === UPSELL_TYPE.STATIC_VERSION_HISTORY_WITH_PICTURE
|
|
361
|
+
}, this.state));
|
|
362
|
+
}
|
|
363
|
+
|
|
334
364
|
return React.createElement(VersionsSidebar, _extends({
|
|
335
365
|
fileId: fileId,
|
|
336
366
|
onDelete: this.handleActionDelete,
|
|
@@ -338,6 +368,7 @@ function (_React$Component) {
|
|
|
338
368
|
onPreview: this.handleActionPreview,
|
|
339
369
|
onPromote: this.handleActionPromote,
|
|
340
370
|
onRestore: this.handleActionRestore,
|
|
371
|
+
onUpgradeClick: onUpgradeClick,
|
|
341
372
|
parentName: parentName
|
|
342
373
|
}, this.state));
|
|
343
374
|
}
|
|
@@ -347,6 +378,7 @@ function (_React$Component) {
|
|
|
347
378
|
}(React.Component);
|
|
348
379
|
|
|
349
380
|
_defineProperty(VersionsSidebarContainer, "defaultProps", {
|
|
381
|
+
onLoad: noop,
|
|
350
382
|
onVersionChange: noop,
|
|
351
383
|
onVersionDelete: noop,
|
|
352
384
|
onVersionDownload: noop,
|
|
@@ -15,10 +15,11 @@ import type { MessageDescriptor } from 'react-intl';
|
|
|
15
15
|
import API from '../../../api';
|
|
16
16
|
import messages from './messages';
|
|
17
17
|
import openUrlInsideIframe from '../../../utils/iframe';
|
|
18
|
+
import StaticVersionsSidebar from './StaticVersionSidebar';
|
|
18
19
|
import VersionsSidebar from './VersionsSidebar';
|
|
19
20
|
import VersionsSidebarAPI from './VersionsSidebarAPI';
|
|
20
21
|
import { withAPIContext } from '../../common/api-context';
|
|
21
|
-
import type { VersionActionCallback, VersionChangeCallback } from './flowTypes';
|
|
22
|
+
import type { VersionActionCallback, VersionChangeCallback, SidebarLoadCallback } from './flowTypes';
|
|
22
23
|
import type { BoxItemVersion, BoxItem, FileVersions } from '../../../common/types/core';
|
|
23
24
|
|
|
24
25
|
type Props = {
|
|
@@ -27,6 +28,8 @@ type Props = {
|
|
|
27
28
|
hasSidebarInitialized?: boolean,
|
|
28
29
|
history: RouterHistory,
|
|
29
30
|
match: Match,
|
|
31
|
+
onLoad: SidebarLoadCallback,
|
|
32
|
+
onUpgradeClick?: () => void,
|
|
30
33
|
onVersionChange: VersionChangeCallback,
|
|
31
34
|
onVersionDelete: VersionActionCallback,
|
|
32
35
|
onVersionDownload: VersionActionCallback,
|
|
@@ -35,10 +38,18 @@ type Props = {
|
|
|
35
38
|
onVersionRestore: VersionActionCallback,
|
|
36
39
|
parentName: string,
|
|
37
40
|
versionId?: string,
|
|
41
|
+
versionUpsellExperience: ?string,
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const UPSELL_TYPE = {
|
|
45
|
+
STATIC_VERSION_HISTORY: 'STATIC_VERSION_HISTORY',
|
|
46
|
+
STATIC_VERSION_HISTORY_WITH_PICTURE: 'STATIC_VERSION_HISTORY_WITH_PICTURE',
|
|
47
|
+
ERROR_MESSAGE: 'ERROR_MESSAGE',
|
|
38
48
|
};
|
|
39
49
|
|
|
40
50
|
type State = {
|
|
41
51
|
error?: MessageDescriptor,
|
|
52
|
+
errorTitle?: MessageDescriptor,
|
|
42
53
|
isLoading: boolean,
|
|
43
54
|
isWatermarked: boolean,
|
|
44
55
|
versionCount: number,
|
|
@@ -48,6 +59,7 @@ type State = {
|
|
|
48
59
|
|
|
49
60
|
class VersionsSidebarContainer extends React.Component<Props, State> {
|
|
50
61
|
static defaultProps = {
|
|
62
|
+
onLoad: noop,
|
|
51
63
|
onVersionChange: noop,
|
|
52
64
|
onVersionDelete: noop,
|
|
53
65
|
onVersionDownload: noop,
|
|
@@ -72,8 +84,11 @@ class VersionsSidebarContainer extends React.Component<Props, State> {
|
|
|
72
84
|
window: any = window;
|
|
73
85
|
|
|
74
86
|
componentDidMount() {
|
|
87
|
+
const { onLoad, versionUpsellExperience } = this.props;
|
|
75
88
|
this.initialize();
|
|
76
|
-
this.fetchData()
|
|
89
|
+
this.fetchData().then(() => {
|
|
90
|
+
onLoad({ component: 'preview', feature: 'versions', versionUpsellExperience });
|
|
91
|
+
});
|
|
77
92
|
}
|
|
78
93
|
|
|
79
94
|
componentDidUpdate({ fileId: prevFileId, versionId: prevVersionId }: Props) {
|
|
@@ -163,9 +178,13 @@ class VersionsSidebarContainer extends React.Component<Props, State> {
|
|
|
163
178
|
this.mergeResponse(data);
|
|
164
179
|
};
|
|
165
180
|
|
|
166
|
-
handleFetchError = (): void => {
|
|
181
|
+
handleFetchError = (error: Object): void => {
|
|
182
|
+
const { onUpgradeClick } = this.props;
|
|
183
|
+
const shouldShowVersionErrorWithUpsell = !!onUpgradeClick && error.status === 403;
|
|
184
|
+
|
|
167
185
|
this.setState({
|
|
168
|
-
error: messages.versionFetchError,
|
|
186
|
+
error: shouldShowVersionErrorWithUpsell ? messages.versionNotAvailable : messages.versionFetchError,
|
|
187
|
+
errorTitle: shouldShowVersionErrorWithUpsell ? messages.versionAccessError : messages.versionServerError,
|
|
169
188
|
isLoading: false,
|
|
170
189
|
isWatermarked: false,
|
|
171
190
|
versionCount: 0,
|
|
@@ -208,8 +227,8 @@ class VersionsSidebarContainer extends React.Component<Props, State> {
|
|
|
208
227
|
this.api = new VersionsSidebarAPI(this.props);
|
|
209
228
|
};
|
|
210
229
|
|
|
211
|
-
fetchData = ():
|
|
212
|
-
this.api
|
|
230
|
+
fetchData = (): Promise<?[BoxItem, FileVersions]> => {
|
|
231
|
+
return this.api
|
|
213
232
|
.fetchData()
|
|
214
233
|
.then(this.handleFetchSuccess)
|
|
215
234
|
.catch(this.handleFetchError);
|
|
@@ -275,7 +294,22 @@ class VersionsSidebarContainer extends React.Component<Props, State> {
|
|
|
275
294
|
};
|
|
276
295
|
|
|
277
296
|
render() {
|
|
278
|
-
const { fileId, parentName } = this.props;
|
|
297
|
+
const { fileId, parentName, onUpgradeClick, versionUpsellExperience } = this.props;
|
|
298
|
+
|
|
299
|
+
if (
|
|
300
|
+
onUpgradeClick &&
|
|
301
|
+
(versionUpsellExperience === UPSELL_TYPE.STATIC_VERSION_HISTORY ||
|
|
302
|
+
versionUpsellExperience === UPSELL_TYPE.STATIC_VERSION_HISTORY_WITH_PICTURE)
|
|
303
|
+
) {
|
|
304
|
+
return (
|
|
305
|
+
<StaticVersionsSidebar
|
|
306
|
+
onUpgradeClick={onUpgradeClick}
|
|
307
|
+
parentName={parentName}
|
|
308
|
+
showUpsellWithPicture={versionUpsellExperience === UPSELL_TYPE.STATIC_VERSION_HISTORY_WITH_PICTURE}
|
|
309
|
+
{...this.state}
|
|
310
|
+
/>
|
|
311
|
+
);
|
|
312
|
+
}
|
|
279
313
|
|
|
280
314
|
return (
|
|
281
315
|
<VersionsSidebar
|
|
@@ -285,6 +319,7 @@ class VersionsSidebarContainer extends React.Component<Props, State> {
|
|
|
285
319
|
onPreview={this.handleActionPreview}
|
|
286
320
|
onPromote={this.handleActionPromote}
|
|
287
321
|
onRestore={this.handleActionRestore}
|
|
322
|
+
onUpgradeClick={onUpgradeClick}
|
|
288
323
|
parentName={parentName}
|
|
289
324
|
{...this.state}
|
|
290
325
|
/>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/elements/content-sidebar/versions/VersionsSidebarContainer.js"],"names":["React","flow","getProp","merge","noop","generatePath","withRouter","API","messages","openUrlInsideIframe","VersionsSidebar","VersionsSidebarAPI","withAPIContext","VersionsSidebarContainer","isLoading","isWatermarked","versionCount","Infinity","versionLimit","versions","window","versionId","setState","api","deleteVersion","findVersion","then","fetchVersion","handleDeleteSuccess","props","onVersionDelete","catch","handleActionError","versionActionDeleteError","fetchDownloadUrl","onVersionDownload","versionActionDownloadError","updateVersion","onVersionPreview","promoteVersion","fetchData","handleFetchSuccess","handlePromoteSuccess","onVersionPromote","versionActionPromoteError","restoreVersion","handleRestoreSuccess","onVersionRestore","versionActionRestoreError","message","error","data","selectedVersionId","id","mergeResponse","updateVersionToCurrent","versionFetchError","fileResponse","versionsResponse","version_limit","undefined","versionsWithPermissions","getVersionsAPI","addPermissions","entries","total_count","sortVersions","verifyVersion","file","fileVersion","file_version","handleFetchError","state","find","version","newVersion","newVersionId","map","newVersions","mergeVersions","history","match","push","path","params","getCurrentVersionId","onVersionChange","selectedVersion","currentVersionId","initialize","prevFileId","fileId","prevVersionId","refresh","sort","a","b","Date","parse","created_at","parentName","handleActionDelete","handleActionDownload","handleActionPreview","handleActionPromote","handleActionRestore","Component"],"mappings":"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","sourcesContent":["/**\n * @flow\n * @file Versions Sidebar container\n * @author Box\n */\n\nimport React from 'react';\nimport flow from 'lodash/flow';\nimport getProp from 'lodash/get';\nimport merge from 'lodash/merge';\nimport noop from 'lodash/noop';\nimport { generatePath, withRouter } from 'react-router-dom';\nimport type { Match, RouterHistory } from 'react-router-dom';\nimport type { MessageDescriptor } from 'react-intl';\nimport API from '../../../api';\nimport messages from './messages';\nimport openUrlInsideIframe from '../../../utils/iframe';\nimport VersionsSidebar from './VersionsSidebar';\nimport VersionsSidebarAPI from './VersionsSidebarAPI';\nimport { withAPIContext } from '../../common/api-context';\nimport type { VersionActionCallback, VersionChangeCallback } from './flowTypes';\nimport type { BoxItemVersion, BoxItem, FileVersions } from '../../../common/types/core';\n\ntype Props = {\n api: API,\n fileId: string,\n hasSidebarInitialized?: boolean,\n history: RouterHistory,\n match: Match,\n onVersionChange: VersionChangeCallback,\n onVersionDelete: VersionActionCallback,\n onVersionDownload: VersionActionCallback,\n onVersionPreview: VersionActionCallback,\n onVersionPromote: VersionActionCallback,\n onVersionRestore: VersionActionCallback,\n parentName: string,\n versionId?: string,\n};\n\ntype State = {\n error?: MessageDescriptor,\n isLoading: boolean,\n isWatermarked: boolean,\n versionCount: number,\n versionLimit: number,\n versions: Array<BoxItemVersion>,\n};\n\nclass VersionsSidebarContainer extends React.Component<Props, State> {\n static defaultProps = {\n onVersionChange: noop,\n onVersionDelete: noop,\n onVersionDownload: noop,\n onVersionPreview: noop,\n onVersionPromote: noop,\n onVersionRestore: noop,\n parentName: '',\n };\n\n api: VersionsSidebarAPI;\n\n props: Props;\n\n state: State = {\n isLoading: true,\n isWatermarked: false,\n versionCount: Infinity,\n versionLimit: Infinity,\n versions: [],\n };\n\n window: any = window;\n\n componentDidMount() {\n this.initialize();\n this.fetchData();\n }\n\n componentDidUpdate({ fileId: prevFileId, versionId: prevVersionId }: Props) {\n const { fileId, versionId } = this.props;\n\n if (fileId !== prevFileId) {\n this.refresh();\n }\n\n if (versionId !== prevVersionId) {\n this.verifyVersion();\n }\n }\n\n componentWillUnmount() {\n // Reset the current version id since the wrapping route is no longer active\n this.props.onVersionChange(null);\n }\n\n handleActionDelete = (versionId: string): Promise<void> => {\n this.setState({ isLoading: true });\n\n return this.api\n .deleteVersion(this.findVersion(versionId))\n .then(() => this.api.fetchVersion(versionId))\n .then(this.handleDeleteSuccess)\n .then(() => this.props.onVersionDelete(versionId))\n .catch(() => this.handleActionError(messages.versionActionDeleteError));\n };\n\n handleActionDownload = (versionId: string): Promise<void> => {\n return this.api\n .fetchDownloadUrl(this.findVersion(versionId))\n .then(openUrlInsideIframe)\n .then(() => this.props.onVersionDownload(versionId))\n .catch(() => this.handleActionError(messages.versionActionDownloadError));\n };\n\n handleActionPreview = (versionId: string): void => {\n this.updateVersion(versionId);\n this.props.onVersionPreview(versionId);\n };\n\n handleActionPromote = (versionId: string): Promise<void> => {\n this.setState({ isLoading: true });\n\n return this.api\n .promoteVersion(this.findVersion(versionId))\n .then(this.api.fetchData)\n .then(this.handleFetchSuccess)\n .then(this.handlePromoteSuccess)\n .then(() => this.props.onVersionPromote(versionId))\n .catch(() => this.handleActionError(messages.versionActionPromoteError));\n };\n\n handleActionRestore = (versionId: string): Promise<void> => {\n this.setState({ isLoading: true });\n\n return this.api\n .restoreVersion(this.findVersion(versionId))\n .then(() => this.api.fetchVersion(versionId))\n .then(this.handleRestoreSuccess)\n .then(() => this.props.onVersionRestore(versionId))\n .catch(() => this.handleActionError(messages.versionActionRestoreError));\n };\n\n handleActionError = (message: MessageDescriptor): void => {\n this.setState({\n error: message,\n isLoading: false,\n });\n };\n\n handleDeleteSuccess = (data: BoxItemVersion): void => {\n const { versionId: selectedVersionId } = this.props;\n const { id: versionId } = data;\n\n this.mergeResponse(data);\n\n // Bump the user to the current version if they deleted their selected version\n if (versionId === selectedVersionId) {\n this.updateVersionToCurrent();\n }\n };\n\n handleRestoreSuccess = (data: BoxItemVersion): void => {\n this.mergeResponse(data);\n };\n\n handleFetchError = (): void => {\n this.setState({\n error: messages.versionFetchError,\n isLoading: false,\n isWatermarked: false,\n versionCount: 0,\n versions: [],\n });\n };\n\n handleFetchSuccess = ([fileResponse, versionsResponse]): [BoxItem, FileVersions] => {\n const { api } = this.props;\n const { version_limit } = fileResponse;\n const isWatermarked = getProp(fileResponse, 'watermark_info.is_watermarked', false);\n const versionLimit = version_limit !== null && version_limit !== undefined ? version_limit : Infinity;\n const versionsWithPermissions = api.getVersionsAPI(false).addPermissions(versionsResponse, fileResponse) || {};\n const { entries: versions, total_count: versionCount } = versionsWithPermissions;\n\n this.setState(\n {\n error: undefined,\n isLoading: false,\n isWatermarked,\n versionCount,\n versionLimit,\n versions: this.sortVersions(versions),\n },\n this.verifyVersion,\n );\n\n return [fileResponse, versionsResponse];\n };\n\n handlePromoteSuccess = ([file]: [BoxItem, FileVersions]): void => {\n const { file_version: fileVersion } = file;\n\n if (fileVersion) {\n this.updateVersion(fileVersion.id);\n }\n };\n\n initialize = (): void => {\n this.api = new VersionsSidebarAPI(this.props);\n };\n\n fetchData = (): void => {\n this.api\n .fetchData()\n .then(this.handleFetchSuccess)\n .catch(this.handleFetchError);\n };\n\n findVersion = (versionId: ?string): ?BoxItemVersion => {\n const { versions } = this.state;\n\n return versions.find(version => version.id === versionId);\n };\n\n getCurrentVersionId = (): ?string => {\n const { versions } = this.state;\n return versions[0] ? versions[0].id : null;\n };\n\n mergeVersions = (newVersion: BoxItemVersion): Array<BoxItemVersion> => {\n const { versions } = this.state;\n const newVersionId = newVersion ? newVersion.id : '';\n return versions.map(version => (version.id === newVersionId ? merge({ ...version }, newVersion) : version));\n };\n\n mergeResponse = (data: BoxItemVersion): void => {\n const newVersions = this.mergeVersions(data);\n\n this.setState({\n error: undefined,\n isLoading: false,\n versions: newVersions,\n });\n };\n\n refresh(): void {\n this.initialize();\n this.setState({ isLoading: true }, this.fetchData);\n }\n\n sortVersions(versions?: Array<BoxItemVersion> = []): Array<BoxItemVersion> {\n return [...versions].sort((a, b) => Date.parse(b.created_at) - Date.parse(a.created_at));\n }\n\n updateVersion = (versionId?: ?string): void => {\n const { history, match } = this.props;\n return history.push(generatePath(match.path, { ...match.params, versionId }));\n };\n\n updateVersionToCurrent = (): void => {\n this.updateVersion(this.getCurrentVersionId());\n };\n\n verifyVersion = () => {\n const { onVersionChange, versionId } = this.props;\n const selectedVersion = this.findVersion(versionId);\n\n if (selectedVersion) {\n onVersionChange(selectedVersion, {\n currentVersionId: this.getCurrentVersionId(),\n updateVersionToCurrent: this.updateVersionToCurrent,\n });\n } else {\n this.updateVersionToCurrent();\n }\n };\n\n render() {\n const { fileId, parentName } = this.props;\n\n return (\n <VersionsSidebar\n fileId={fileId}\n onDelete={this.handleActionDelete}\n onDownload={this.handleActionDownload}\n onPreview={this.handleActionPreview}\n onPromote={this.handleActionPromote}\n onRestore={this.handleActionRestore}\n parentName={parentName}\n {...this.state}\n />\n );\n }\n}\n\nexport type VersionsSidebarProps = Props;\nexport default flow([withRouter, withAPIContext])(VersionsSidebarContainer);\n"],"file":"VersionsSidebarContainer.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/elements/content-sidebar/versions/VersionsSidebarContainer.js"],"names":["React","flow","getProp","merge","noop","generatePath","withRouter","API","messages","openUrlInsideIframe","StaticVersionsSidebar","VersionsSidebar","VersionsSidebarAPI","withAPIContext","UPSELL_TYPE","STATIC_VERSION_HISTORY","STATIC_VERSION_HISTORY_WITH_PICTURE","ERROR_MESSAGE","VersionsSidebarContainer","isLoading","isWatermarked","versionCount","Infinity","versionLimit","versions","window","versionId","setState","api","deleteVersion","findVersion","then","fetchVersion","handleDeleteSuccess","props","onVersionDelete","catch","handleActionError","versionActionDeleteError","fetchDownloadUrl","onVersionDownload","versionActionDownloadError","updateVersion","onVersionPreview","promoteVersion","fetchData","handleFetchSuccess","handlePromoteSuccess","onVersionPromote","versionActionPromoteError","restoreVersion","handleRestoreSuccess","onVersionRestore","versionActionRestoreError","message","error","data","selectedVersionId","id","mergeResponse","updateVersionToCurrent","onUpgradeClick","shouldShowVersionErrorWithUpsell","status","versionNotAvailable","versionFetchError","errorTitle","versionAccessError","versionServerError","fileResponse","versionsResponse","version_limit","undefined","versionsWithPermissions","getVersionsAPI","addPermissions","entries","total_count","sortVersions","verifyVersion","file","fileVersion","file_version","handleFetchError","state","find","version","newVersion","newVersionId","map","newVersions","mergeVersions","history","match","push","path","params","getCurrentVersionId","onVersionChange","selectedVersion","currentVersionId","onLoad","versionUpsellExperience","initialize","component","feature","prevFileId","fileId","prevVersionId","refresh","sort","a","b","Date","parse","created_at","parentName","handleActionDelete","handleActionDownload","handleActionPreview","handleActionPromote","handleActionRestore","Component"],"mappings":"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","sourcesContent":["/**\n * @flow\n * @file Versions Sidebar container\n * @author Box\n */\n\nimport React from 'react';\nimport flow from 'lodash/flow';\nimport getProp from 'lodash/get';\nimport merge from 'lodash/merge';\nimport noop from 'lodash/noop';\nimport { generatePath, withRouter } from 'react-router-dom';\nimport type { Match, RouterHistory } from 'react-router-dom';\nimport type { MessageDescriptor } from 'react-intl';\nimport API from '../../../api';\nimport messages from './messages';\nimport openUrlInsideIframe from '../../../utils/iframe';\nimport StaticVersionsSidebar from './StaticVersionSidebar';\nimport VersionsSidebar from './VersionsSidebar';\nimport VersionsSidebarAPI from './VersionsSidebarAPI';\nimport { withAPIContext } from '../../common/api-context';\nimport type { VersionActionCallback, VersionChangeCallback, SidebarLoadCallback } from './flowTypes';\nimport type { BoxItemVersion, BoxItem, FileVersions } from '../../../common/types/core';\n\ntype Props = {\n api: API,\n fileId: string,\n hasSidebarInitialized?: boolean,\n history: RouterHistory,\n match: Match,\n onLoad: SidebarLoadCallback,\n onUpgradeClick?: () => void,\n onVersionChange: VersionChangeCallback,\n onVersionDelete: VersionActionCallback,\n onVersionDownload: VersionActionCallback,\n onVersionPreview: VersionActionCallback,\n onVersionPromote: VersionActionCallback,\n onVersionRestore: VersionActionCallback,\n parentName: string,\n versionId?: string,\n versionUpsellExperience: ?string,\n};\n\nconst UPSELL_TYPE = {\n STATIC_VERSION_HISTORY: 'STATIC_VERSION_HISTORY',\n STATIC_VERSION_HISTORY_WITH_PICTURE: 'STATIC_VERSION_HISTORY_WITH_PICTURE',\n ERROR_MESSAGE: 'ERROR_MESSAGE',\n};\n\ntype State = {\n error?: MessageDescriptor,\n errorTitle?: MessageDescriptor,\n isLoading: boolean,\n isWatermarked: boolean,\n versionCount: number,\n versionLimit: number,\n versions: Array<BoxItemVersion>,\n};\n\nclass VersionsSidebarContainer extends React.Component<Props, State> {\n static defaultProps = {\n onLoad: noop,\n onVersionChange: noop,\n onVersionDelete: noop,\n onVersionDownload: noop,\n onVersionPreview: noop,\n onVersionPromote: noop,\n onVersionRestore: noop,\n parentName: '',\n };\n\n api: VersionsSidebarAPI;\n\n props: Props;\n\n state: State = {\n isLoading: true,\n isWatermarked: false,\n versionCount: Infinity,\n versionLimit: Infinity,\n versions: [],\n };\n\n window: any = window;\n\n componentDidMount() {\n const { onLoad, versionUpsellExperience } = this.props;\n this.initialize();\n this.fetchData().then(() => {\n onLoad({ component: 'preview', feature: 'versions', versionUpsellExperience });\n });\n }\n\n componentDidUpdate({ fileId: prevFileId, versionId: prevVersionId }: Props) {\n const { fileId, versionId } = this.props;\n\n if (fileId !== prevFileId) {\n this.refresh();\n }\n\n if (versionId !== prevVersionId) {\n this.verifyVersion();\n }\n }\n\n componentWillUnmount() {\n // Reset the current version id since the wrapping route is no longer active\n this.props.onVersionChange(null);\n }\n\n handleActionDelete = (versionId: string): Promise<void> => {\n this.setState({ isLoading: true });\n\n return this.api\n .deleteVersion(this.findVersion(versionId))\n .then(() => this.api.fetchVersion(versionId))\n .then(this.handleDeleteSuccess)\n .then(() => this.props.onVersionDelete(versionId))\n .catch(() => this.handleActionError(messages.versionActionDeleteError));\n };\n\n handleActionDownload = (versionId: string): Promise<void> => {\n return this.api\n .fetchDownloadUrl(this.findVersion(versionId))\n .then(openUrlInsideIframe)\n .then(() => this.props.onVersionDownload(versionId))\n .catch(() => this.handleActionError(messages.versionActionDownloadError));\n };\n\n handleActionPreview = (versionId: string): void => {\n this.updateVersion(versionId);\n this.props.onVersionPreview(versionId);\n };\n\n handleActionPromote = (versionId: string): Promise<void> => {\n this.setState({ isLoading: true });\n\n return this.api\n .promoteVersion(this.findVersion(versionId))\n .then(this.api.fetchData)\n .then(this.handleFetchSuccess)\n .then(this.handlePromoteSuccess)\n .then(() => this.props.onVersionPromote(versionId))\n .catch(() => this.handleActionError(messages.versionActionPromoteError));\n };\n\n handleActionRestore = (versionId: string): Promise<void> => {\n this.setState({ isLoading: true });\n\n return this.api\n .restoreVersion(this.findVersion(versionId))\n .then(() => this.api.fetchVersion(versionId))\n .then(this.handleRestoreSuccess)\n .then(() => this.props.onVersionRestore(versionId))\n .catch(() => this.handleActionError(messages.versionActionRestoreError));\n };\n\n handleActionError = (message: MessageDescriptor): void => {\n this.setState({\n error: message,\n isLoading: false,\n });\n };\n\n handleDeleteSuccess = (data: BoxItemVersion): void => {\n const { versionId: selectedVersionId } = this.props;\n const { id: versionId } = data;\n\n this.mergeResponse(data);\n\n // Bump the user to the current version if they deleted their selected version\n if (versionId === selectedVersionId) {\n this.updateVersionToCurrent();\n }\n };\n\n handleRestoreSuccess = (data: BoxItemVersion): void => {\n this.mergeResponse(data);\n };\n\n handleFetchError = (error: Object): void => {\n const { onUpgradeClick } = this.props;\n const shouldShowVersionErrorWithUpsell = !!onUpgradeClick && error.status === 403;\n\n this.setState({\n error: shouldShowVersionErrorWithUpsell ? messages.versionNotAvailable : messages.versionFetchError,\n errorTitle: shouldShowVersionErrorWithUpsell ? messages.versionAccessError : messages.versionServerError,\n isLoading: false,\n isWatermarked: false,\n versionCount: 0,\n versions: [],\n });\n };\n\n handleFetchSuccess = ([fileResponse, versionsResponse]): [BoxItem, FileVersions] => {\n const { api } = this.props;\n const { version_limit } = fileResponse;\n const isWatermarked = getProp(fileResponse, 'watermark_info.is_watermarked', false);\n const versionLimit = version_limit !== null && version_limit !== undefined ? version_limit : Infinity;\n const versionsWithPermissions = api.getVersionsAPI(false).addPermissions(versionsResponse, fileResponse) || {};\n const { entries: versions, total_count: versionCount } = versionsWithPermissions;\n\n this.setState(\n {\n error: undefined,\n isLoading: false,\n isWatermarked,\n versionCount,\n versionLimit,\n versions: this.sortVersions(versions),\n },\n this.verifyVersion,\n );\n\n return [fileResponse, versionsResponse];\n };\n\n handlePromoteSuccess = ([file]: [BoxItem, FileVersions]): void => {\n const { file_version: fileVersion } = file;\n\n if (fileVersion) {\n this.updateVersion(fileVersion.id);\n }\n };\n\n initialize = (): void => {\n this.api = new VersionsSidebarAPI(this.props);\n };\n\n fetchData = (): Promise<?[BoxItem, FileVersions]> => {\n return this.api\n .fetchData()\n .then(this.handleFetchSuccess)\n .catch(this.handleFetchError);\n };\n\n findVersion = (versionId: ?string): ?BoxItemVersion => {\n const { versions } = this.state;\n\n return versions.find(version => version.id === versionId);\n };\n\n getCurrentVersionId = (): ?string => {\n const { versions } = this.state;\n return versions[0] ? versions[0].id : null;\n };\n\n mergeVersions = (newVersion: BoxItemVersion): Array<BoxItemVersion> => {\n const { versions } = this.state;\n const newVersionId = newVersion ? newVersion.id : '';\n return versions.map(version => (version.id === newVersionId ? merge({ ...version }, newVersion) : version));\n };\n\n mergeResponse = (data: BoxItemVersion): void => {\n const newVersions = this.mergeVersions(data);\n\n this.setState({\n error: undefined,\n isLoading: false,\n versions: newVersions,\n });\n };\n\n refresh(): void {\n this.initialize();\n this.setState({ isLoading: true }, this.fetchData);\n }\n\n sortVersions(versions?: Array<BoxItemVersion> = []): Array<BoxItemVersion> {\n return [...versions].sort((a, b) => Date.parse(b.created_at) - Date.parse(a.created_at));\n }\n\n updateVersion = (versionId?: ?string): void => {\n const { history, match } = this.props;\n return history.push(generatePath(match.path, { ...match.params, versionId }));\n };\n\n updateVersionToCurrent = (): void => {\n this.updateVersion(this.getCurrentVersionId());\n };\n\n verifyVersion = () => {\n const { onVersionChange, versionId } = this.props;\n const selectedVersion = this.findVersion(versionId);\n\n if (selectedVersion) {\n onVersionChange(selectedVersion, {\n currentVersionId: this.getCurrentVersionId(),\n updateVersionToCurrent: this.updateVersionToCurrent,\n });\n } else {\n this.updateVersionToCurrent();\n }\n };\n\n render() {\n const { fileId, parentName, onUpgradeClick, versionUpsellExperience } = this.props;\n\n if (\n onUpgradeClick &&\n (versionUpsellExperience === UPSELL_TYPE.STATIC_VERSION_HISTORY ||\n versionUpsellExperience === UPSELL_TYPE.STATIC_VERSION_HISTORY_WITH_PICTURE)\n ) {\n return (\n <StaticVersionsSidebar\n onUpgradeClick={onUpgradeClick}\n parentName={parentName}\n showUpsellWithPicture={versionUpsellExperience === UPSELL_TYPE.STATIC_VERSION_HISTORY_WITH_PICTURE}\n {...this.state}\n />\n );\n }\n\n return (\n <VersionsSidebar\n fileId={fileId}\n onDelete={this.handleActionDelete}\n onDownload={this.handleActionDownload}\n onPreview={this.handleActionPreview}\n onPromote={this.handleActionPromote}\n onRestore={this.handleActionRestore}\n onUpgradeClick={onUpgradeClick}\n parentName={parentName}\n {...this.state}\n />\n );\n }\n}\n\nexport type VersionsSidebarProps = Props;\nexport default flow([withRouter, withAPIContext])(VersionsSidebarContainer);\n"],"file":"VersionsSidebarContainer.js"}
|
|
@@ -4,3 +4,4 @@ import type { BoxItemVersion } from '../../../common/types/core';
|
|
|
4
4
|
|
|
5
5
|
export type VersionActionCallback = (versionId: string) => void;
|
|
6
6
|
export type VersionChangeCallback = (version: ?BoxItemVersion, additionalVersionInfo: ?AdditionalVersionInfo) => void;
|
|
7
|
+
export type SidebarLoadCallback = (data: Object) => void;
|
|
@@ -84,6 +84,10 @@ var messages = defineMessages({
|
|
|
84
84
|
"id": "be.sidebarVersions.fetchError",
|
|
85
85
|
"defaultMessage": "File versions could not be retrieved."
|
|
86
86
|
},
|
|
87
|
+
versionNotAvailable: {
|
|
88
|
+
"id": "be.sidebarVersions.notAvailable",
|
|
89
|
+
"defaultMessage": "Sorry, version history is not available with your current account plan. To access versioning, select from one of our paid plans."
|
|
90
|
+
},
|
|
87
91
|
versionLimitExceeded: {
|
|
88
92
|
"id": "be.sidebarVersions.versionLimitExceeded",
|
|
89
93
|
"defaultMessage": "You are limited to the last {versionLimit, number} {versionLimit, plural, one {version} other {versions}}."
|
|
@@ -108,6 +112,14 @@ var messages = defineMessages({
|
|
|
108
112
|
"id": "be.sidebarVersions.serverError",
|
|
109
113
|
"defaultMessage": "Server Error"
|
|
110
114
|
},
|
|
115
|
+
versionAccessError: {
|
|
116
|
+
"id": "be.sidebarVersions.accessError",
|
|
117
|
+
"defaultMessage": "You don't have access to versioning"
|
|
118
|
+
},
|
|
119
|
+
versionUpgradeLink: {
|
|
120
|
+
"id": "be.sidebarVersions.upgradeLink",
|
|
121
|
+
"defaultMessage": "Upgrade Now"
|
|
122
|
+
},
|
|
111
123
|
versionUploadedBy: {
|
|
112
124
|
"id": "be.sidebarVersions.uploadedBy",
|
|
113
125
|
"defaultMessage": "Uploaded by {name}"
|
|
@@ -131,6 +143,14 @@ var messages = defineMessages({
|
|
|
131
143
|
versionRetentionRemove: {
|
|
132
144
|
"id": "be.sidebarVersions.versionRetentionRemove",
|
|
133
145
|
"defaultMessage": "Retention policy expires on {time}."
|
|
146
|
+
},
|
|
147
|
+
versionUpsell: {
|
|
148
|
+
"id": "be.sidebarVersions.versionUpsell",
|
|
149
|
+
"defaultMessage": "Sorry, version history is not available with your current account plan. To access versioning, select from one of our paid plans."
|
|
150
|
+
},
|
|
151
|
+
upgradeButton: {
|
|
152
|
+
"id": "be.sidebarVersions.upgradeButton",
|
|
153
|
+
"defaultMessage": "Upgrade"
|
|
134
154
|
}
|
|
135
155
|
});
|
|
136
156
|
export default messages;
|
|
@@ -109,6 +109,13 @@ const messages = defineMessages({
|
|
|
109
109
|
defaultMessage: 'File versions could not be retrieved.',
|
|
110
110
|
description: 'Error message for the versions fetch call.',
|
|
111
111
|
},
|
|
112
|
+
versionNotAvailable: {
|
|
113
|
+
id: 'be.sidebarVersions.notAvailable',
|
|
114
|
+
defaultMessage:
|
|
115
|
+
'Sorry, version history is not available with your current account plan. To access versioning, select from one of our paid plans.',
|
|
116
|
+
description:
|
|
117
|
+
'Error message with upsell for the versions fetch call for users who dont have the version feature.',
|
|
118
|
+
},
|
|
112
119
|
versionLimitExceeded: {
|
|
113
120
|
id: 'be.sidebarVersions.versionLimitExceeded',
|
|
114
121
|
defaultMessage:
|
|
@@ -140,6 +147,16 @@ const messages = defineMessages({
|
|
|
140
147
|
defaultMessage: 'Server Error',
|
|
141
148
|
description: 'Heading for inline error messages displayed due to a remote server issue.',
|
|
142
149
|
},
|
|
150
|
+
versionAccessError: {
|
|
151
|
+
id: 'be.sidebarVersions.accessError',
|
|
152
|
+
defaultMessage: "You don't have access to versioning",
|
|
153
|
+
description: 'Heading for inline error messages with upsell.',
|
|
154
|
+
},
|
|
155
|
+
versionUpgradeLink: {
|
|
156
|
+
id: 'be.sidebarVersions.upgradeLink',
|
|
157
|
+
defaultMessage: 'Upgrade Now',
|
|
158
|
+
description: 'Text on the upgrade button shown when user does not have access to Version History',
|
|
159
|
+
},
|
|
143
160
|
versionUploadedBy: {
|
|
144
161
|
id: 'be.sidebarVersions.uploadedBy',
|
|
145
162
|
defaultMessage: 'Uploaded by {name}',
|
|
@@ -170,6 +187,17 @@ const messages = defineMessages({
|
|
|
170
187
|
defaultMessage: 'Retention policy expires on {time}.',
|
|
171
188
|
description: 'Message describing when the version retention policy will expire.',
|
|
172
189
|
},
|
|
190
|
+
versionUpsell: {
|
|
191
|
+
defaultMessage:
|
|
192
|
+
'Sorry, version history is not available with your current account plan. To access versioning, select from one of our paid plans.',
|
|
193
|
+
description: 'Upgrade message shown when user does not have access to Version History',
|
|
194
|
+
id: 'be.sidebarVersions.versionUpsell',
|
|
195
|
+
},
|
|
196
|
+
upgradeButton: {
|
|
197
|
+
defaultMessage: 'Upgrade',
|
|
198
|
+
description: 'Text on the upgrade button shown when user does not have access to Version History',
|
|
199
|
+
id: 'be.sidebarVersions.upgradeButton',
|
|
200
|
+
},
|
|
173
201
|
});
|
|
174
202
|
|
|
175
203
|
export default messages;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/elements/content-sidebar/versions/messages.js"],"names":["defineMessages","messages","fileRequestDisplayName","versionsEmpty","versionsPriorWeek","versionsThisMonth","versionsToday","versionsYesterday","versionsTitle","versionCurrent","versionActionDelete","versionActionDeleteError","versionActionDisabledRetention","versionActionDownload","versionActionDownloadError","versionActionPreview","versionActionPromote","versionActionPromoteError","versionActionRestore","versionActionRestoreError","versionActionToggle","versionDeletedBy","versionFetchError","versionLimitExceeded","versionNumberBadge","versionNumberLabel","versionPromotedBy","versionRestoredBy","versionServerError","versionUploadedBy","versionUserUnknown","versionMaxEntries","versionRetentionDelete","versionRetentionIndefinite","versionRetentionRemove"],"mappings":"AAEA,SAASA,cAAT,QAA+B,YAA/B;AAEA,IAAMC,QAAQ,GAAGD,cAAc,CAAC;AAC5BE,EAAAA,sBAAsB;AAAA;AAAA;AAAA,GADM;AAO5BC,EAAAA,aAAa;AAAA;AAAA;AAAA,GAPe;AAY5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GAZW;AAiB5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GAjBW;AAsB5BC,EAAAA,aAAa;AAAA;AAAA;AAAA,GAtBe;AA2B5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GA3BW;AAgC5BC,EAAAA,aAAa;AAAA;AAAA;AAAA,GAhCe;AAqC5BC,EAAAA,cAAc;AAAA;AAAA;AAAA,GArCc;AA0C5BC,EAAAA,mBAAmB;AAAA;AAAA;AAAA,GA1CS;AA+C5BC,EAAAA,wBAAwB;AAAA;AAAA;AAAA,GA/CI;AAoD5BC,EAAAA,8BAA8B;AAAA;AAAA;AAAA,GApDF;AAyD5BC,EAAAA,qBAAqB;AAAA;AAAA;AAAA,GAzDO;AA8D5BC,EAAAA,0BAA0B;AAAA;AAAA;AAAA,GA9DE;AAmE5BC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GAnEQ;AAwE5BC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GAxEQ;AA6E5BC,EAAAA,yBAAyB;AAAA;AAAA;AAAA,GA7EG;AAkF5BC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GAlFQ;AAuF5BC,EAAAA,yBAAyB;AAAA;AAAA;AAAA,GAvFG;AA4F5BC,EAAAA,mBAAmB;AAAA;AAAA;AAAA,GA5FS;AAiG5BC,EAAAA,gBAAgB;AAAA;AAAA;AAAA,GAjGY;AAsG5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GAtGW;AA2G5BC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GA3GQ;AAiH5BC,EAAAA,kBAAkB;AAAA;AAAA;AAAA,GAjHU;AAsH5BC,EAAAA,kBAAkB;AAAA;AAAA;AAAA,GAtHU;AA2H5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GA3HW;AAgI5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GAhIW;AAqI5BC,EAAAA,kBAAkB;AAAA;AAAA;AAAA,GArIU;AA0I5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GA1IW;AA+I5BC,EAAAA,kBAAkB;AAAA;AAAA;AAAA,GA/IU;AAoJ5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GApJW;AAyJ5BC,EAAAA,sBAAsB;AAAA;AAAA;AAAA,GAzJM;AA8J5BC,EAAAA,0BAA0B;AAAA;AAAA;AAAA,GA9JE;AAmK5BC,EAAAA,sBAAsB;AAAA;AAAA;AAAA;AAnKM,CAAD,CAA/B;AA0KA,eAAejC,QAAf","sourcesContent":["// @flow strict\n\nimport { defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n fileRequestDisplayName: {\n defaultMessage: 'File Request',\n description:\n 'name of the File Request feature used to translate when a File Request is uploaded by the service',\n id: 'be.sidebarVersions.fileRequestDisplayName',\n },\n versionsEmpty: {\n id: 'be.sidebarVersions.empty',\n description: 'Message to display when no versions are available',\n defaultMessage: 'No prior versions are available for this file.',\n },\n versionsPriorWeek: {\n id: 'be.sidebarVersions.priorWeek',\n description: 'Header to display for group of versions created in the prior week',\n defaultMessage: 'Last Week',\n },\n versionsThisMonth: {\n id: 'be.sidebarVersions.thisMonth',\n description: 'Header to display for group of versions created in the current month',\n defaultMessage: 'This Month',\n },\n versionsToday: {\n id: 'be.sidebarVersions.today',\n description: 'Header to display for group of versions created yesterday',\n defaultMessage: 'Today',\n },\n versionsYesterday: {\n id: 'be.sidebarVersions.yesterday',\n description: 'Header to display for group of versions created today',\n defaultMessage: 'Yesterday',\n },\n versionsTitle: {\n id: 'be.sidebarVersions.title',\n description: 'Title for the preview versions sidebar',\n defaultMessage: 'Version History',\n },\n versionCurrent: {\n id: 'be.sidebarVersions.current',\n defaultMessage: 'Current Version',\n description: 'Label for the current version item in the version history list.',\n },\n versionActionDelete: {\n id: 'be.sidebarVersions.delete',\n defaultMessage: 'Delete',\n description: 'Label for the version delete action.',\n },\n versionActionDeleteError: {\n id: 'be.sidebarVersions.deleteError',\n defaultMessage: 'File version could not be deleted.',\n description: 'Error message for the version delete action.',\n },\n versionActionDisabledRetention: {\n id: 'be.sidebarVersions.disabledByRetention',\n defaultMessage: 'Disabled by retention policy',\n description: 'Tooltip message for actions disabled by retention policy.',\n },\n versionActionDownload: {\n id: 'be.sidebarVersions.download',\n defaultMessage: 'Download',\n description: 'Label for the version download action.',\n },\n versionActionDownloadError: {\n id: 'be.sidebarVersions.downloadError',\n defaultMessage: 'File version could not be downloaded.',\n description: 'Error message for the version download action.',\n },\n versionActionPreview: {\n id: 'be.sidebarVersions.preview',\n defaultMessage: 'Preview',\n description: 'Label for the version preview action.',\n },\n versionActionPromote: {\n id: 'be.sidebarVersions.promote',\n defaultMessage: 'Make Current',\n description: 'Label for the version promote action.',\n },\n versionActionPromoteError: {\n id: 'be.sidebarVersions.promoteError',\n defaultMessage: 'File version could not be made current.',\n description: 'Error message for the version promote action.',\n },\n versionActionRestore: {\n id: 'be.sidebarVersions.restore',\n defaultMessage: 'Restore',\n description: 'Label for the version restore action.',\n },\n versionActionRestoreError: {\n id: 'be.sidebarVersions.restoreError',\n defaultMessage: 'File version could not be restored.',\n description: 'Error message for the version restored action.',\n },\n versionActionToggle: {\n id: 'be.sidebarVersions.toggle',\n defaultMessage: 'Toggle Actions Menu',\n description: 'Label for the version actions dropdown menu toggle button.',\n },\n versionDeletedBy: {\n id: 'be.sidebarVersions.deletedBy',\n defaultMessage: 'Deleted by {name}',\n description: 'Message displayed for a deleted version. {name} is the user who performed the action.',\n },\n versionFetchError: {\n id: 'be.sidebarVersions.fetchError',\n defaultMessage: 'File versions could not be retrieved.',\n description: 'Error message for the versions fetch call.',\n },\n versionLimitExceeded: {\n id: 'be.sidebarVersions.versionLimitExceeded',\n defaultMessage:\n 'You are limited to the last {versionLimit, number} {versionLimit, plural, one {version} other {versions}}.',\n description: \"Text displayed if a version exceeds the user's maximum allowed version count\",\n },\n versionNumberBadge: {\n id: 'be.sidebarVersions.versionNumberBadge',\n defaultMessage: 'V{versionNumber}',\n description: 'Text to display in the version badge.',\n },\n versionNumberLabel: {\n id: 'be.sidebarVersions.versionNumberLabel',\n defaultMessage: 'Version number {versionNumber}',\n description: 'Label given to the version badge for screen readers.',\n },\n versionPromotedBy: {\n id: 'be.sidebarVersions.promotedBy',\n defaultMessage: 'Promoted from v{versionPromoted} by {name}',\n description: 'Message displayed for a restored version. {name} is the user who performed the action.',\n },\n versionRestoredBy: {\n id: 'be.sidebarVersions.restoredBy',\n defaultMessage: 'Restored by {name}',\n description: 'Message displayed for a restored version. {name} is the user who performed the action.',\n },\n versionServerError: {\n id: 'be.sidebarVersions.serverError',\n defaultMessage: 'Server Error',\n description: 'Heading for inline error messages displayed due to a remote server issue.',\n },\n versionUploadedBy: {\n id: 'be.sidebarVersions.uploadedBy',\n defaultMessage: 'Uploaded by {name}',\n description: 'Message displayed for an uploaded version. {name} is the user who performed the action.',\n },\n versionUserUnknown: {\n id: 'be.sidebarVersions.versionUserUnknown',\n defaultMessage: 'Unknown',\n description: 'Name displayed for unknown or deleted users.',\n },\n versionMaxEntries: {\n id: 'be.sidebarVersions.versionMaxEntries',\n defaultMessage: 'Version history is limited to the last {maxVersions} entries.',\n description: 'Max supported entries for version history',\n },\n versionRetentionDelete: {\n id: 'be.sidebarVersions.versionRetentionDelete',\n defaultMessage: 'Will be deleted {time} by retention policy.',\n description: 'Message describing when the version will be deleted due to an applied retention policy.',\n },\n versionRetentionIndefinite: {\n id: 'be.sidebarVersions.versionRetentionIndefinite',\n defaultMessage: 'Retained indefinitely by retention policy.',\n description: 'Message describing that the version retention policy is indefinite and will not expire.',\n },\n versionRetentionRemove: {\n id: 'be.sidebarVersions.versionRetentionRemove',\n defaultMessage: 'Retention policy expires on {time}.',\n description: 'Message describing when the version retention policy will expire.',\n },\n});\n\nexport default messages;\n"],"file":"messages.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/elements/content-sidebar/versions/messages.js"],"names":["defineMessages","messages","fileRequestDisplayName","versionsEmpty","versionsPriorWeek","versionsThisMonth","versionsToday","versionsYesterday","versionsTitle","versionCurrent","versionActionDelete","versionActionDeleteError","versionActionDisabledRetention","versionActionDownload","versionActionDownloadError","versionActionPreview","versionActionPromote","versionActionPromoteError","versionActionRestore","versionActionRestoreError","versionActionToggle","versionDeletedBy","versionFetchError","versionNotAvailable","versionLimitExceeded","versionNumberBadge","versionNumberLabel","versionPromotedBy","versionRestoredBy","versionServerError","versionAccessError","versionUpgradeLink","versionUploadedBy","versionUserUnknown","versionMaxEntries","versionRetentionDelete","versionRetentionIndefinite","versionRetentionRemove","versionUpsell","upgradeButton"],"mappings":"AAEA,SAASA,cAAT,QAA+B,YAA/B;AAEA,IAAMC,QAAQ,GAAGD,cAAc,CAAC;AAC5BE,EAAAA,sBAAsB;AAAA;AAAA;AAAA,GADM;AAO5BC,EAAAA,aAAa;AAAA;AAAA;AAAA,GAPe;AAY5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GAZW;AAiB5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GAjBW;AAsB5BC,EAAAA,aAAa;AAAA;AAAA;AAAA,GAtBe;AA2B5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GA3BW;AAgC5BC,EAAAA,aAAa;AAAA;AAAA;AAAA,GAhCe;AAqC5BC,EAAAA,cAAc;AAAA;AAAA;AAAA,GArCc;AA0C5BC,EAAAA,mBAAmB;AAAA;AAAA;AAAA,GA1CS;AA+C5BC,EAAAA,wBAAwB;AAAA;AAAA;AAAA,GA/CI;AAoD5BC,EAAAA,8BAA8B;AAAA;AAAA;AAAA,GApDF;AAyD5BC,EAAAA,qBAAqB;AAAA;AAAA;AAAA,GAzDO;AA8D5BC,EAAAA,0BAA0B;AAAA;AAAA;AAAA,GA9DE;AAmE5BC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GAnEQ;AAwE5BC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GAxEQ;AA6E5BC,EAAAA,yBAAyB;AAAA;AAAA;AAAA,GA7EG;AAkF5BC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GAlFQ;AAuF5BC,EAAAA,yBAAyB;AAAA;AAAA;AAAA,GAvFG;AA4F5BC,EAAAA,mBAAmB;AAAA;AAAA;AAAA,GA5FS;AAiG5BC,EAAAA,gBAAgB;AAAA;AAAA;AAAA,GAjGY;AAsG5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GAtGW;AA2G5BC,EAAAA,mBAAmB;AAAA;AAAA;AAAA,GA3GS;AAkH5BC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GAlHQ;AAwH5BC,EAAAA,kBAAkB;AAAA;AAAA;AAAA,GAxHU;AA6H5BC,EAAAA,kBAAkB;AAAA;AAAA;AAAA,GA7HU;AAkI5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GAlIW;AAuI5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GAvIW;AA4I5BC,EAAAA,kBAAkB;AAAA;AAAA;AAAA,GA5IU;AAiJ5BC,EAAAA,kBAAkB;AAAA;AAAA;AAAA,GAjJU;AAsJ5BC,EAAAA,kBAAkB;AAAA;AAAA;AAAA,GAtJU;AA2J5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GA3JW;AAgK5BC,EAAAA,kBAAkB;AAAA;AAAA;AAAA,GAhKU;AAqK5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GArKW;AA0K5BC,EAAAA,sBAAsB;AAAA;AAAA;AAAA,GA1KM;AA+K5BC,EAAAA,0BAA0B;AAAA;AAAA;AAAA,GA/KE;AAoL5BC,EAAAA,sBAAsB;AAAA;AAAA;AAAA,GApLM;AAyL5BC,EAAAA,aAAa;AAAA;AAAA;AAAA,GAzLe;AA+L5BC,EAAAA,aAAa;AAAA;AAAA;AAAA;AA/Le,CAAD,CAA/B;AAsMA,eAAetC,QAAf","sourcesContent":["// @flow strict\n\nimport { defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n fileRequestDisplayName: {\n defaultMessage: 'File Request',\n description:\n 'name of the File Request feature used to translate when a File Request is uploaded by the service',\n id: 'be.sidebarVersions.fileRequestDisplayName',\n },\n versionsEmpty: {\n id: 'be.sidebarVersions.empty',\n description: 'Message to display when no versions are available',\n defaultMessage: 'No prior versions are available for this file.',\n },\n versionsPriorWeek: {\n id: 'be.sidebarVersions.priorWeek',\n description: 'Header to display for group of versions created in the prior week',\n defaultMessage: 'Last Week',\n },\n versionsThisMonth: {\n id: 'be.sidebarVersions.thisMonth',\n description: 'Header to display for group of versions created in the current month',\n defaultMessage: 'This Month',\n },\n versionsToday: {\n id: 'be.sidebarVersions.today',\n description: 'Header to display for group of versions created yesterday',\n defaultMessage: 'Today',\n },\n versionsYesterday: {\n id: 'be.sidebarVersions.yesterday',\n description: 'Header to display for group of versions created today',\n defaultMessage: 'Yesterday',\n },\n versionsTitle: {\n id: 'be.sidebarVersions.title',\n description: 'Title for the preview versions sidebar',\n defaultMessage: 'Version History',\n },\n versionCurrent: {\n id: 'be.sidebarVersions.current',\n defaultMessage: 'Current Version',\n description: 'Label for the current version item in the version history list.',\n },\n versionActionDelete: {\n id: 'be.sidebarVersions.delete',\n defaultMessage: 'Delete',\n description: 'Label for the version delete action.',\n },\n versionActionDeleteError: {\n id: 'be.sidebarVersions.deleteError',\n defaultMessage: 'File version could not be deleted.',\n description: 'Error message for the version delete action.',\n },\n versionActionDisabledRetention: {\n id: 'be.sidebarVersions.disabledByRetention',\n defaultMessage: 'Disabled by retention policy',\n description: 'Tooltip message for actions disabled by retention policy.',\n },\n versionActionDownload: {\n id: 'be.sidebarVersions.download',\n defaultMessage: 'Download',\n description: 'Label for the version download action.',\n },\n versionActionDownloadError: {\n id: 'be.sidebarVersions.downloadError',\n defaultMessage: 'File version could not be downloaded.',\n description: 'Error message for the version download action.',\n },\n versionActionPreview: {\n id: 'be.sidebarVersions.preview',\n defaultMessage: 'Preview',\n description: 'Label for the version preview action.',\n },\n versionActionPromote: {\n id: 'be.sidebarVersions.promote',\n defaultMessage: 'Make Current',\n description: 'Label for the version promote action.',\n },\n versionActionPromoteError: {\n id: 'be.sidebarVersions.promoteError',\n defaultMessage: 'File version could not be made current.',\n description: 'Error message for the version promote action.',\n },\n versionActionRestore: {\n id: 'be.sidebarVersions.restore',\n defaultMessage: 'Restore',\n description: 'Label for the version restore action.',\n },\n versionActionRestoreError: {\n id: 'be.sidebarVersions.restoreError',\n defaultMessage: 'File version could not be restored.',\n description: 'Error message for the version restored action.',\n },\n versionActionToggle: {\n id: 'be.sidebarVersions.toggle',\n defaultMessage: 'Toggle Actions Menu',\n description: 'Label for the version actions dropdown menu toggle button.',\n },\n versionDeletedBy: {\n id: 'be.sidebarVersions.deletedBy',\n defaultMessage: 'Deleted by {name}',\n description: 'Message displayed for a deleted version. {name} is the user who performed the action.',\n },\n versionFetchError: {\n id: 'be.sidebarVersions.fetchError',\n defaultMessage: 'File versions could not be retrieved.',\n description: 'Error message for the versions fetch call.',\n },\n versionNotAvailable: {\n id: 'be.sidebarVersions.notAvailable',\n defaultMessage:\n 'Sorry, version history is not available with your current account plan. To access versioning, select from one of our paid plans.',\n description:\n 'Error message with upsell for the versions fetch call for users who dont have the version feature.',\n },\n versionLimitExceeded: {\n id: 'be.sidebarVersions.versionLimitExceeded',\n defaultMessage:\n 'You are limited to the last {versionLimit, number} {versionLimit, plural, one {version} other {versions}}.',\n description: \"Text displayed if a version exceeds the user's maximum allowed version count\",\n },\n versionNumberBadge: {\n id: 'be.sidebarVersions.versionNumberBadge',\n defaultMessage: 'V{versionNumber}',\n description: 'Text to display in the version badge.',\n },\n versionNumberLabel: {\n id: 'be.sidebarVersions.versionNumberLabel',\n defaultMessage: 'Version number {versionNumber}',\n description: 'Label given to the version badge for screen readers.',\n },\n versionPromotedBy: {\n id: 'be.sidebarVersions.promotedBy',\n defaultMessage: 'Promoted from v{versionPromoted} by {name}',\n description: 'Message displayed for a restored version. {name} is the user who performed the action.',\n },\n versionRestoredBy: {\n id: 'be.sidebarVersions.restoredBy',\n defaultMessage: 'Restored by {name}',\n description: 'Message displayed for a restored version. {name} is the user who performed the action.',\n },\n versionServerError: {\n id: 'be.sidebarVersions.serverError',\n defaultMessage: 'Server Error',\n description: 'Heading for inline error messages displayed due to a remote server issue.',\n },\n versionAccessError: {\n id: 'be.sidebarVersions.accessError',\n defaultMessage: \"You don't have access to versioning\",\n description: 'Heading for inline error messages with upsell.',\n },\n versionUpgradeLink: {\n id: 'be.sidebarVersions.upgradeLink',\n defaultMessage: 'Upgrade Now',\n description: 'Text on the upgrade button shown when user does not have access to Version History',\n },\n versionUploadedBy: {\n id: 'be.sidebarVersions.uploadedBy',\n defaultMessage: 'Uploaded by {name}',\n description: 'Message displayed for an uploaded version. {name} is the user who performed the action.',\n },\n versionUserUnknown: {\n id: 'be.sidebarVersions.versionUserUnknown',\n defaultMessage: 'Unknown',\n description: 'Name displayed for unknown or deleted users.',\n },\n versionMaxEntries: {\n id: 'be.sidebarVersions.versionMaxEntries',\n defaultMessage: 'Version history is limited to the last {maxVersions} entries.',\n description: 'Max supported entries for version history',\n },\n versionRetentionDelete: {\n id: 'be.sidebarVersions.versionRetentionDelete',\n defaultMessage: 'Will be deleted {time} by retention policy.',\n description: 'Message describing when the version will be deleted due to an applied retention policy.',\n },\n versionRetentionIndefinite: {\n id: 'be.sidebarVersions.versionRetentionIndefinite',\n defaultMessage: 'Retained indefinitely by retention policy.',\n description: 'Message describing that the version retention policy is indefinite and will not expire.',\n },\n versionRetentionRemove: {\n id: 'be.sidebarVersions.versionRetentionRemove',\n defaultMessage: 'Retention policy expires on {time}.',\n description: 'Message describing when the version retention policy will expire.',\n },\n versionUpsell: {\n defaultMessage:\n 'Sorry, version history is not available with your current account plan. To access versioning, select from one of our paid plans.',\n description: 'Upgrade message shown when user does not have access to Version History',\n id: 'be.sidebarVersions.versionUpsell',\n },\n upgradeButton: {\n defaultMessage: 'Upgrade',\n description: 'Text on the upgrade button shown when user does not have access to Version History',\n id: 'be.sidebarVersions.upgradeButton',\n },\n});\n\nexport default messages;\n"],"file":"messages.js"}
|
|
@@ -17,12 +17,14 @@ const ACCESS_POLICY_RESTRICTION: {
|
|
|
17
17
|
EXTERNAL_COLLAB: 'externalCollab',
|
|
18
18
|
FTP: 'ftp',
|
|
19
19
|
SHARED_LINK: 'sharedLink',
|
|
20
|
+
WATERMARK: 'watermark',
|
|
20
21
|
} = {
|
|
21
22
|
SHARED_LINK: 'sharedLink',
|
|
22
23
|
DOWNLOAD: 'download',
|
|
23
24
|
EXTERNAL_COLLAB: 'externalCollab',
|
|
24
25
|
APP: 'app',
|
|
25
26
|
FTP: 'ftp',
|
|
27
|
+
WATERMARK: 'watermark',
|
|
26
28
|
};
|
|
27
29
|
|
|
28
30
|
const DOWNLOAD_CONTROL: {
|