UNPKG

react-images-lightbox

Version:

A simple, responsive lightbox component for displaying an array of images with React.js

78 lines (61 loc) 2.05 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _aphroditeNoImportant = require('aphrodite/no-important'); var _theme = require('../theme'); var _theme2 = _interopRequireDefault(_theme); var _utils = require('../utils'); function Thumbnail(_ref, _ref2) { var index = _ref.index; var src = _ref.src; var thumbnail = _ref.thumbnail; var active = _ref.active; var onClick = _ref.onClick; var theme = _ref2.theme; var url = thumbnail ? thumbnail : src; var classes = _aphroditeNoImportant.StyleSheet.create((0, _utils.deepMerge)(defaultStyles, theme)); return _react2['default'].createElement('div', { className: (0, _aphroditeNoImportant.css)(classes.thumbnail, active && classes.thumbnail__active), onClick: function (e) { e.preventDefault(); e.stopPropagation(); onClick(index); }, style: { backgroundImage: 'url("' + url + '")' } }); } Thumbnail.propTypes = { active: _propTypes2['default'].bool, index: _propTypes2['default'].number, onClick: _propTypes2['default'].func.isRequired, src: _propTypes2['default'].string, thumbnail: _propTypes2['default'].string }; Thumbnail.contextTypes = { theme: _propTypes2['default'].object.isRequired }; var defaultStyles = { thumbnail: { backgroundPosition: 'center', backgroundSize: 'cover', borderRadius: 2, boxShadow: 'inset 0 0 0 1px hsla(0,0%,100%,.2)', cursor: 'pointer', display: 'inline-block', height: _theme2['default'].thumbnail.size, margin: _theme2['default'].thumbnail.gutter, overflow: 'hidden', width: _theme2['default'].thumbnail.size }, thumbnail__active: { boxShadow: 'inset 0 0 0 2px ' + _theme2['default'].thumbnail.activeBorderColor } }; exports['default'] = Thumbnail; module.exports = exports['default'];