payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
118 lines (117 loc) • 10.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "DocumentTab", {
enumerable: true,
get: function() {
return DocumentTab;
}
});
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
const _reacti18next = require("react-i18next");
const _reactrouterdom = require("react-router-dom");
const _Config = require("../../../../utilities/Config");
const _DocumentInfo = require("../../../../utilities/DocumentInfo");
require("./index.scss");
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {
__proto__: null
};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
const baseClass = 'doc-tab';
const DocumentTab = (props)=>{
const { id, apiURL, collection, condition, global, href: tabHref, isActive: checkIsActive, label, newTab, pillLabel } = props;
const { t } = (0, _reacti18next.useTranslation)('general');
const location = (0, _reactrouterdom.useLocation)();
const config = (0, _Config.useConfig)();
const documentInfo = (0, _DocumentInfo.useDocumentInfo)();
const match = (0, _reactrouterdom.useRouteMatch)();
const { routes } = config;
const { versions } = documentInfo;
let href = `${match.url}${typeof tabHref === 'string' ? tabHref : ''}`;
if (typeof tabHref === 'function') {
href = tabHref({
id,
apiURL,
collection,
global,
match,
routes
});
}
const isActive = typeof checkIsActive === 'function' ? checkIsActive({
href,
location,
match
}) : typeof checkIsActive === 'boolean' ? checkIsActive : location.pathname.startsWith(href);
if (!condition || condition && Boolean(condition({
collection,
config,
documentInfo,
global
}))) {
const labelToRender = typeof label === 'function' ? label({
t
}) : label;
const pillToRender = typeof pillLabel === 'function' ? pillLabel({
versions
}) : pillLabel;
return /*#__PURE__*/ _react.default.createElement("li", {
className: [
baseClass,
isActive && `${baseClass}--active`
].filter(Boolean).join(' ')
}, /*#__PURE__*/ _react.default.createElement(_reactrouterdom.Link, {
className: `${baseClass}__link`,
to: href,
...newTab && {
rel: 'noopener noreferrer',
target: '_blank'
},
tabIndex: isActive ? -1 : 0
}, /*#__PURE__*/ _react.default.createElement("span", {
className: `${baseClass}__label`
}, labelToRender, pillToRender && /*#__PURE__*/ _react.default.createElement(_react.Fragment, null, " ", /*#__PURE__*/ _react.default.createElement("span", {
className: `${baseClass}__count`
}, pillToRender)))));
}
return null;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL0RvY3VtZW50SGVhZGVyL1RhYnMvVGFiL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IExpbmssIHVzZUxvY2F0aW9uLCB1c2VSb3V0ZU1hdGNoIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcblxuaW1wb3J0IHR5cGUgeyBEb2N1bWVudFRhYkNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBEb2N1bWVudFRhYlByb3BzIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9Db25maWcnXG5pbXBvcnQgeyB1c2VEb2N1bWVudEluZm8gfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvRG9jdW1lbnRJbmZvJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdkb2MtdGFiJ1xuXG5leHBvcnQgY29uc3QgRG9jdW1lbnRUYWI6IFJlYWN0LkZDPERvY3VtZW50VGFiUHJvcHMgJiBEb2N1bWVudFRhYkNvbmZpZz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIGlkLFxuICAgIGFwaVVSTCxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGNvbmRpdGlvbixcbiAgICBnbG9iYWwsXG4gICAgaHJlZjogdGFiSHJlZixcbiAgICBpc0FjdGl2ZTogY2hlY2tJc0FjdGl2ZSxcbiAgICBsYWJlbCxcbiAgICBuZXdUYWIsXG4gICAgcGlsbExhYmVsLFxuICB9ID0gcHJvcHNcblxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdnZW5lcmFsJylcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpXG4gIGNvbnN0IGNvbmZpZyA9IHVzZUNvbmZpZygpXG4gIGNvbnN0IGRvY3VtZW50SW5mbyA9IHVzZURvY3VtZW50SW5mbygpXG4gIGNvbnN0IG1hdGNoID0gdXNlUm91dGVNYXRjaCgpXG5cbiAgY29uc3QgeyByb3V0ZXMgfSA9IGNvbmZpZ1xuICBjb25zdCB7IHZlcnNpb25zIH0gPSBkb2N1bWVudEluZm9cblxuICBsZXQgaHJlZiA9IGAke21hdGNoLnVybH0ke3R5cGVvZiB0YWJIcmVmID09PSAnc3RyaW5nJyA/IHRhYkhyZWYgOiAnJ31gXG5cbiAgaWYgKHR5cGVvZiB0YWJIcmVmID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaHJlZiA9IHRhYkhyZWYoe1xuICAgICAgaWQsXG4gICAgICBhcGlVUkwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgZ2xvYmFsLFxuICAgICAgbWF0Y2gsXG4gICAgICByb3V0ZXMsXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IGlzQWN0aXZlID1cbiAgICB0eXBlb2YgY2hlY2tJc0FjdGl2ZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgPyBjaGVja0lzQWN0aXZlKHsgaHJlZiwgbG9jYXRpb24sIG1hdGNoIH0pXG4gICAgICA6IHR5cGVvZiBjaGVja0lzQWN0aXZlID09PSAnYm9vbGVhbidcbiAgICAgID8gY2hlY2tJc0FjdGl2ZVxuICAgICAgOiBsb2NhdGlvbi5wYXRobmFtZS5zdGFydHNXaXRoKGhyZWYpXG5cbiAgaWYgKFxuICAgICFjb25kaXRpb24gfHxcbiAgICAoY29uZGl0aW9uICYmIEJvb2xlYW4oY29uZGl0aW9uKHsgY29sbGVjdGlvbiwgY29uZmlnLCBkb2N1bWVudEluZm8sIGdsb2JhbCB9KSkpXG4gICkge1xuICAgIGNvbnN0IGxhYmVsVG9SZW5kZXIgPSB0eXBlb2YgbGFiZWwgPT09ICdmdW5jdGlvbicgPyBsYWJlbCh7IHQgfSkgOiBsYWJlbFxuICAgIGNvbnN0IHBpbGxUb1JlbmRlciA9IHR5cGVvZiBwaWxsTGFiZWwgPT09ICdmdW5jdGlvbicgPyBwaWxsTGFiZWwoeyB2ZXJzaW9ucyB9KSA6IHBpbGxMYWJlbFxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxsaSBjbGFzc05hbWU9e1tiYXNlQ2xhc3MsIGlzQWN0aXZlICYmIGAke2Jhc2VDbGFzc30tLWFjdGl2ZWBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyl9PlxuICAgICAgICA8TGlua1xuICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbGlua2B9XG4gICAgICAgICAgdG89e2hyZWZ9XG4gICAgICAgICAgey4uLihuZXdUYWIgJiYgeyByZWw6ICdub29wZW5lciBub3JlZmVycmVyJywgdGFyZ2V0OiAnX2JsYW5rJyB9KX1cbiAgICAgICAgICB0YWJJbmRleD17aXNBY3RpdmUgPyAtMSA6IDB9XG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2xhYmVsYH0+XG4gICAgICAgICAgICB7bGFiZWxUb1JlbmRlcn1cbiAgICAgICAgICAgIHtwaWxsVG9SZW5kZXIgJiYgKFxuICAgICAgICAgICAgICA8RnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAgJm5ic3A7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jb3VudGB9PntwaWxsVG9SZW5kZXJ9PC9zcGFuPlxuICAgICAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvTGluaz5cbiAgICAgIDwvbGk+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdLCJuYW1lcyI6WyJEb2N1bWVudFRhYiIsImJhc2VDbGFzcyIsInByb3BzIiwiaWQiLCJhcGlVUkwiLCJjb2xsZWN0aW9uIiwiY29uZGl0aW9uIiwiZ2xvYmFsIiwiaHJlZiIsInRhYkhyZWYiLCJpc0FjdGl2ZSIsImNoZWNrSXNBY3RpdmUiLCJsYWJlbCIsIm5ld1RhYiIsInBpbGxMYWJlbCIsInQiLCJ1c2VUcmFuc2xhdGlvbiIsImxvY2F0aW9uIiwidXNlTG9jYXRpb24iLCJjb25maWciLCJ1c2VDb25maWciLCJkb2N1bWVudEluZm8iLCJ1c2VEb2N1bWVudEluZm8iLCJtYXRjaCIsInVzZVJvdXRlTWF0Y2giLCJyb3V0ZXMiLCJ2ZXJzaW9ucyIsInVybCIsInBhdGhuYW1lIiwic3RhcnRzV2l0aCIsIkJvb2xlYW4iLCJsYWJlbFRvUmVuZGVyIiwicGlsbFRvUmVuZGVyIiwibGkiLCJjbGFzc05hbWUiLCJmaWx0ZXIiLCJqb2luIiwiTGluayIsInRvIiwicmVsIiwidGFyZ2V0IiwidGFiSW5kZXgiLCJzcGFuIiwiRnJhZ21lbnQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBYWFBOzs7ZUFBQUE7OzsrREFibUI7OEJBQ0Q7Z0NBQ2tCO3dCQUt2Qjs4QkFDTTtRQUN6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVAsTUFBTUMsWUFBWTtBQUVYLE1BQU1ELGNBQThELENBQUNFO0lBQzFFLE1BQU0sRUFDSkMsRUFBRSxFQUNGQyxNQUFNLEVBQ05DLFVBQVUsRUFDVkMsU0FBUyxFQUNUQyxNQUFNLEVBQ05DLE1BQU1DLE9BQU8sRUFDYkMsVUFBVUMsYUFBYSxFQUN2QkMsS0FBSyxFQUNMQyxNQUFNLEVBQ05DLFNBQVMsRUFDVixHQUFHWjtJQUVKLE1BQU0sRUFBRWEsQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDRCQUFjLEVBQUM7SUFDN0IsTUFBTUMsV0FBV0MsSUFBQUEsMkJBQVc7SUFDNUIsTUFBTUMsU0FBU0MsSUFBQUEsaUJBQVM7SUFDeEIsTUFBTUMsZUFBZUMsSUFBQUEsNkJBQWU7SUFDcEMsTUFBTUMsUUFBUUMsSUFBQUEsNkJBQWE7SUFFM0IsTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBR047SUFDbkIsTUFBTSxFQUFFTyxRQUFRLEVBQUUsR0FBR0w7SUFFckIsSUFBSWIsT0FBTyxDQUFDLEVBQUVlLE1BQU1JLEdBQUcsQ0FBQyxFQUFFLE9BQU9sQixZQUFZLFdBQVdBLFVBQVUsR0FBRyxDQUFDO0lBRXRFLElBQUksT0FBT0EsWUFBWSxZQUFZO1FBQ2pDRCxPQUFPQyxRQUFRO1lBQ2JOO1lBQ0FDO1lBQ0FDO1lBQ0FFO1lBQ0FnQjtZQUNBRTtRQUNGO0lBQ0Y7SUFFQSxNQUFNZixXQUNKLE9BQU9DLGtCQUFrQixhQUNyQkEsY0FBYztRQUFFSDtRQUFNUztRQUFVTTtJQUFNLEtBQ3RDLE9BQU9aLGtCQUFrQixZQUN6QkEsZ0JBQ0FNLFNBQVNXLFFBQVEsQ0FBQ0MsVUFBVSxDQUFDckI7SUFFbkMsSUFDRSxDQUFDRixhQUNBQSxhQUFhd0IsUUFBUXhCLFVBQVU7UUFBRUQ7UUFBWWM7UUFBUUU7UUFBY2Q7SUFBTyxLQUMzRTtRQUNBLE1BQU13QixnQkFBZ0IsT0FBT25CLFVBQVUsYUFBYUEsTUFBTTtZQUFFRztRQUFFLEtBQUtIO1FBQ25FLE1BQU1vQixlQUFlLE9BQU9sQixjQUFjLGFBQWFBLFVBQVU7WUFBRVk7UUFBUyxLQUFLWjtRQUVqRixxQkFDRSw2QkFBQ21CO1lBQUdDLFdBQVc7Z0JBQUNqQztnQkFBV1MsWUFBWSxDQUFDLEVBQUVULFVBQVUsUUFBUSxDQUFDO2FBQUMsQ0FBQ2tDLE1BQU0sQ0FBQ0wsU0FBU00sSUFBSSxDQUFDO3lCQUNsRiw2QkFBQ0Msb0JBQUk7WUFDSEgsV0FBVyxDQUFDLEVBQUVqQyxVQUFVLE1BQU0sQ0FBQztZQUMvQnFDLElBQUk5QjtZQUNILEdBQUlLLFVBQVU7Z0JBQUUwQixLQUFLO2dCQUF1QkMsUUFBUTtZQUFTLENBQUM7WUFDL0RDLFVBQVUvQixXQUFXLENBQUMsSUFBSTt5QkFFMUIsNkJBQUNnQztZQUFLUixXQUFXLENBQUMsRUFBRWpDLFVBQVUsT0FBTyxDQUFDO1dBQ25DOEIsZUFDQUMsOEJBQ0MsNkJBQUNXLGVBQVEsUUFBQyxtQkFFUiw2QkFBQ0Q7WUFBS1IsV0FBVyxDQUFDLEVBQUVqQyxVQUFVLE9BQU8sQ0FBQztXQUFHK0I7SUFPdkQ7SUFFQSxPQUFPO0FBQ1QifQ==