UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

42 lines (41 loc) 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _Element = _interopRequireDefault(require("../Element.js")); var _SpacingHelper = require("../../components/space/SpacingHelper.js"); var _classnames = _interopRequireDefault(require("classnames")); 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 Img = ({ caption, alt, element = 'figure', skeleton, imgClass, className, loading = 'eager', ...p }) => { const [hasError, setError] = _react.default.useState(false); return _react.default.createElement(_Element.default, { as: element, internalClass: "dnb-img", className: (0, _classnames.default)(className, (0, _SpacingHelper.createSpacingClasses)(p, p.is)), skeleton: skeleton, skeletonMethod: "shape" }, _react.default.createElement(_Element.default, _extends({ as: "img", loading: loading, alt: alt, internalClass: 'dnb-img' + (hasError ? " dnb-img--error" : ""), className: imgClass, skeleton: skeleton, onError: () => setError(true) }, (0, _SpacingHelper.removeSpaceProps)(p))), caption && _react.default.createElement("figcaption", null, caption)); }; Img._supportsSpacingProps = true; var _default = exports.default = Img; //# sourceMappingURL=Img.js.map