@orfeas126/box-ui-elements
Version:
Box UI Elements
908 lines (793 loc) • 123 kB
JavaScript
/*!
* Box UI Element
*
* Copyright 2019 Box, Inc. All rights reserved.
*
* This product includes software developed by Box, Inc. ("Box")
* (http://www.box.com)
*
* ALL BOX SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL BOX BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* See the Box license for the specific language governing permissions
* and limitations under the license.
*/
"use strict";
(globalThis["webpackChunk_orfeas126_box_ui_elements"] = globalThis["webpackChunk_orfeas126_box_ui_elements"] || []).push([["versions-sidebar"],{
/***/ "./src/components/inline-error/index.js":
/*!**********************************************!*\
!*** ./src/components/inline-error/index.js ***!
\**********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* reexport safe */ _InlineError__WEBPACK_IMPORTED_MODULE_0__["default"])
/* harmony export */ });
/* harmony import */ var _InlineError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./InlineError */ "./src/components/inline-error/InlineError.js");
/***/ }),
/***/ "./src/components/primary-button/PrimaryButton.tsx":
/*!*********************************************************!*\
!*** ./src/components/primary-button/PrimaryButton.tsx ***!
\*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _button_Button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../button/Button */ "./src/components/button/Button.tsx");
const _excluded = ["children", "className"];
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
const PrimaryButton = _ref => {
let {
children,
className = ''
} = _ref,
rest = _objectWithoutProperties(_ref, _excluded);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_button_Button__WEBPACK_IMPORTED_MODULE_1__["default"], _extends({
className: `btn-primary ${className}`
}, rest), children);
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PrimaryButton);
/***/ }),
/***/ "./src/components/primary-button/index.ts":
/*!************************************************!*\
!*** ./src/components/primary-button/index.ts ***!
\************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* reexport safe */ _PrimaryButton__WEBPACK_IMPORTED_MODULE_0__["default"])
/* harmony export */ });
/* harmony import */ var _PrimaryButton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PrimaryButton */ "./src/components/primary-button/PrimaryButton.tsx");
/***/ }),
/***/ "./src/components/time/ReadableTime.js":
/*!*********************************************!*\
!*** ./src/components/time/ReadableTime.js ***!
\*********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ ReadableTimeComponent: () => (/* binding */ ReadableTime),
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-intl */ "./node_modules/react-intl/lib/src/components/injectIntl.js");
/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../constants */ "./src/constants.js");
/* harmony import */ var _utils_datetime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/datetime */ "./src/utils/datetime.js");
/* harmony import */ var _utils_relativeTime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/relativeTime */ "./src/utils/relativeTime.js");
/* harmony import */ var _messages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./messages */ "./src/components/time/messages.js");
// exclude languages that do not have a grammar for uppercase (e.g. russian)
const nonUppercaseLocales = ['ru'];
const ReadableTime = ({
intl,
timestamp,
relativeThreshold = _constants__WEBPACK_IMPORTED_MODULE_0__.ONE_HOUR_MS,
allowFutureTimestamps = true,
alwaysShowTime = false,
showWeekday = false,
uppercase = false
}) => {
const shouldUppercase = uppercase && !nonUppercaseLocales.includes(intl.locale);
const relativeIfNewerThanTs = Date.now() - relativeThreshold;
const shouldShowYear = !(0,_utils_datetime__WEBPACK_IMPORTED_MODULE_1__.isCurrentYear)(timestamp);
if (!allowFutureTimestamps && timestamp > Date.now()) {
// TODO: what is the reasoning behind this rule?
timestamp = relativeIfNewerThanTs; // Default to 'Today' for timestamps that would show a future date
}
// e.g. Oct 5, 2018
let dateMessage = _messages__WEBPACK_IMPORTED_MODULE_3__["default"].eventTime;
let date = null;
let weekday = null;
let output;
if ((0,_utils_datetime__WEBPACK_IMPORTED_MODULE_1__.isToday)(timestamp)) {
// e.g. Today at 12:30 PM
dateMessage = _messages__WEBPACK_IMPORTED_MODULE_3__["default"].eventTimeToday;
} else if ((0,_utils_datetime__WEBPACK_IMPORTED_MODULE_1__.isYesterday)(timestamp)) {
// e.g. Yesterday at 11:30 AM
dateMessage = _messages__WEBPACK_IMPORTED_MODULE_3__["default"].eventTimeYesterday;
} else if (showWeekday) {
// e.g. Monday, Oct 5, 2018
dateMessage = _messages__WEBPACK_IMPORTED_MODULE_3__["default"].eventTimeWeekdayLong;
weekday = intl.formatDate(timestamp, {
weekday: 'long'
});
} else if (shouldShowYear && alwaysShowTime) {
// e.g. Oct 5, 2018 at 10:30 PM
dateMessage = _messages__WEBPACK_IMPORTED_MODULE_3__["default"].eventTimeDate;
} else if (!shouldShowYear && alwaysShowTime) {
// e.g. Oct 5 at 10:30 PM
dateMessage = _messages__WEBPACK_IMPORTED_MODULE_3__["default"].eventTimeDateShort;
date = intl.formatDate(timestamp, {
month: 'short',
day: 'numeric'
});
} else if (!shouldShowYear && !alwaysShowTime) {
// e.g. Oct 5
output = intl.formatDate(timestamp, {
month: 'short',
day: 'numeric'
});
return shouldUppercase ? output.toLocaleUpperCase(intl.locale) : output;
}
const values = {
time: timestamp,
date,
weekday
};
output = intl.formatMessage(dateMessage, values);
// if the time stamp is within +/- the relative threshold for the current time,
// print the default time format
const timeDiff = timestamp - Date.now();
if (Math.abs(timeDiff) <= relativeThreshold) {
const {
value,
unit
} = (0,_utils_relativeTime__WEBPACK_IMPORTED_MODULE_2__["default"])(timestamp);
output = intl.formatRelativeTime(value, unit);
}
return shouldUppercase ? output.toLocaleUpperCase(intl.locale) : output;
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_intl__WEBPACK_IMPORTED_MODULE_4__["default"])(ReadableTime));
/***/ }),
/***/ "./src/components/time/index.js":
/*!**************************************!*\
!*** ./src/components/time/index.js ***!
\**************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ ReadableTime: () => (/* reexport safe */ _ReadableTime__WEBPACK_IMPORTED_MODULE_0__["default"])
/* harmony export */ });
/* harmony import */ var _ReadableTime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ReadableTime */ "./src/components/time/ReadableTime.js");
// eslint-disable-next-line import/prefer-default-export
/***/ }),
/***/ "./src/components/time/messages.js":
/*!*****************************************!*\
!*** ./src/components/time/messages.js ***!
\*****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-intl */ "./node_modules/react-intl/lib/index.js");
const messages = (0,react_intl__WEBPACK_IMPORTED_MODULE_0__.defineMessages)({
eventTime: {
"id": "boxui.readableTime.eventTime",
"defaultMessage": "{time, date, medium}"
},
eventTimeToday: {
"id": "boxui.readableTime.eventTimeToday",
"defaultMessage": "Today at {time, time, short}"
},
eventTimeYesterday: {
"id": "boxui.readableTime.eventTimeYesterday",
"defaultMessage": "Yesterday at {time, time, short}"
},
eventTimeDate: {
"id": "boxui.readableTime.eventTimeDate",
"defaultMessage": "{time, date, medium} at {time, time, short}"
},
eventTimeDateShort: {
"id": "boxui.readableTime.eventTimeDateShort",
"defaultMessage": "{date} at {time, time, short}"
},
eventTimeWeekdayLong: {
"id": "boxui.readableTime.eventTimeWeekdayLong",
"defaultMessage": "{weekday}, {time, date, medium}"
}
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (messages);
/***/ }),
/***/ "./src/elements/content-sidebar/versions/StaticVersionSidebar.js":
/*!***********************************************************************!*\
!*** ./src/elements/content-sidebar/versions/StaticVersionSidebar.js ***!
\***********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-intl */ "./node_modules/react-intl/lib/src/components/message.js");
/* harmony import */ var _illustration_BoxDrive140__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../illustration/BoxDrive140 */ "./src/illustration/BoxDrive140.tsx");
/* harmony import */ var _common_nav_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/nav-button */ "./src/elements/common/nav-button/index.js");
/* harmony import */ var _components_primary_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../components/primary-button */ "./src/components/primary-button/index.ts");
/* harmony import */ var _components_loading_indicator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../components/loading-indicator */ "./src/components/loading-indicator/index.ts");
/* harmony import */ var _VersionsMenu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./VersionsMenu */ "./src/elements/content-sidebar/versions/VersionsMenu.js");
/* harmony import */ var _messages__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./messages */ "./src/elements/content-sidebar/versions/messages.js");
/* harmony import */ var _StaticVersionsSidebar_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./StaticVersionsSidebar.scss */ "./src/elements/content-sidebar/versions/StaticVersionsSidebar.scss");
/**
*
* @file Static Versions Sidebar component
* @author Box
*/
const StaticVersionsSidebar = ({
isLoading,
onUpgradeClick,
parentName
}) => {
const versionTimestamp = new Date();
versionTimestamp.setDate(versionTimestamp.getDate() - 1);
const versions = ['1', '2', '3'].map(versionNumber => {
return {
id: versionNumber,
version_number: versionNumber,
type: 'file_version',
permissions: {
can_preview: true
},
created_at: versionTimestamp.toUTCString(),
modified_by: null,
size: 1875887,
trashed_at: null,
uploader_display_name: 'John Doe'
};
});
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
className: "bcs-StaticVersionSidebar",
role: "tabpanel",
"data-resin-component": "preview",
"data-resin-feature": "versions"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
className: "bcs-StaticVersionSidebar-header"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("h3", {
className: "bcs-StaticVersionSidebar-title"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_common_nav_button__WEBPACK_IMPORTED_MODULE_2__.BackButton, {
"data-resin-target": "back",
to: `/${parentName}`
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_8__["default"], _messages__WEBPACK_IMPORTED_MODULE_6__["default"].versionsTitle)))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
className: "bcs-StaticVersionSidebar-content-wrapper"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_loading_indicator__WEBPACK_IMPORTED_MODULE_4__.LoadingIndicatorWrapper, {
className: "bcs-StaticVersionSidebar-content",
crawlerPosition: "top",
isLoading: isLoading
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_VersionsMenu__WEBPACK_IMPORTED_MODULE_5__["default"], {
versions: versions,
fileId: "1",
versionCount: 3,
versionLimit: 3
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
className: "bcs-StaticVersionSidebar-upsell-wrapper"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
className: "bcs-StaticVersionSidebar-upsell"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_illustration_BoxDrive140__WEBPACK_IMPORTED_MODULE_1__["default"], {
className: "bcs-StaticVersionSidebar-upsell-icon"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("p", {
className: "bcs-StaticVersionSidebar-upsell-header"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_8__["default"], _messages__WEBPACK_IMPORTED_MODULE_6__["default"].versionUpgradeLink)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("p", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_8__["default"], _messages__WEBPACK_IMPORTED_MODULE_6__["default"].versionUpsell)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_primary_button__WEBPACK_IMPORTED_MODULE_3__["default"], {
className: "bcs-StaticVersionSidebar-upsell-button",
"data-resin-target": "versioning_error_upgrade_cta",
onClick: onUpgradeClick,
type: "button"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_8__["default"], _messages__WEBPACK_IMPORTED_MODULE_6__["default"].upgradeButton)))));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (StaticVersionsSidebar);
/***/ }),
/***/ "./src/elements/content-sidebar/versions/VersionsGroup.js":
/*!****************************************************************!*\
!*** ./src/elements/content-sidebar/versions/VersionsGroup.js ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _VersionsList__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./VersionsList */ "./src/elements/content-sidebar/versions/VersionsList.js");
/* harmony import */ var _VersionsGroup_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./VersionsGroup.scss */ "./src/elements/content-sidebar/versions/VersionsGroup.scss");
const _excluded = ["heading"];
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
/**
*
* @file Versions Group component
* @author Box
*/
const VersionsGroup = _ref => {
let {
heading
} = _ref,
rest = _objectWithoutProperties(_ref, _excluded);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("section", {
className: "bcs-VersionsGroup"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("h4", {
className: "bcs-VersionsGroup-heading"
}, heading), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_VersionsList__WEBPACK_IMPORTED_MODULE_1__["default"], rest));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VersionsGroup);
/***/ }),
/***/ "./src/elements/content-sidebar/versions/VersionsItem.js":
/*!***************************************************************!*\
!*** ./src/elements/content-sidebar/versions/VersionsItem.js ***!
\***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-intl */ "./node_modules/react-intl/lib/src/components/message.js");
/* harmony import */ var _messages__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./messages */ "./src/elements/content-sidebar/versions/messages.js");
/* harmony import */ var _common_selectors_version__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/selectors/version */ "./src/elements/common/selectors/version.js");
/* harmony import */ var _utils_size__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../utils/size */ "./src/utils/size.js");
/* harmony import */ var _VersionsItemActions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./VersionsItemActions */ "./src/elements/content-sidebar/versions/VersionsItemActions.js");
/* harmony import */ var _VersionsItemButton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./VersionsItemButton */ "./src/elements/content-sidebar/versions/VersionsItemButton.js");
/* harmony import */ var _VersionsItemBadge__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./VersionsItemBadge */ "./src/elements/content-sidebar/versions/VersionsItemBadge.js");
/* harmony import */ var _VersionsItemRetention__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./VersionsItemRetention */ "./src/elements/content-sidebar/versions/VersionsItemRetention.js");
/* harmony import */ var _components_time__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../components/time */ "./src/components/time/index.js");
/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../constants */ "./src/constants.js");
/* harmony import */ var _VersionsItem_scss__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./VersionsItem.scss */ "./src/elements/content-sidebar/versions/VersionsItem.scss");
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
/**
*
* @file Versions Item component
* @author Box
*/
const ACTION_MAP = {
[_constants__WEBPACK_IMPORTED_MODULE_9__.VERSION_DELETE_ACTION]: _messages__WEBPACK_IMPORTED_MODULE_1__["default"].versionDeletedBy,
[_constants__WEBPACK_IMPORTED_MODULE_9__.VERSION_RESTORE_ACTION]: _messages__WEBPACK_IMPORTED_MODULE_1__["default"].versionRestoredBy,
[_constants__WEBPACK_IMPORTED_MODULE_9__.VERSION_PROMOTE_ACTION]: _messages__WEBPACK_IMPORTED_MODULE_1__["default"].versionPromotedBy,
[_constants__WEBPACK_IMPORTED_MODULE_9__.VERSION_UPLOAD_ACTION]: _messages__WEBPACK_IMPORTED_MODULE_1__["default"].versionUploadedBy
};
const FILE_EXTENSIONS_OFFICE = ['xlsb', 'xlsm', 'xlsx'];
const FIVE_MINUTES_MS = 5 * 60 * 1000;
const VersionsItem = ({
fileId,
isArchived = false,
isCurrent = false,
isSelected = false,
isWatermarked = false,
onDelete,
onDownload,
onPreview,
onPromote,
onRestore,
version,
versionCount,
versionLimit
}) => {
const {
created_at: createdAt,
extension,
id: versionId,
is_download_available,
permissions = {},
restored_at: restoredAt,
retention,
size,
trashed_at: trashedAt,
version_number: versionNumber,
version_promoted: versionPromoted
} = version;
const {
can_delete,
can_download,
can_preview,
can_upload
} = permissions;
const {
applied_at: retentionAppliedAt,
disposition_at: retentionDispositionAt
} = retention || {};
const retentionDispositionAtDate = retentionDispositionAt && new Date(retentionDispositionAt);
// Version info helpers
const versionAction = _common_selectors_version__WEBPACK_IMPORTED_MODULE_2__["default"].getVersionAction(version);
const versionInteger = versionNumber ? parseInt(versionNumber, 10) : 1;
const versionTime = restoredAt || trashedAt || createdAt;
const versionTimestamp = versionTime && new Date(versionTime).getTime();
const versionUserName = _common_selectors_version__WEBPACK_IMPORTED_MODULE_2__["default"].getVersionUser(version).name || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_11__["default"], _messages__WEBPACK_IMPORTED_MODULE_1__["default"].versionUserUnknown);
const versionDisplayName = versionUserName !== _constants__WEBPACK_IMPORTED_MODULE_9__.FILE_REQUEST_NAME ? versionUserName : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_11__["default"], _messages__WEBPACK_IMPORTED_MODULE_1__["default"].fileRequestDisplayName);
// Version state helpers
const isDeleted = versionAction === _constants__WEBPACK_IMPORTED_MODULE_9__.VERSION_DELETE_ACTION;
const isDownloadable = !!is_download_available;
const isLimited = versionCount - versionInteger >= versionLimit;
const isOffice = FILE_EXTENSIONS_OFFICE.includes(extension);
const isRestricted = (isOffice || isWatermarked) && !isCurrent;
const isRetained = !!retentionAppliedAt && (!retentionDispositionAtDate || retentionDispositionAtDate > new Date());
// Version action helpers
const canPreview = can_preview && !isDeleted && !isLimited && !isRestricted;
const showDelete = can_delete && !isDeleted && !isArchived && !isCurrent;
const showDownload = can_download && !isDeleted && isDownloadable;
const showPromote = can_upload && !isDeleted && !isArchived && !isCurrent;
const showRestore = can_delete && isDeleted && !isArchived;
const showPreview = canPreview && !isSelected;
const hasActions = showDelete || showDownload || showPreview || showPromote || showRestore;
// Version action callback helper
const handleAction = handler => () => {
if (handler) {
handler(versionId);
}
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
className: "bcs-VersionsItem"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_VersionsItemButton__WEBPACK_IMPORTED_MODULE_5__["default"], {
fileId: fileId,
isCurrent: isCurrent,
isDisabled: !canPreview,
isSelected: isSelected,
onClick: handleAction(onPreview)
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
className: "bcs-VersionsItem-badge"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_VersionsItemBadge__WEBPACK_IMPORTED_MODULE_6__["default"], {
versionNumber: versionNumber
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
className: "bcs-VersionsItem-details"
}, isCurrent && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
className: "bcs-VersionsItem-current"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_11__["default"], _messages__WEBPACK_IMPORTED_MODULE_1__["default"].versionCurrent)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
className: "bcs-VersionsItem-log",
"data-testid": "bcs-VersionsItem-log",
title: versionDisplayName
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_11__["default"], _extends({}, ACTION_MAP[versionAction], {
values: {
name: versionDisplayName,
versionPromoted
}
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
className: "bcs-VersionsItem-info",
"data-testid": "bcs-VersionsItem-info"
}, versionTimestamp && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("time", {
className: "bcs-VersionsItem-date",
dateTime: versionTime
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_time__WEBPACK_IMPORTED_MODULE_8__.ReadableTime, {
alwaysShowTime: true,
relativeThreshold: FIVE_MINUTES_MS,
timestamp: versionTimestamp
})), !!size && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", {
className: "bcs-VersionsItem-size"
}, (0,_utils_size__WEBPACK_IMPORTED_MODULE_3__["default"])(size))), isRetained && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
className: "bcs-VersionsItem-retention",
"data-testid": "bcs-VersionsItem-retention"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_VersionsItemRetention__WEBPACK_IMPORTED_MODULE_7__["default"], {
retention: retention
})), isLimited && hasActions && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
className: "bcs-VersionsItem-footer"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_11__["default"], _extends({}, _messages__WEBPACK_IMPORTED_MODULE_1__["default"].versionLimitExceeded, {
values: {
versionLimit
}
}))))), !isLimited && hasActions && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_VersionsItemActions__WEBPACK_IMPORTED_MODULE_4__["default"], {
fileId: fileId,
isCurrent: isCurrent,
isRetained: isRetained,
onDelete: handleAction(onDelete),
onDownload: handleAction(onDownload),
onPreview: handleAction(onPreview),
onPromote: handleAction(onPromote),
onRestore: handleAction(onRestore),
showDelete: showDelete,
showDownload: showDownload,
showPreview: showPreview,
showPromote: showPromote,
showRestore: showRestore
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VersionsItem);
/***/ }),
/***/ "./src/elements/content-sidebar/versions/VersionsItemAction.js":
/*!*********************************************************************!*\
!*** ./src/elements/content-sidebar/versions/VersionsItemAction.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _components_menu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../components/menu */ "./src/components/menu/index.ts");
/* harmony import */ var _VersionsItemAction_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./VersionsItemAction.scss */ "./src/elements/content-sidebar/versions/VersionsItemAction.scss");
const _excluded = ["action", "children", "fileId", "isCurrent"];
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
/**
*
* @file Versions Item Action component
* @author Box
*/
const VersionsItemAction = _ref => {
let {
action,
children,
fileId,
isCurrent
} = _ref,
rest = _objectWithoutProperties(_ref, _excluded);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_menu__WEBPACK_IMPORTED_MODULE_1__.MenuItem, _extends({
className: "bcs-VersionsItemAction",
"data-resin-iscurrent": isCurrent,
"data-resin-itemid": fileId,
"data-resin-target": action
}, rest), children);
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VersionsItemAction);
/***/ }),
/***/ "./src/elements/content-sidebar/versions/VersionsItemActions.js":
/*!**********************************************************************!*\
!*** ./src/elements/content-sidebar/versions/VersionsItemActions.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! react-intl */ "./node_modules/react-intl/lib/src/components/message.js");
/* harmony import */ var _components_dropdown_menu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../components/dropdown-menu */ "./src/components/dropdown-menu/index.js");
/* harmony import */ var _icons_general_IconClockPast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../icons/general/IconClockPast */ "./src/icons/general/IconClockPast.tsx");
/* harmony import */ var _icons_general_IconDownload__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../icons/general/IconDownload */ "./src/icons/general/IconDownload.tsx");
/* harmony import */ var _icons_general_IconEllipsis__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../icons/general/IconEllipsis */ "./src/icons/general/IconEllipsis.tsx");
/* harmony import */ var _icons_general_IconOpenWith__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../icons/general/IconOpenWith */ "./src/icons/general/IconOpenWith.tsx");
/* harmony import */ var _icons_general_IconTrash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../icons/general/IconTrash */ "./src/icons/general/IconTrash.tsx");
/* harmony import */ var _icons_general_IconUpload__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../icons/general/IconUpload */ "./src/icons/general/IconUpload.tsx");
/* harmony import */ var _messages__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./messages */ "./src/elements/content-sidebar/versions/messages.js");
/* harmony import */ var _components_plain_button__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../components/plain-button */ "./src/components/plain-button/index.ts");
/* harmony import */ var _components_tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../components/tooltip/Tooltip */ "./src/components/tooltip/Tooltip.tsx");
/* harmony import */ var _VersionsItemAction__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./VersionsItemAction */ "./src/elements/content-sidebar/versions/VersionsItemAction.js");
/* harmony import */ var _components_menu__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../components/menu */ "./src/components/menu/index.ts");
/* harmony import */ var _VersionsItemActions_scss__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./VersionsItemActions.scss */ "./src/elements/content-sidebar/versions/VersionsItemActions.scss");
/**
*
* @file Versions Item Actions component
* @author Box
*/
const handleMenuClose = event => {
event.stopPropagation();
};
const handleToggleClick = event => {
event.stopPropagation();
};
const VersionsItemActions = ({
fileId,
isCurrent = false,
isRetained = false,
onDelete,
onDownload,
onPreview,
onPromote,
onRestore,
showDelete = false,
showDownload = false,
showPreview = false,
showPromote = false,
showRestore = false
}) => {
if (!showDelete && !showDownload && !showPreview && !showPromote && !showRestore) {
return null;
}
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_dropdown_menu__WEBPACK_IMPORTED_MODULE_1__["default"], {
className: "bcs-VersionsItemActions",
constrainToScrollParent: true,
constrainToWindow: true,
isRightAligned: true,
onMenuClose: handleMenuClose
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_plain_button__WEBPACK_IMPORTED_MODULE_9__["default"], {
className: "bcs-VersionsItemActions-toggle",
"data-resin-iscurrent": isCurrent,
"data-resin-itemid": fileId,
"data-resin-target": "overflow",
onClick: handleToggleClick,
type: "button"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_icons_general_IconEllipsis__WEBPACK_IMPORTED_MODULE_4__["default"], {
height: 4,
width: 14
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_14__["default"], _messages__WEBPACK_IMPORTED_MODULE_8__["default"].versionActionToggle, text => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("span", {
className: "accessibility-hidden"
}, text))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_menu__WEBPACK_IMPORTED_MODULE_12__.Menu, {
className: "bcs-VersionsItemActions-menu",
"data-resin-component": "preview" // Needed for resin events due to tether moving menu to body
,
"data-resin-feature": "versions" // Needed for resin events due to tether moving menu to body
}, showPreview && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_VersionsItemAction__WEBPACK_IMPORTED_MODULE_11__["default"], {
action: "preview",
fileId: fileId,
isCurrent: isCurrent,
onClick: onPreview
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_icons_general_IconOpenWith__WEBPACK_IMPORTED_MODULE_5__["default"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_14__["default"], _messages__WEBPACK_IMPORTED_MODULE_8__["default"].versionActionPreview)), showDownload && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_VersionsItemAction__WEBPACK_IMPORTED_MODULE_11__["default"], {
action: "download",
fileId: fileId,
isCurrent: isCurrent,
onClick: onDownload
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_icons_general_IconDownload__WEBPACK_IMPORTED_MODULE_3__["default"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_14__["default"], _messages__WEBPACK_IMPORTED_MODULE_8__["default"].versionActionDownload)), showPromote && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_VersionsItemAction__WEBPACK_IMPORTED_MODULE_11__["default"], {
action: "promote",
fileId: fileId,
isCurrent: isCurrent,
onClick: onPromote
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_icons_general_IconUpload__WEBPACK_IMPORTED_MODULE_7__["default"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_14__["default"], _messages__WEBPACK_IMPORTED_MODULE_8__["default"].versionActionPromote)), showRestore && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_VersionsItemAction__WEBPACK_IMPORTED_MODULE_11__["default"], {
action: "restore",
fileId: fileId,
isCurrent: isCurrent,
onClick: onRestore
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_icons_general_IconClockPast__WEBPACK_IMPORTED_MODULE_2__["default"], {
height: 14,
width: 14
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_14__["default"], _messages__WEBPACK_IMPORTED_MODULE_8__["default"].versionActionRestore)), showDelete && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_tooltip_Tooltip__WEBPACK_IMPORTED_MODULE_10__["default"], {
position: "middle-left",
text: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_14__["default"], _messages__WEBPACK_IMPORTED_MODULE_8__["default"].versionActionDisabledRetention),
isTabbable: false,
isDisabled: !isRetained
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_VersionsItemAction__WEBPACK_IMPORTED_MODULE_11__["default"], {
action: "remove",
fileId: fileId,
isCurrent: isCurrent,
isDisabled: isRetained,
onClick: onDelete
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_icons_general_IconTrash__WEBPACK_IMPORTED_MODULE_6__["default"], null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_14__["default"], _messages__WEBPACK_IMPORTED_MODULE_8__["default"].versionActionDelete)))));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VersionsItemActions);
/***/ }),
/***/ "./src/elements/content-sidebar/versions/VersionsItemBadge.js":
/*!********************************************************************!*\
!*** ./src/elements/content-sidebar/versions/VersionsItemBadge.js ***!
\********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-intl */ "./node_modules/react-intl/lib/src/components/message.js");
/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-intl */ "./node_modules/react-intl/lib/src/components/injectIntl.js");
/* harmony import */ var _messages__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./messages */ "./src/elements/content-sidebar/versions/messages.js");
/* harmony import */ var _VersionsItemBadge_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./VersionsItemBadge.scss */ "./src/elements/content-sidebar/versions/VersionsItemBadge.scss");
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
/**
*
* @file Versions Item Badge component
* @author Box
*/
const VersionsItemBadge = ({
intl,
versionNumber
}) => {
const intlValues = {
versionNumber
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("div", {
"aria-label": intl.formatMessage(_messages__WEBPACK_IMPORTED_MODULE_1__["default"].versionNumberLabel, intlValues),
className: "bcs-VersionsItemBadge"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_intl__WEBPACK_IMPORTED_MODULE_3__["default"], _extends({}, _messages__WEBPACK_IMPORTED_MODULE_1__["default"].versionNumberBadge, {
values: intlValues
})));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_intl__WEBPACK_IMPORTED_MODULE_4__["default"])(VersionsItemBadge));
/***/ }),
/***/ "./src/elements/content-sidebar/versions/VersionsItemButton.js":
/*!*********************************************************************!*\
!*** ./src/elements/content-sidebar/versions/VersionsItemButton.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _components_plain_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../components/plain-button */ "./src/components/plain-button/index.ts");
/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../utils/dom */ "./src/utils/dom.js");
/* harmony import */ var _VersionsItemButton_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./VersionsItemButton.scss */ "./src/elements/content-sidebar/versions/VersionsItemButton.scss");
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
/**
*
* @file Versions Item Button component
* @author Box
*/
class VersionsItemButton extends react__WEBPACK_IMPORTED_MODULE_0__.Component {
constructor(...args) {
super(...args);
_defineProperty(this, "setButtonRef", buttonRef => {
this.buttonRef = buttonRef;
});
_defineProperty(this, "setScroll", () => {
const {
isSelected
} = this.props;
if (this.buttonRef && isSelected) {
(0,_utils_dom__WEBPACK_IMPORTED_MODULE_3__.scrollIntoView)(this.buttonRef);
}
});
}
componentDidMount() {
this.setScroll();
}
componentDidUpdate({
isSelected: prevIsSelected
}) {
const {
isSelected
} = this.props;
if (isSelected !== prevIsSelected) {
this.setScroll();
}
}
render() {
const {
children,
fileId,
isCurrent,
isDisabled,
isSelected,
onClick
} = this.props;
const buttonClassName = classnames__WEBPACK_IMPORTED_MODULE_1___default()('bcs-VersionsItemButton', {
'bcs-is-disabled': isDisabled,
'bcs-is-selected': isSelected && !isDisabled
});
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_components_plain_button__WEBPACK_IMPORTED_MODULE_2__["default"], {
"aria-disabled": isDisabled,
className: buttonClassName,
"data-resin-iscurrent": isCurrent,
"data-resin-itemid": fileId,
"data-resin-target": "select",
"data-testid": "versions-item-button",
getDOMRef: this.setButtonRef,
isDisabled: isDisabled,
onClick: onClick,
type: "button"
}, children);
}
}
_defineProperty(VersionsItemButton, "defaultProps", {
isCurrent: false,
isDisabled: false,
isSelected: false
});
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VersionsItemButton);
/***/ }),
/***/ "./src/elements/content-sidebar/versions/VersionsItemRetention.js":
/*!************************************************************************!*\
!*** ./src/elements/content-sidebar/versions/VersionsItemRetention.js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-intl */ "./node_modules/react-intl/lib/src/components/message.js");
/* harmony import */ var _components_time__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../components/time */ "./src/components/time/index.js");
/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../constants */ "./src/constants.js");
/* harmony import */ var _messages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./messages */ "./src/elements/content