UNPKG

apeman-react-photo

Version:
92 lines (85 loc) 2.46 kB
/** * Style for ApPaperPhoto. * @class ApPaperPhotoStyle */ 'use strict' import React, {PropTypes as types} from 'react' import {ApStyle} from 'apeman-react-style' /** @lends ApPaperPhotoStyle */ let ApPaperPhotoStyle = React.createClass({ propTypes: { style: types.object }, getDefaultProps () { return { style: {} } }, render () { const s = this let { props } = s let shadowSize = 15 let shadowDense = 0.33 let data = { '.ap-paper-photo': { display: 'inline-block', boxShadow: '1px 1px 2px rgba(0,0,0,0.33)', border: '1px solid #E0E0E0', borderRadius: '2px', padding: '8px 8px 32px', position: 'relative', boxSizing: 'border-box', backgroundColor: 'white' }, '.ap-paper-photo-shadow': { transform: 'rotate(-3deg)', background: `none repeat scroll 0 0 rgba(0, 0, 0, ${shadowDense})`, boxShadow: `0 ${shadowSize}px ${shadowSize}px rgba(0, 0, 0, ${shadowDense})`, position: 'absolute', top: 'auto', bottom: `${shadowSize}px`, width: '50%', height: `${shadowSize}px`, zIndex: '-1' }, '.ap-paper-photo-shadow-right': { transform: 'rotate(3deg)', left: 'auto', right: `${shadowSize / 2}px` }, '.ap-paper-photo .ap-image': { border: '1px solid #EEE', position: 'relative', zIndex: '1' }, '.ap-paper-photo-text': { position: 'absolute', zIndex: '2' }, '.ap-paper-photo.ap-photo-tappable': { cursor: 'pointer' }, '.ap-paper-photo.ap-photo-tappable:hover': {}, '.ap-paper-photo.ap-photo-tappable:hover .ap-paper-photo-shadow': { boxShadow: `0 ${shadowSize + 1}px ${shadowSize}px rgba(0, 0, 0, ${shadowDense})` }, '.ap-paper-photo.ap-photo-tappable:active': { boxShadow: 'none' }, '.ap-paper-photo.ap-photo-tappable:active .ap-paper-photo-shadow': { display: 'none' } } let smallMediaData = {} let mediumMediaData = {} let largeMediaData = {} return ( <ApStyle data={ Object.assign(data, props.style) } smallMediaData={ smallMediaData } mediumMediaData={ mediumMediaData } largeMediaData={ largeMediaData } >{ props.children }</ApStyle> ) } }) export default ApPaperPhotoStyle;