@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
71 lines (70 loc) • 2.36 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.UploadFileLink = void 0;
var _react = _interopRequireDefault(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _Anchor = _interopRequireDefault(require("../../components/Anchor.js"));
var _Button = _interopRequireDefault(require("../button/Button.js"));
var _Span = _interopRequireDefault(require("../../elements/Span.js"));
var _SpacingUtils = require("../space/SpacingUtils.js");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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); }
const UploadFileLink = props => {
const {
onClick,
text,
href,
download,
...rest
} = props;
if (!onClick && !href) {
return _react.default.createElement(_Span.default, _extends({
className: "dnb-p"
}, rest), text);
}
if (onClick) {
return _react.default.createElement(UploadFileButton, _extends({
text: text,
onClick: onClick
}, rest));
}
return _react.default.createElement(UploadFileAnchor, _extends({
text: text,
href: href,
download: download
}, rest));
};
exports.UploadFileLink = UploadFileLink;
var _default = exports.default = UploadFileLink;
const UploadFileButton = props => {
const {
text,
onClick
} = props;
const spacingClasses = (0, _SpacingUtils.createSpacingClasses)(props);
return _react.default.createElement(_Button.default, {
size: "small",
icon: false,
variant: "tertiary",
onClick: onClick,
className: (0, _classnames.default)(spacingClasses)
}, text);
};
const UploadFileAnchor = props => {
const {
text,
href,
download
} = props;
const spacingClasses = (0, _SpacingUtils.createSpacingClasses)(props);
return _react.default.createElement(_Anchor.default, {
target: "_blank",
href: href,
download: download ? text : null,
className: (0, _classnames.default)('dnb-anchor--no-launch-icon', spacingClasses),
rel: "noopener noreferrer"
}, text);
};
//# sourceMappingURL=UploadFileListLink.js.map