@pubsweet/ui
Version:
React component library for use in pubsweet apps
78 lines (57 loc) • 2.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _uiToolkit = require("@pubsweet/ui-toolkit");
var _atoms = require("../atoms");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _templateObject3() {
var data = _taggedTemplateLiteral(["\n align-items: center;\n display: flex;\n text-decoration: none;\n\n &:link:hover ", " {\n text-decoration: underline;\n }\n"]);
_templateObject3 = function _templateObject3() {
return data;
};
return data;
}
function _templateObject2() {
var data = _taggedTemplateLiteral(["\n margin: 0 ", ";\n\n svg {\n height: ", ";\n stroke: ", ";\n width: ", ";\n }\n"]);
_templateObject2 = function _templateObject2() {
return data;
};
return data;
}
function _templateObject() {
var data = _taggedTemplateLiteral(["\n color: ", ";\n display: inline-flex;\n overflow-wrap: break-word;\n padding: 0;\n word-break: break-all;\n"]);
_templateObject = function _templateObject() {
return data;
};
return data;
}
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
var Filename = _styledComponents["default"].span(_templateObject(), function (props) {
if (props.error) return props.theme.colorError;
if (props.uploaded) return props.theme.colorPrimary;
return props.theme.colorTextPlaceholder;
});
var IconContainer = _styledComponents["default"].span(_templateObject2(), (0, _uiToolkit.th)('gridUnit'), (0, _uiToolkit.th)('fontSizeBase'), function (props) {
return props.theme[props.uploaded ? 'colorPrimary' : 'colorText'];
}, (0, _uiToolkit.th)('fontSizeBase'));
var Link = _styledComponents["default"].a(_templateObject3(), Filename);
var Attachment = function Attachment(_ref) {
var file = _ref.file,
error = _ref.error,
uploaded = _ref.uploaded;
return /*#__PURE__*/_react["default"].createElement(Link, {
download: uploaded && file.name,
href: uploaded && file.url
}, /*#__PURE__*/_react["default"].createElement(IconContainer, {
uploaded: uploaded
}, /*#__PURE__*/_react["default"].createElement(_atoms.Icon, null, "paperclip")), /*#__PURE__*/_react["default"].createElement(Filename, {
error: error,
uploaded: uploaded
}, error || (uploaded ? file.name : 'Uploading...')));
};
var _default = Attachment;
exports["default"] = _default;