@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
76 lines (75 loc) • 1.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.UploadFileLink = void 0;
var _react = _interopRequireDefault(require("react"));
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");
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const UploadFileLink = props => {
const {
onClick,
text,
href,
download,
...rest
} = props;
if (!onClick && !href) {
return (0, _jsxRuntime.jsx)(_Span.default, {
className: "dnb-p",
...rest,
children: text
});
}
if (onClick) {
return (0, _jsxRuntime.jsx)(UploadFileButton, {
text: text,
onClick: onClick,
...rest
});
}
return (0, _jsxRuntime.jsx)(UploadFileAnchor, {
text: text,
href: href,
download: download,
...rest
});
};
exports.UploadFileLink = UploadFileLink;
var _default = exports.default = UploadFileLink;
const UploadFileButton = props => {
const {
text,
onClick
} = props;
return (0, _jsxRuntime.jsx)(_Button.default, {
size: "small",
icon: false,
variant: "tertiary",
onClick: onClick,
...(0, _SpacingUtils.applySpacing)(props, {}),
children: text
});
};
const UploadFileAnchor = props => {
const {
text,
href,
download
} = props;
return (0, _jsxRuntime.jsx)(_Anchor.default, {
target: "_blank",
href: href,
download: download ? text : null,
...(0, _SpacingUtils.applySpacing)(props, {
className: 'dnb-anchor--no-launch-icon'
}),
rel: "noopener noreferrer",
children: text
});
};
//# sourceMappingURL=UploadFileListLink.js.map