UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

35 lines 1.06 kB
import _extends from "@babel/runtime-corejs3/helpers/esm/extends"; import React from 'react'; import E from "../Element.js"; import { createSpacingClasses, removeSpaceProps } from "../../components/space/SpacingHelper.js"; import classnames from 'classnames'; const Img = ({ caption, alt, element = 'figure', skeleton, imgClass, className, loading = 'eager', ...p }) => { const [hasError, setError] = React.useState(false); return React.createElement(E, { as: element, internalClass: "dnb-img", className: classnames(className, createSpacingClasses(p, p.is)), skeleton: skeleton, skeletonMethod: "shape" }, React.createElement(E, _extends({ as: "img", loading: loading, alt: alt, internalClass: 'dnb-img' + (hasError ? " dnb-img--error" : ""), className: imgClass, skeleton: skeleton, onError: () => setError(true) }, removeSpaceProps(p))), caption && React.createElement("figcaption", null, caption)); }; Img._supportsSpacingProps = true; export default Img; //# sourceMappingURL=Img.js.map