UNPKG

mini.css-inferno

Version:
38 lines (31 loc) 1.64 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.Image = Image; var _infernoCreateElement = require('inferno-create-element'); var _infernoCreateElement2 = _interopRequireDefault(_infernoCreateElement); var _idGenerator = require('./util/idGenerator'); var _idGenerator2 = _interopRequireDefault(_idGenerator); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // Image component. function Image(props) { var outProps = Object.assign({}, props); if (typeof outProps.src === 'undefined') throw 'Error: An \'Image\' component must have a \'src\' property.'; if (typeof outProps.alt === 'undefined' && typeof outProps.description === 'undefined') throw 'Error: An \'Image\' component must have an \'alt\' and/or \'description\' property.'; if (typeof outProps.alt === 'undefined') outProps.alt = outProps.description; if (typeof outProps.description === 'undefined') outProps.description = outProps.alt; if (typeof outProps.id === 'undefined') outProps.id = 'image_' + (0, _idGenerator2.default)(); var imgProps = Object.assign({}, outProps); delete imgProps.description; imgProps.id += '_img'; imgProps.key += imgProps.id; outProps.children = []; outProps.children.push((0, _infernoCreateElement2.default)('img', imgProps)); outProps.children.push((0, _infernoCreateElement2.default)('figcaption', { id: outProps.id + '_figcaption', key: outProps.id + '_figcaption' }, outProps.description)); delete outProps.description; return (0, _infernoCreateElement2.default)('figure', outProps, outProps.children); }