UNPKG

3.08 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
8
9var _templateObject = _taggedTemplateLiteral(['\n ', '\n position: relative;\n outline: 0;\n border: 2px solid ', ';\n'], ['\n ', '\n position: relative;\n outline: 0;\n border: 2px solid ', ';\n']),
10 _templateObject2 = _taggedTemplateLiteral(['\n display: block;\n max-width: 100%;\n height: auto;\n'], ['\n display: block;\n max-width: 100%;\n height: auto;\n']),
11 _templateObject3 = _taggedTemplateLiteral(['\n query resource($id: ID!){\n node(id: $id) {\n ... on Resource {\n path\n }\n }\n }\n'], ['\n query resource($id: ID!){\n node(id: $id) {\n ... on Resource {\n path\n }\n }\n }\n']);
12
13var _graphqlTag = require('graphql-tag');
14
15var _graphqlTag2 = _interopRequireDefault(_graphqlTag);
16
17var _reactApollo = require('react-apollo');
18
19var _styledComponents = require('styled-components');
20
21var _styledComponents2 = _interopRequireDefault(_styledComponents);
22
23var _react = require('react');
24
25var _react2 = _interopRequireDefault(_react);
26
27function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
28
29function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
30
31function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
32
33var displayBig = function displayBig() {
34 return function (props) {
35 return props.display === 'big' ? 'width: 120%; left: -10%' : null;
36 };
37};
38
39var Container = _styledComponents2.default.div(_templateObject, displayBig(), function (props) {
40 return props.focus ? props.theme.secondary : 'transparent';
41});
42
43var Image = _styledComponents2.default.img(_templateObject2);
44
45var ImageBlock = function ImageBlock(_ref) {
46 var data = _ref.data,
47 graphData = _ref.graphData,
48 other = _objectWithoutProperties(_ref, ['data', 'graphData']);
49
50 return _react2.default.createElement(
51 Container,
52 _extends({}, data, other),
53 graphData.loading ? 'Loading...' : _react2.default.createElement(Image, { src: graphData.node.path, alt: graphData.node.description })
54 );
55};
56
57ImageBlock.propTypes = {
58 data: _react.PropTypes.shape().isRequired,
59 graphData: _react.PropTypes.shape({
60 loading: _react.PropTypes.bool,
61 node: _react.PropTypes.object
62 }).isRequired
63};
64
65var ResourceQuery = (0, _graphqlTag2.default)(_templateObject3);
66
67exports.default = (0, _reactApollo.graphql)(ResourceQuery, {
68 name: 'graphData',
69 options: function options(_ref2) {
70 var data = _ref2.data;
71 return { variables: { id: data.resource.id } };
72 }
73})(ImageBlock);
\No newline at end of file