From 21d15159965915e4fbe0085b73e6b9e095bda146 Mon Sep 17 00:00:00 2001 From: Clemens Wehrmann Date: Tue, 25 Oct 2016 11:27:52 +0200 Subject: [PATCH] fix(Item.Image): Add ui class to wrapped Image to enable size property to work * Resolves #746 * Add ui class only for sized images * Renders similar to the example at http://semantic-ui.com/views/item.html#image * Images now render left aligned and sized. --- src/views/Item/ItemImage.js | 13 +++++++++++-- test/specs/views/Item/ItemImage-test.js | 5 +++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/views/Item/ItemImage.js b/src/views/Item/ItemImage.js index 59d49b1ec2..5f01c5431b 100644 --- a/src/views/Item/ItemImage.js +++ b/src/views/Item/ItemImage.js @@ -1,6 +1,7 @@ -import React from 'react' +import React, { PropTypes } from 'react' import { META, + getUnhandledProps, } from '../../lib' import Image from '../../elements/Image' @@ -8,7 +9,10 @@ import Image from '../../elements/Image' * An item can contain an image **/ function ItemImage(props) { - return + const { size } = props + const rest = getUnhandledProps(ItemImage, props) + + return } ItemImage._meta = { @@ -17,4 +21,9 @@ ItemImage._meta = { type: META.TYPES.VIEW, } +ItemImage.propTypes = { + /** An image may appear at different sizes */ + size: PropTypes.oneOf(Image._meta.props.size), +} + export default ItemImage diff --git a/test/specs/views/Item/ItemImage-test.js b/test/specs/views/Item/ItemImage-test.js index 820f580db0..fa4ba9fe6a 100644 --- a/test/specs/views/Item/ItemImage-test.js +++ b/test/specs/views/Item/ItemImage-test.js @@ -13,4 +13,9 @@ describe('ItemImage', () => { wrapper.should.have.prop('wrapped', true) wrapper.should.have.prop('ui', false) }) + + it('has ui with size prop', () => { + shallow() + .should.have.prop('ui', true) + }) })