UNPKG

19.1 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
5var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
7Object.defineProperty(exports, "__esModule", {
8 value: true
9});
10exports["default"] = void 0;
11
12var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
14var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
16var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
18var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
20var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
22var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
24var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
26var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
28var _react = _interopRequireWildcard(require("react"));
29
30var _propTypes = _interopRequireDefault(require("prop-types"));
31
32var _reactImageFallback = _interopRequireDefault(require("react-image-fallback"));
33
34var _link = _interopRequireDefault(require("@lskjs/link"));
35
36function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
37
38function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
39
40function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
41
42function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
43
44// import Img from './Image.styles';
45// const textSizeRatio = 3;
46var textSizePercent = 30;
47
48var Image = /*#__PURE__*/function (_PureComponent) {
49 (0, _inherits2["default"])(Image, _PureComponent);
50
51 var _super = _createSuper(Image);
52
53 function Image() {
54 (0, _classCallCheck2["default"])(this, Image);
55 return _super.apply(this, arguments);
56 }
57
58 (0, _createClass2["default"])(Image, [{
59 key: "getInnerStyle",
60 value: function getInnerStyle() {
61 var _this$props = this.props,
62 size = _this$props.size,
63 innerStyle = _this$props.innerStyle,
64 textColor = _this$props.textColor,
65 objectFit = _this$props.objectFit;
66 var width = this.props.width || size;
67 var height = this.props.height || size;
68 var lineHeight = size;
69 var fontSize = Math.min( // Math.floor(size / textSizeRatio * textScale),
70 Math.floor(size * textSizePercent / 100), lineHeight);
71 return _objectSpread({
72 boxSizing: 'border-box',
73 maxWidth: '100%',
74 maxHeight: 500,
75 objectFit: objectFit,
76 display: 'flex',
77 justifyContent: 'center',
78 alignItems: 'center',
79 // overflow: 'hidden',
80 width: width,
81 height: height,
82 textAlign: 'center',
83 fontFamily: 'Helvetica, Arial, sans-serif',
84 fontSize: "".concat(fontSize, "px"),
85 lineHeight: "".concat(lineHeight, "px"),
86 color: textColor
87 }, innerStyle);
88 }
89 }, {
90 key: "renderAsImage",
91 value: function renderAsImage() {
92 var title = this.props.title || this.props.name;
93 var src = this.props.src || this.props.image;
94 var _this$props2 = this.props,
95 _this$props2$style = _this$props2.style,
96 style = _this$props2$style === void 0 ? {} : _this$props2$style,
97 props = (0, _objectWithoutProperties2["default"])(_this$props2, ["style"]);
98 return /*#__PURE__*/_react["default"].createElement(_reactImageFallback["default"], (0, _extends2["default"])({
99 src: src,
100 fallbackImage: this.constructor.defaultImage,
101 initialImage: this.constructor.defaultImage,
102 style: _objectSpread(_objectSpread({}, this.getInnerStyle()), style),
103 alt: title,
104 title: title
105 }, props));
106 }
107 }, {
108 key: "renderAsText",
109 value: function renderAsText() {
110 var placeholder = this.props.placeholder;
111 var placeholderLimit = this.props.placeholderLimit;
112 var title = this.props.title || this.props.name || placeholder || '';
113
114 if (!placeholder) {
115 placeholder = title.split(' ').map(function (s) {
116 return s.charAt(0);
117 }).join('').substr(0, placeholderLimit);
118 }
119
120 return /*#__PURE__*/_react["default"].createElement("div", {
121 style: this.getInnerStyle()
122 }, placeholder);
123 }
124 }, {
125 key: "render",
126 value: function render() {
127 var _this$props3 = this.props,
128 size = _this$props3.size,
129 style = _this$props3.style,
130 className = _this$props3.className,
131 children = _this$props3.children,
132 componentClass = _this$props3.componentClass; // const src = this.props.src || this.props.image;
133
134 var width = this.props.width || size;
135 var height = this.props.height || size;
136
137 var wrapperStyle = _objectSpread({
138 display: 'block',
139 position: 'relative',
140 width: width,
141 height: height
142 }, style);
143
144 var link = this.props.link || this.props.href;
145 var Component = componentClass || (link ? _link["default"] : 'div');
146 return /*#__PURE__*/_react["default"].createElement(Component, {
147 href: link,
148 className: className,
149 style: wrapperStyle
150 }, this.renderAsImage(), children);
151 }
152 }]);
153 return Image;
154}(_react.PureComponent);
155
156Image.propTypes = {
157 title: _propTypes["default"].string,
158 name: _propTypes["default"].string,
159 src: _propTypes["default"].string,
160 size: _propTypes["default"].number,
161 objectFit: _propTypes["default"].string,
162 width: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
163 height: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
164 // color: PropTypes.string,
165 textColor: _propTypes["default"].string,
166 // textScale: PropTypes.number,
167 placeholder: _propTypes["default"].string,
168 placeholderLimit: _propTypes["default"].number,
169 style: _propTypes["default"].object,
170 innerStyle: _propTypes["default"].object
171};
172Image.defaultImage = 'https://increasify.com.au/wp-content/uploads/2016/08/default-image.png';
173Image.defaultProps = {
174 title: '',
175 name: '',
176 src: null,
177 size: 64,
178 width: 'auto',
179 height: 'auto',
180 objectFit: 'cover',
181 // backgroundColor: '#838383',
182 textColor: '#d9d9d9',
183 // textScale: 1,
184 placeholder: null,
185 placeholderLimit: 3,
186 style: {},
187 innerStyle: {}
188};
189var _default = Image;
190exports["default"] = _default;
191//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9JbWFnZS5qc3giXSwibmFtZXMiOlsidGV4dFNpemVQZXJjZW50IiwiSW1hZ2UiLCJwcm9wcyIsInNpemUiLCJpbm5lclN0eWxlIiwidGV4dENvbG9yIiwib2JqZWN0Rml0Iiwid2lkdGgiLCJoZWlnaHQiLCJsaW5lSGVpZ2h0IiwiZm9udFNpemUiLCJNYXRoIiwibWluIiwiZmxvb3IiLCJib3hTaXppbmciLCJtYXhXaWR0aCIsIm1heEhlaWdodCIsImRpc3BsYXkiLCJqdXN0aWZ5Q29udGVudCIsImFsaWduSXRlbXMiLCJ0ZXh0QWxpZ24iLCJmb250RmFtaWx5IiwiY29sb3IiLCJ0aXRsZSIsIm5hbWUiLCJzcmMiLCJpbWFnZSIsInN0eWxlIiwiY29uc3RydWN0b3IiLCJkZWZhdWx0SW1hZ2UiLCJnZXRJbm5lclN0eWxlIiwicGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlckxpbWl0Iiwic3BsaXQiLCJtYXAiLCJzIiwiY2hhckF0Iiwiam9pbiIsInN1YnN0ciIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwiY29tcG9uZW50Q2xhc3MiLCJ3cmFwcGVyU3R5bGUiLCJwb3NpdGlvbiIsImxpbmsiLCJocmVmIiwiQ29tcG9uZW50IiwiTGluayIsInJlbmRlckFzSW1hZ2UiLCJQdXJlQ29tcG9uZW50IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwibnVtYmVyIiwib25lT2ZUeXBlIiwib2JqZWN0IiwiZGVmYXVsdFByb3BzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUNBO0FBRUE7QUFDQSxJQUFNQSxlQUFlLEdBQUcsRUFBeEI7O0lBRU1DLEs7Ozs7Ozs7Ozs7OztvQ0FDWTtBQUFBLHdCQVFWLEtBQUtDLEtBUks7QUFBQSxVQUVaQyxJQUZZLGVBRVpBLElBRlk7QUFBQSxVQUlaQyxVQUpZLGVBSVpBLFVBSlk7QUFBQSxVQUtaQyxTQUxZLGVBS1pB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Q29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdEltYWdlRmFsbGJhY2sgZnJvbSAncmVhY3QtaW1hZ2UtZmFsbGJhY2snO1xuaW1wb3J0IExpbmsgZnJvbSAnQGxza2pzL2xpbmsnO1xuLy8gaW1wb3J0IEltZyBmcm9tICcuL0ltYWdlLnN0eWxlcyc7XG5cbi8vIGNvbnN0IHRleHRTaXplUmF0aW8gPSAzO1xuY29uc3QgdGV4dFNpemVQZXJjZW50ID0gMzA7XG5cbmNsYXNzIEltYWdlIGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XG4gIGdldElubmVyU3R5bGUoKSB7XG4gICAgY29uc3Qge1xuICAgICAgc2l6ZSxcbiAgICAgIC8vIHRleHRTY2FsZSxcbiAgICAgIGlubmVyU3R5bGUsXG4gICAgICB0ZXh0Q29sb3IsXG4gICAgICBvYmplY3RGaXQsXG4gICAgICAvLyBzcmMsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWR0aCA9IHRoaXMucHJvcHMud2lkdGggfHwgc2l6ZTtcbiAgICBjb25zdCBoZWlnaHQgPSB0aGlzLnByb3BzLmhlaWdodCB8fCBzaXplO1xuXG4gICAgY29uc3QgbGluZUhlaWdodCA9IHNpemU7XG4gICAgY29uc3QgZm9udFNpemUgPSBNYXRoLm1pbihcbiAgICAgIC8vIE1hdGguZmxvb3Ioc2l6ZSAvIHRleHRTaXplUmF0aW8gKiB0ZXh0U2NhbGUpLFxuICAgICAgTWF0aC5mbG9vcigoc2l6ZSAqIHRleHRTaXplUGVyY2VudCkgLyAxMDApLFxuICAgICAgbGluZUhlaWdodCxcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgICAgIG1heEhlaWdodDogNTAwLFxuICAgICAgb2JqZWN0Rml0LFxuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAvLyBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgICBmb250RmFtaWx5OiAnSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZicsXG4gICAgICBmb250U2l6ZTogYCR7Zm9udFNpemV9cHhgLFxuICAgICAgbGluZUhlaWdodDogYCR7bGluZUhlaWdodH1weGAsXG4gICAgICBjb2xvcjogdGV4dENvbG9yLFxuICAgICAgLi4uaW5uZXJTdHlsZSxcbiAgICB9O1xuICB9XG5cbiAgcmVuZGVyQXNJbWFnZSgpIHtcbiAgICBjb25zdCB0aXRsZSA9IHRoaXMucHJvcHMudGl0bGUgfHwgdGhpcy5wcm9wcy5uYW1lO1xuICAgIGNvbnN0IHNyYyA9IHRoaXMucHJvcHMuc3JjIHx8IHRoaXMucHJvcHMuaW1hZ2U7XG4gICAgY29uc3QgeyBzdHlsZSA9IHt9LCAuLi5wcm9wcyB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8UmVhY3RJbWFnZUZhbGxiYWNrXG4gICAgICAgIHNyYz17c3JjfVxuICAgICAgICBmYWxsYmFja0ltYWdlPXt0aGlzLmNvbnN0cnVjdG9yLmRlZmF1bHRJbWFnZX1cbiAgICAgICAgaW5pdGlhbEltYWdlPXt0aGlzLmNvbnN0cnVjdG9yLmRlZmF1bHRJbWFnZX1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAuLi50aGlzLmdldElubmVyU3R5bGUoKSxcbiAgICAgICAgICAuLi5zdHlsZSxcbiAgICAgICAgfX1cbiAgICAgICAgYWx0PXt0aXRsZX1cbiAgICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAvPlxuICAgICk7XG4gIH1cblxuICByZW5kZXJBc1RleHQoKSB7XG4gICAgbGV0IHsgcGxhY2Vob2xkZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBwbGFjZWhvbGRlckxpbWl0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHRpdGxlID0gdGhpcy5wcm9wcy50aXRsZSB8fCB0aGlzLnByb3BzLm5hbWUgfHwgcGxhY2Vob2xkZXIgfHwgJyc7XG4gICAgaWYgKCFwbGFjZWhvbGRlcikge1xuICAgICAgcGxhY2Vob2xkZXIgPSB0aXRsZVxuICAgICAgICAuc3BsaXQoJyAnKVxuICAgICAgICAubWFwKHMgPT4gcy5jaGFyQXQoMCkpXG4gICAgICAgIC5qb2luKCcnKVxuICAgICAgICAuc3Vic3RyKDAsIHBsYWNlaG9sZGVyTGltaXQpO1xuICAgIH1cbiAgICByZXR1cm4gPGRpdiBzdHlsZT17dGhpcy5nZXRJbm5lclN0eWxlKCl9PntwbGFjZWhvbGRlcn08L2Rpdj47XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBzaXplLCBzdHlsZSwgY2xhc3NOYW1lLCBjaGlsZHJlbiwgY29tcG9uZW50Q2xhc3MgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBjb25zdCBzcmMgPSB0aGlzLnByb3BzLnNyYyB8fCB0aGlzLnByb3BzLmltYWdlO1xuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5wcm9wcy53aWR0aCB8fCBzaXplO1xuICAgIGNvbnN0IGhlaWdodCA9IHRoaXMucHJvcHMuaGVpZ2h0IHx8IHNpemU7XG5cbiAgICBjb25zdCB3cmFwcGVyU3R5bGUgPSB7IGRpc3BsYXk6ICdibG9jaycsIHBvc2l0aW9uOiAncmVsYXRpdmUnLCB3aWR0aCwgaGVpZ2h0LCAuLi5zdHlsZSB9O1xuXG4gICAgY29uc3QgbGluayA9IHRoaXMucHJvcHMubGluayB8fCB0aGlzLnByb3BzLmhyZWY7XG4gICAgY29uc3QgQ29tcG9uZW50ID0gY29tcG9uZW50Q2xhc3MgfHwgKGxpbmsgPyBMaW5rIDogJ2RpdicpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDb21wb25lbnQgaHJlZj17bGlua30gY2xhc3NOYW1lPXtjbGFzc05hbWV9IHN0eWxlPXt3cmFwcGVyU3R5bGV9PlxuICAgICAgICB7dGhpcy5yZW5kZXJBc0ltYWdlKCl9XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvQ29tcG9uZW50PlxuICAgICk7XG4gIH1cbn1cblxuSW1hZ2UucHJvcFR5cGVzID0ge1xuICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgbmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgc3JjOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBzaXplOiBQcm9wVHlwZXMubnVtYmVyLFxuICBvYmplY3RGaXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHdpZHRoOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG4gIGhlaWdodDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuXG4gIC8vIGNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB0ZXh0Q29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIC8vIHRleHRTY2FsZTogUHJvcFR5cGVzLm51bWJlcixcblxuICBwbGFjZWhvbGRlcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgcGxhY2Vob2xkZXJMaW1pdDogUHJvcFR5cGVzLm51bWJlcixcblxuICBzdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgaW5uZXJTdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbn07XG5JbWFnZS5kZWZhdWx0SW1hZ2UgPSAnaHR0cHM6Ly9pbmNyZWFzaWZ5LmNvbS5hdS93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8wOC9kZWZhdWx0LWltYWdlLnBuZyc7XG5JbWFnZS5kZWZhdWx0UHJvcHMgPSB7XG4gIHRpdGxlOiAnJyxcbiAgbmFtZTogJycsXG4gIHNyYzogbnVsbCxcblxuICBzaXplOiA2NCxcbiAgd2lkdGg6ICdhdXRvJyxcbiAgaGVpZ2h0OiAnYXV0bycsXG4gIG9iamVjdEZpdDogJ2NvdmVyJyxcblxuICAvLyBiYWNrZ3JvdW5kQ29sb3I6ICcjODM4MzgzJyxcbiAgdGV4dENvbG9yOiAnI2Q5ZDlkOScsXG4gIC8vIHRleHRTY2FsZTogMSxcblxuICBwbGFjZWhvbGRlcjogbnVsbCxcbiAgcGxhY2Vob2xkZXJMaW1pdDogMyxcblxuICBzdHlsZToge30sXG4gIGlubmVyU3R5bGU6IHt9LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgSW1hZ2U7XG4iXX0=
192//# sourceMappingURL=Image.js.map
\No newline at end of file