UNPKG

2.2 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports.default = exports.propTypes = void 0;
7
8var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
12var _classnames = _interopRequireDefault(require("classnames"));
13
14var _react = _interopRequireDefault(require("react"));
15
16var _propTypes = _interopRequireDefault(require("prop-types"));
17
18var _ThemeProvider = require("./ThemeProvider");
19
20var _excluded = ["bsPrefix", "className", "fluid", "rounded", "roundedCircle", "thumbnail"];
21var propTypes = {
22 /**
23 * @default 'img'
24 */
25 bsPrefix: _propTypes.default.string,
26
27 /**
28 * Sets image as fluid image.
29 */
30 fluid: _propTypes.default.bool,
31
32 /**
33 * Sets image shape as rounded.
34 */
35 rounded: _propTypes.default.bool,
36
37 /**
38 * Sets image shape as circle.
39 */
40 roundedCircle: _propTypes.default.bool,
41
42 /**
43 * Sets image shape as thumbnail.
44 */
45 thumbnail: _propTypes.default.bool
46};
47exports.propTypes = propTypes;
48var defaultProps = {
49 fluid: false,
50 rounded: false,
51 roundedCircle: false,
52 thumbnail: false
53};
54
55var Image = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
56 var bsPrefix = _ref.bsPrefix,
57 className = _ref.className,
58 fluid = _ref.fluid,
59 rounded = _ref.rounded,
60 roundedCircle = _ref.roundedCircle,
61 thumbnail = _ref.thumbnail,
62 props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
63 bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'img');
64 var classes = (0, _classnames.default)(fluid && bsPrefix + "-fluid", rounded && "rounded", roundedCircle && "rounded-circle", thumbnail && bsPrefix + "-thumbnail");
65 return /*#__PURE__*/_react.default.createElement("img", (0, _extends2.default)({
66 // eslint-disable-line jsx-a11y/alt-text
67 ref: ref
68 }, props, {
69 className: (0, _classnames.default)(className, classes)
70 }));
71});
72
73Image.displayName = 'Image';
74Image.defaultProps = defaultProps;
75var _default = Image;
76exports.default = _default;
\No newline at end of file