UNPKG

2.94 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _templateObject = _taggedTemplateLiteral(['\n padding: 1.25em;\n display: flex;\n justify-content: center;\n align-items: center;\n'], ['\n padding: 1.25em;\n display: flex;\n justify-content: center;\n align-items: center;\n']);
8
9var _uuid = require('uuid');
10
11var _uuid2 = _interopRequireDefault(_uuid);
12
13var _isArray = require('lodash/isArray');
14
15var _isArray2 = _interopRequireDefault(_isArray);
16
17var _styledComponents = require('styled-components');
18
19var _styledComponents2 = _interopRequireDefault(_styledComponents);
20
21var _react = require('react');
22
23var _react2 = _interopRequireDefault(_react);
24
25var _preview = require('../preview');
26
27var _preview2 = _interopRequireDefault(_preview);
28
29function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
31function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
32
33function _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; }
34
35var FileList = function FileList(_ref) {
36 var files = _ref.files,
37 onDelete = _ref.onDelete;
38 return _react2.default.createElement(
39 'div',
40 null,
41 files.map(function (file) {
42 return _react2.default.createElement(_preview2.default, {
43 key: _uuid2.default.v4(),
44 file: file,
45 onDelete: onDelete
46 });
47 })
48 );
49};
50
51FileList.propTypes = {
52 files: _react.PropTypes.arrayOf(_react.PropTypes.shape().isRequired).isRequired,
53 onDelete: _react.PropTypes.func.isRequired
54};
55
56var FileItem = function FileItem(_ref2) {
57 var file = _ref2.file,
58 onDelete = _ref2.onDelete;
59 return _react2.default.createElement(_preview2.default, {
60 file: file,
61 key: _uuid2.default.v4(),
62 onDelete: onDelete
63 });
64};
65
66FileItem.propTypes = {
67 file: _react.PropTypes.shape({}).isRequired,
68 onDelete: _react.PropTypes.func.isRequired
69};
70
71var FileListContainer = function FileListContainer(_ref3) {
72 var files = _ref3.files,
73 onDelete = _ref3.onDelete,
74 other = _objectWithoutProperties(_ref3, ['files', 'onDelete']);
75
76 if (!files) return null;
77 if ((0, _isArray2.default)(files) && files.length < 1) return null;
78
79 return _react2.default.createElement(
80 'div',
81 other,
82 (0, _isArray2.default)(files) ? _react2.default.createElement(FileList, { files: files, onDelete: onDelete }) : _react2.default.createElement(FileItem, { file: files, onDelete: onDelete })
83 );
84};
85
86FileListContainer.propTypes = {
87 files: _react.PropTypes.oneOfType([_react.PropTypes.array, _react.PropTypes.shape({})]),
88 onDelete: _react.PropTypes.func.isRequired
89};
90
91exports.default = (0, _styledComponents2.default)(FileListContainer)(_templateObject);
\No newline at end of file