UNPKG

@pubsweet/ui

Version:

React component library for use in pubsweet apps

78 lines (57 loc) 2.68 kB
"use strict"; 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;