react-autowhatever
Advanced tools
Comparing version 4.2.0 to 4.3.0
@@ -44,2 +44,14 @@ 'use strict'; | ||
}; | ||
var emptyObject = {}; | ||
var defaultTheme = { | ||
container: 'react-autowhatever__container', | ||
containerOpen: 'react-autowhatever__container--open', | ||
input: 'react-autowhatever__input', | ||
itemsContainer: 'react-autowhatever__items-container', | ||
item: 'react-autowhatever__item', | ||
itemFocused: 'react-autowhatever__item--focused', | ||
sectionContainer: 'react-autowhatever__section-container', | ||
sectionTitle: 'react-autowhatever__section-title', | ||
sectionItemsContainer: 'react-autowhatever__section-items-container' | ||
}; | ||
@@ -160,2 +172,3 @@ var Autowhatever = function (_Component) { | ||
var renderItem = _props.renderItem; | ||
var renderItemData = _props.renderItemData; | ||
var shouldRenderSection = _props.shouldRenderSection; | ||
@@ -194,2 +207,3 @@ var renderSectionTitle = _props.renderSectionTitle; | ||
renderItem: renderItem, | ||
renderItemData: renderItemData, | ||
sectionIndex: sectionIndex, | ||
@@ -220,2 +234,3 @@ focusedItemIndex: focusedSectionIndex === sectionIndex ? focusedItemIndex : null, | ||
var renderItem = _props2.renderItem; | ||
var renderItemData = _props2.renderItemData; | ||
var focusedSectionIndex = _props2.focusedSectionIndex; | ||
@@ -231,2 +246,3 @@ var focusedItemIndex = _props2.focusedItemIndex; | ||
renderItem: renderItem, | ||
renderItemData: renderItemData, | ||
focusedItemIndex: focusedSectionIndex === null ? focusedItemIndex : null, | ||
@@ -313,2 +329,3 @@ getItemId: this.getItemId, | ||
renderItem: _react.PropTypes.func, // This function renders a single item. | ||
renderItemData: _react.PropTypes.object, // Arbitrary data that will be passed to renderItem() | ||
shouldRenderSection: _react.PropTypes.func, // This function gets a section and returns whether it should be rendered, or not. | ||
@@ -331,2 +348,3 @@ renderSectionTitle: _react.PropTypes.func, // This function gets a section and renders its title. | ||
}, | ||
renderItemData: emptyObject, | ||
renderSectionTitle: function renderSectionTitle() { | ||
@@ -338,18 +356,8 @@ throw new Error('`renderSectionTitle` must be provided'); | ||
}, | ||
inputProps: {}, | ||
itemProps: {}, | ||
inputProps: emptyObject, | ||
itemProps: emptyObject, | ||
focusedSectionIndex: null, | ||
focusedItemIndex: null, | ||
theme: { | ||
container: 'react-autowhatever__container', | ||
containerOpen: 'react-autowhatever__container--open', | ||
input: 'react-autowhatever__input', | ||
itemsContainer: 'react-autowhatever__items-container', | ||
item: 'react-autowhatever__item', | ||
itemFocused: 'react-autowhatever__item--focused', | ||
sectionContainer: 'react-autowhatever__section-container', | ||
sectionTitle: 'react-autowhatever__section-title', | ||
sectionItemsContainer: 'react-autowhatever__section-items-container' | ||
} | ||
theme: defaultTheme | ||
}; | ||
exports.default = Autowhatever; |
@@ -48,3 +48,3 @@ 'use strict'; | ||
value: function shouldComponentUpdate(nextProps) { | ||
return (0, _compareObjects2.default)(nextProps, this.props); | ||
return (0, _compareObjects2.default)(nextProps, this.props, ['renderItemData']); | ||
} | ||
@@ -104,4 +104,5 @@ }, { | ||
var renderItem = _props5.renderItem; | ||
var renderItemData = _props5.renderItemData; | ||
var restProps = _objectWithoutProperties(_props5, ['item', 'renderItem']); | ||
var restProps = _objectWithoutProperties(_props5, ['item', 'renderItem', 'renderItemData']); | ||
@@ -130,3 +131,3 @@ delete restProps.sectionIndex; | ||
_extends({ role: 'option' }, restProps, { ref: this.storeItemReference }), | ||
renderItem(item) | ||
renderItem(item, renderItemData) | ||
); | ||
@@ -144,2 +145,3 @@ } | ||
renderItem: _react.PropTypes.func.isRequired, | ||
renderItemData: _react.PropTypes.object.isRequired, | ||
onMouseEnter: _react.PropTypes.func, | ||
@@ -146,0 +148,0 @@ onMouseLeave: _react.PropTypes.func, |
@@ -47,3 +47,3 @@ 'use strict'; | ||
value: function componentDidMount() { | ||
this.ensureFocusedSuggestionIsVisible(); | ||
this.ensureFocusedItemIsVisible(); | ||
} | ||
@@ -58,3 +58,3 @@ }, { | ||
value: function componentDidUpdate() { | ||
this.ensureFocusedSuggestionIsVisible(); | ||
this.ensureFocusedItemIsVisible(); | ||
} | ||
@@ -76,4 +76,4 @@ }, { | ||
}, { | ||
key: 'ensureFocusedSuggestionIsVisible', | ||
value: function ensureFocusedSuggestionIsVisible() { | ||
key: 'ensureFocusedItemIsVisible', | ||
value: function ensureFocusedItemIsVisible() { | ||
if (!this.focusedItem) { | ||
@@ -112,2 +112,3 @@ return; | ||
var renderItem = _props.renderItem; | ||
var renderItemData = _props.renderItemData; | ||
var sectionIndex = _props.sectionIndex; | ||
@@ -148,3 +149,4 @@ var focusedItemIndex = _props.focusedItemIndex; | ||
item: item, | ||
renderItem: renderItem })); | ||
renderItem: renderItem, | ||
renderItemData: renderItemData })); | ||
/* eslint-enable react/jsx-key */ | ||
@@ -164,2 +166,3 @@ }) | ||
renderItem: _react.PropTypes.func.isRequired, | ||
renderItemData: _react.PropTypes.object.isRequired, | ||
sectionIndex: _react.PropTypes.number, | ||
@@ -166,0 +169,0 @@ focusedItemIndex: _react.PropTypes.number, |
{ | ||
"name": "react-autowhatever", | ||
"version": "4.2.0", | ||
"version": "4.3.0", | ||
"description": "Accessible rendering layer for Autosuggest and Autocomplete components", | ||
@@ -34,2 +34,3 @@ "main": "dist/Autowhatever.js", | ||
"autoprefixer": "^6.3.6", | ||
"autosuggest-highlight": "^2.1.1", | ||
"babel-cli": "^6.8.0", | ||
@@ -45,5 +46,5 @@ "babel-core": "^6.8.0", | ||
"css-loader": "^0.23.1", | ||
"eslint": "^3.0.1", | ||
"eslint": "^3.2.0", | ||
"eslint-plugin-mocha": "^4.2.0", | ||
"eslint-plugin-react": "^6.0.0-alpha.1", | ||
"eslint-plugin-react": "^6.0.0-rc.0", | ||
"extract-text-webpack-plugin": "^1.0.1", | ||
@@ -50,0 +51,0 @@ "jsdom": "^9.4.1", |
36135
656
32