apeman-react-upload
Version:
apeman react package for file upload components.
173 lines (158 loc) • 14.3 kB
JavaScript
/**
* Style for ApUpload.
* @class ApUploadStyle
*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _assign = require('babel-runtime/core-js/object/assign');
var _assign2 = _interopRequireDefault(_assign);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _apemanReactStyle = require('apeman-react-style');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/** @lends ApUploadStyle */
var ApUploadStyle = _react2.default.createClass({
displayName: 'ApUploadStyle',
propTypes: {
style: _react.PropTypes.object,
highlightColor: _react.PropTypes.string,
backgroundColor: _react.PropTypes.string
},
getDefaultProps: function getDefaultProps() {
return {
style: {},
highlightColor: _apemanReactStyle.ApStyle.DEFAULT_HIGHLIGHT_COLOR,
backgroundColor: _apemanReactStyle.ApStyle.DEFAULT_BACKGROUND_COLOR
};
},
statics: {
styleData: function styleData(config) {
var highlightColor = config.highlightColor,
backgroundColor = config.backgroundColor;
return {
all: {
'.ap-upload': {
position: 'relative',
display: 'inline-block',
color: '#888',
overflow: 'hidden'
},
'.ap-upload:hover': {
color: '#555'
},
'.ap-upload:active': {
textShadow: 'none',
opacity: 1,
color: '#777'
},
'.ap-upload-label': {
position: 'absolute',
zIndex: 1,
textAlign: 'center',
boxSizing: 'border-box',
left: 0,
top: 0,
right: 0,
bottom: 0,
pointerEvents: 'none',
backgroundColor: '' + backgroundColor,
boxShadow: 'inset 1px 1px 2px rgba(0,0,0,0.33)',
border: '1px solid #CCC',
borderRadius: '2px'
},
'.ap-upload-input': {
opacity: 0,
display: 'inline-block',
cursor: 'pointer',
position: 'relative',
zIndex: 2
},
'.ap-upload-icon': {
display: 'block',
fontSize: '2em'
},
'.ap-upload-label-inner': {
display: 'inline-block',
verticalAlign: 'middle'
},
'.ap-upload-aligner': {
display: 'inline-block',
width: '1px',
marginRight: '-1px',
height: '100%',
boxSizing: 'border-box',
verticalAlign: 'middle'
},
'.ap-upload .ap-spinner': {
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
zIndex: 8,
backgroundColor: '' + backgroundColor,
color: '#DDD'
},
'.ap-upload-preview-image': {
display: 'inline-block',
boxSizing: 'border-box',
zIndex: 4,
position: 'absolute',
left: 0,
top: 0,
right: 0,
bottom: 0,
pointerEvents: 'none',
border: '1px solid #AAA'
},
'.ap-upload-remove-button': {
display: 'inline-block',
position: 'absolute',
right: 0,
top: 0,
zIndex: 5,
margin: 0,
border: 'none',
padding: '8px',
fontSize: '24px',
color: '#AAA',
background: 'rgba(255,255,255,0.2)',
borderRadius: 0
},
'.ap-upload-remove-button:hover': {
opacity: 1,
boxShadow: 'none',
color: '#555'
},
'.ap-upload-remove-button:active': {
opacity: 1,
boxShadow: 'none',
color: '#555'
}
}
};
}
},
render: function render() {
var s = this;
var props = s.props;
var _ApUploadStyle$styleD = ApUploadStyle.styleData(props),
all = _ApUploadStyle$styleD.all,
small = _ApUploadStyle$styleD.small,
medium = _ApUploadStyle$styleD.medium,
large = _ApUploadStyle$styleD.large;
return _react2.default.createElement(
_apemanReactStyle.ApStyle,
{ data: (0, _assign2.default)(all, props.style),
smallMediaData: small,
mediumMediaData: medium,
largeMediaData: large
},
props.children
);
}
});
exports.default = ApUploadStyle;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwX3VwbG9hZF9zdHlsZS5qc3giXSwibmFtZXMiOlsiQXBVcGxvYWRTdHlsZSIsImNyZWF0ZUNsYXNzIiwicHJvcFR5cGVzIiwic3R5bGUiLCJvYmplY3QiLCJoaWdobGlnaHRDb2xvciIsInN0cmluZyIsImJhY2tncm91bmRDb2xvciIsImdldERlZmF1bHRQcm9wcyIsIkRFRkFVTFRfSElHSExJR0hUX0NPTE9SIiwiREVGQVVMVF9CQUNLR1JPVU5EX0NPTE9SIiwic3RhdGljcyIsInN0eWxlRGF0YSIsImNvbmZpZyIsImFsbCIsInBvc2l0aW9uIiwiZGlzcGxheSIsImNvbG9yIiwib3ZlcmZsb3ciLCJ0ZXh0U2hhZG93Iiwib3BhY2l0eSIsInpJbmRleCIsInRleHRBbGlnbiIsImJveFNpemluZyIsImxlZnQiLCJ0b3AiLCJyaWdodCIsImJvdHRvbSIsInBvaW50ZXJFdmVudHMiLCJib3hTaGFkb3ciLCJib3JkZXIiLCJib3JkZXJSYWRpdXMiLCJjdXJzb3IiLCJmb250U2l6ZSIsInZlcnRpY2FsQWxpZ24iLCJ3aWR0aCIsIm1hcmdpblJpZ2h0IiwiaGVpZ2h0IiwibWFyZ2luIiwicGFkZGluZyIsImJhY2tncm91bmQiLCJyZW5kZXIiLCJzIiwicHJvcHMiLCJzbWFsbCIsIm1lZGl1bSIsImxhcmdlIiwiY2hpbGRyZW4iXSwibWFwcGluZ3MiOiJBQUFBOzs7OztBQUtBOzs7Ozs7Ozs7O0FBRUE7Ozs7QUFDQTs7OztBQUVBO0FBQ0EsSUFBTUEsZ0JBQWdCLGdCQUFNQyxXQUFOLENBQWtCO0FBQUE7O0FBQ3RDQyxhQUFXO0FBQ1RDLFdBQU8saUJBQU1DLE1BREo7QUFFVEMsb0JBQWdCLGlCQUFNQyxNQUZiO0FBR1RDLHFCQUFpQixpQkFBTUQ7QUFIZCxHQUQyQjtBQU10Q0UsaUJBTnNDLDZCQU1uQjtBQUNqQixXQUFPO0FBQ0xMLGFBQU8sRUFERjtBQUVMRSxzQkFBZ0IsMEJBQVFJLHVCQUZuQjtBQUdMRix1QkFBaUIsMEJBQVFHO0FBSHBCLEtBQVA7QUFL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LFFBQU1DLElBQUksSUFBVjtBQURRLFFBRUZDLEtBRkUsR0FFUUQsQ0FGUixDQUVGQyxLQUZFOztBQUFBLGdDQUk0QjNDLGNBQWNZLFNBQWQsQ0FBd0IrQixLQUF4QixDQUo1QjtBQUFBLFFBSUY3QixHQUpFLHlCQUlGQSxHQUpFO0FBQUEsUUFJRzhCLEtBSkgseUJBSUdBLEtBSkg7QUFBQSxRQUlVQyxNQUpWLHlCQUlVQSxNQUpWO0FBQUEsUUFJa0JDLEtBSmxCLHlCQUlrQkEsS0FKbEI7O0FBTVIsV0FDRTtBQUFBO0FBQUEsUUFBUyxNQUFPLHNCQUFjaEMsR0FBZCxFQUFtQjZCLE1BQU14QyxLQUF6QixDQUFoQjtBQUNTLHdCQUFpQnlDLEtBRDFCO0FBRVMseUJBQWtCQyxNQUYzQjtBQUdTLHdCQUFpQkM7QUFIMUI7QUFJR0gsWUFBTUk7QUFKVCxLQURGO0FBT0Q7QUFySXFDLENBQWxCLENBQXRCOztrQkF3SWUvQyxhIiwiZmlsZSI6ImFwX3VwbG9hZF9zdHlsZS5qc3giLCJzb3VyY2VSb290IjoibGliIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTdHlsZSBmb3IgQXBVcGxvYWQuXG4gKiBAY2xhc3MgQXBVcGxvYWRTdHlsZVxuICovXG5cbid1c2Ugc3RyaWN0J1xuXG5pbXBvcnQgUmVhY3QsIHtQcm9wVHlwZXMgYXMgdHlwZXN9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtBcFN0eWxlfSBmcm9tICdhcGVtYW4tcmVhY3Qtc3R5bGUnXG5cbi8qKiBAbGVuZHMgQXBVcGxvYWRTdHlsZSAqL1xuY29uc3QgQXBVcGxvYWRTdHlsZSA9IFJlYWN0LmNyZWF0ZUNsYXNzKHtcbiAgcHJvcFR5cGVzOiB7XG4gICAgc3R5bGU6IHR5cGVzLm9iamVjdCxcbiAgICBoaWdobGlnaHRDb2xvcjogdHlwZXMuc3RyaW5nLFxuICAgIGJhY2tncm91bmRDb2xvcjogdHlwZXMuc3RyaW5nXG4gIH0sXG4gIGdldERlZmF1bHRQcm9wcyAoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0eWxlOiB7fSxcbiAgICAgIGhpZ2hsaWdodENvbG9yOiBBcFN0eWxlLkRFRkFVTFRfSElHSExJR0hUX0NPTE9SLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBBcFN0eWxlLkRFRkFVTFRfQkFDS0dST1VORF9DT0xPUlxuICAgIH1cbiAgfSxcbiAgc3RhdGljczoge1xuICAgIHN0eWxlRGF0YSAoY29uZmlnKSB7XG4gICAgICBsZXQgeyBoaWdobGlnaHRDb2xvciwgYmFja2dyb3VuZENvbG9yIH0gPSBjb25maWdcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFsbDoge1xuICAgICAgICAgICcuYXAtdXBsb2FkJzoge1xuICAgICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgICAgICAgICAgIGNvbG9yOiAnIzg4OCcsXG4gICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbidcbiAgICAgICAgICB9LFxuICAgICAgICAgICcuYXAtdXBsb2FkOmhvdmVyJzoge1xuICAgICAgICAgICAgY29sb3I6ICcjNTU1J1xuICAgICAgICAgIH0sXG4gICAgICAgICAgJy5hcC11cGxvYWQ6YWN0aXZlJzoge1xuICAgICAgICAgICAgdGV4dFNoYWRvdzogJ25vbmUnLFxuICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgIGNvbG9yOiAnIzc3NydcbiAgICAgICAgICB9LFxuICAgICAgICAgICcuYXAtdXBsb2FkLWxhYmVsJzoge1xuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICB6SW5kZXg6IDEsXG4gICAgICAgICAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgICAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICBib3R0b206IDAsXG4gICAgICAgICAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGAke2JhY2tncm91bmRDb2xvcn1gLFxuICAgICAgICAgICAgYm94U2hhZG93OiAnaW5zZXQgMXB4IDFweCAycHggcmdiYSgwLDAsMCwwLjMzKScsXG4gICAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgI0NDQycsXG4gICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcycHgnXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnLmFwLXVwbG9hZC1pbnB1dCc6IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgICAgICB6SW5kZXg6IDJcbiAgICAgICAgICB9LFxuICAgICAgICAgICcuYXAtdXBsb2FkLWljb24nOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgICAgICAgICAgZm9udFNpemU6ICcyZW0nXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnLmFwLXVwbG9hZC1sYWJlbC1pbm5lcic6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICAgICAgdmVydGljYWxBbGlnbjogJ21pZGRsZSdcbiAgICAgICAgICB9LFxuICAgICAgICAgICcuYXAtdXBsb2FkLWFsaWduZXInOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgICAgICAgICAgIHdpZHRoOiAnMXB4JyxcbiAgICAgICAgICAgIG1hcmdpblJpZ2h0OiAnLTFweCcsXG4gICAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgICAgICAgdmVydGljYWxBbGlnbjogJ21pZGRsZSdcbiAgICAgICAgICB9LFxuICAgICAgICAgICcuYXAtdXBsb2FkIC5hcC1zcGlubmVyJzoge1xuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICBib3R0b206IDAsXG4gICAgICAgICAgICB6SW5kZXg6IDgsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGAke2JhY2tncm91bmRDb2xvcn1gLFxuICAgICAgICAgICAgY29sb3I6ICcjREREJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgJy5hcC11cGxvYWQtcHJldmlldy1pbWFnZSc6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICAgICAgICB6SW5kZXg6IDQsXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICByaWdodDogMCxcbiAgICAgICAgICAgIGJvdHRvbTogMCxcbiAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgICAgIGJvcmRlcjogJzFweCBzb2xpZCAjQUFBJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgJy5hcC11cGxvYWQtcmVtb3ZlLWJ1dHRvbic6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICByaWdodDogMCxcbiAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgIHpJbmRleDogNSxcbiAgICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxuICAgICAgICAgICAgcGFkZGluZzogJzhweCcsXG4gICAgICAgICAgICBmb250U2l6ZTogJzI0cHgnLFxuICAgICAgICAgICAgY29sb3I6ICcjQUFBJyxcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuMiknLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAwXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnLmFwLXVwbG9hZC1yZW1vdmUtYnV0dG9uOmhvdmVyJzoge1xuICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgICAgICAgICAgY29sb3I6ICcjNTU1J1xuICAgICAgICAgIH0sXG4gICAgICAgICAgJy5hcC11cGxvYWQtcmVtb3ZlLWJ1dHRvbjphY3RpdmUnOiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgICAgYm94U2hhZG93OiAnbm9uZScsXG4gICAgICAgICAgICBjb2xvcjogJyM1NTUnXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LFxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHMgPSB0aGlzXG4gICAgbGV0IHsgcHJvcHMgfSA9IHNcblxuICAgIGxldCB7IGFsbCwgc21hbGwsIG1lZGl1bSwgbGFyZ2UgfSA9IEFwVXBsb2FkU3R5bGUuc3R5bGVEYXRhKHByb3BzKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxBcFN0eWxlIGRhdGE9eyBPYmplY3QuYXNzaWduKGFsbCwgcHJvcHMuc3R5bGUpIH1cbiAgICAgICAgICAgICAgIHNtYWxsTWVkaWFEYXRhPXsgc21hbGwgfVxuICAgICAgICAgICAgICAgbWVkaXVtTWVkaWFEYXRhPXsgbWVkaXVtIH1cbiAgICAgICAgICAgICAgIGxhcmdlTWVkaWFEYXRhPXsgbGFyZ2UgfVxuICAgICAgPnsgcHJvcHMuY2hpbGRyZW4gfTwvQXBTdHlsZT5cbiAgICApXG4gIH1cbn0pXG5cbmV4cG9ydCBkZWZhdWx0IEFwVXBsb2FkU3R5bGVcbiJdfQ==