UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

65 lines 1.8 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties"; const _excluded = ["onClick", "text", "href", "download"]; import React from 'react'; import classNames from 'classnames'; import Anchor from '../../components/Anchor'; import Button from '../button/Button'; import Span from '../../elements/Span'; import { createSpacingClasses } from '../space/SpacingUtils'; export const UploadFileLink = props => { const { onClick, text, href, download } = props, rest = _objectWithoutProperties(props, _excluded); if (!onClick && !href) { return React.createElement(Span, _extends({ className: "dnb-p" }, rest), text); } if (onClick) { return React.createElement(UploadFileButton, _extends({ text: text, onClick: onClick }, rest)); } return React.createElement(UploadFileAnchor, _extends({ text: text, href: href, download: download }, rest)); }; export default UploadFileLink; const UploadFileButton = props => { const { text, onClick } = props; const spacingClasses = createSpacingClasses(props); return React.createElement(Button, { size: "small", icon: false, variant: "tertiary", onClick: onClick, className: classNames(spacingClasses) }, text); }; const UploadFileAnchor = props => { const { text, href, download } = props; const spacingClasses = createSpacingClasses(props); return React.createElement(Anchor, { target: "_blank", href: href, download: download ? text : null, className: classNames('dnb-anchor--no-launch-icon', spacingClasses), rel: "noopener noreferrer" }, text); }; //# sourceMappingURL=UploadFileListLink.js.map