- Add Various Accessibility Properties #290
- adds rolls and accessibility states for selected state, expanded state
- readme fixes #275, #287
- remove accidental console log #259
- Changed the way styles and colors are recalculated. Style/color prop changes will now correctly reflect to sub items. This isn't a breaking change per se but it will cause different results to previous versions when changing styles/colors dynamically.
- More type related fixes
- IconRenderer prop should have been required
- more type related fixes
- added exampleapp version using typescript with ItemType generic and ref methods
- onChangeSearchText event #210
-
Various types fixes
- all props that return components are now
ReactNode. #253 iconsindividual icon objects are now optional and allow any extra properties you wish to be added to your icon component. #253 #232- added types for some useful internal methods.
- all props that return components are now
-
Fix TypeError: undefined is not an object (evaluating 'item[subKey]') with unpopulated items. #237
- React Native's UIManager.setLayoutAnimationEnabledExperimental causing tests fail. This version has fix for it. \n Details:
TypeError: _reactNative.UIManager.setLayoutAnimationEnabledExperimental is not a function- 0.7.8 introduced a bug with an attempted fix of the iconRenderer. This update addresses that and icons in general.
- the
iconsprop is an object that maps the names and sizes used for the icons (all properties are spread onto theIconRenderer). In conjunction withIconRendereryou can now easily switch out the icon library. See Icons section of Readme.
- BREAKING:
IconRendereris now required (also note the casing change). The lib no longer depends onreact-native-vector-icons. For the default Material Icons icon set, you must import Icon fromreact-native-vector-icons/MaterialIconsyourself, and pass that to theIconRendererprop. See Icons section of Readme.
- fix global icon assignment #203
- check for subkey here idk #173
- fix recipe #111
- types definition fixes
- fixed chip padding when using
hideChipRemove
- added
hideChipRemoveboolean prop to hide chips' remove (x) touchable #150
- added type definitions file #63
- remove
ScrollViewthat wraps theFlatList#151 (the style prop remains as scrollView for now but the element is a View)
- remove deprecated
componentWillReceiveProps#147 - fix subitem
iconRendererusage #142
- added
itemsFlatListPropsandsubItemsFlatListPropsto be able to pass in custom FlatList props object
- fixed regression with backdrop / SafeAreaView. Styles:
modalWrapperwraps the modal andbackdropis the backdrop view inside it.
- Added
iconRendererprop. Material Icons is no longer required to be installed fo the lib to work. You can passiconRendereryour own icon component function. - Added Recipes doc with more details customization examples.
- Made readme example more concise
- cleand up example app style
- fixed bug with backdropView +
modalWithTouchabletaking touches from select list. - fixed a couple of cases where items didn't update / future proofed chip remove working inside modal
- added
parentChipsRemoveChildrenboolean prop. If true, pressing a parent chip's remove button will remove all of its selected children. - added
parentChipContainerandparentChipTextto styles, so you can style parent item chips differently. - added
selectedIconOnLeftboolean prop. If true, selected icons show to the left of the text. #104 - added
selectedSubItemto styles
- added
unselectedIconComponent#93
- added ability to show an icon before the item text #87. Use prop
iconKey, then add the key to your item as either a string (to show a material iconsIconcomponent byname), object (to show an image e.g {uri: 'imageUrl' }, or a number (that is returned from require('./localimage.png') )). use style keyitemIconStyleto style the Icon / Image - added
autoFocusprop (bool) #86, to autofocus the search input when the modal is opened.
- Add
modalWithTouchableprop. Set to true to wrap the backdrop in aTouchableWithoutFeedback, which will close the selector (also firesonToggleSelector(false)) #76
- properly escape regex special chars for test in filter function #64
- Add
hideConfirmprop - hides the confirm button from the modal #62 - Add
stickyFooterComponentshows below the confirm button (but, unlikefooterComponent, outside of the scroll view so it's always visible) - Add
chipsPositionto position the chips above or below the select. Sstring, either 'top' or 'bottom' #56 - Add
customChipsRendererfunction. receives all props. #56 - Add
modalSafeAreaViewprop. Set to true to use aSafeAreaViewinstead of aViewas the backdrop inside theModal.
- prevent crash when pressing select toggle rapidly
- fix formatting of this document
- Add
onToggleSelectorcallback function #48 - Add
noItemsComponentto be shown when there are no items - Add
loadingboolean prop for loading state
- Change
loadingComponentto be shown whenloadingprop is true (previously was shown when items were empty)
- Added
keyboardShouldPersistTapsprops where needed
- Add
selectedItemTextandselectedSubItemTextstyles (previously only the parent view style was editable when selected).
- Add
chipRemoveIconComponent, this icon wasn't user replaceable before. - Add
filterItemsfunction prop. It will replace the filter used for searching. parameters aresearchTerm,items,props. You need to return an array of item objects. (example inexampleapp/App.js).
- Add
expandDropDownsprop. Set to true to expand all parent dropdowns (when usingshowDropDowns). - Add
animateDropDownsprop. Set to false to not use LayoutAnimation when toggling the dropdowns. - Add
customLayoutAnimationprop. Use your own LayoutAnimation preset or custom layout animation object for the toggling of dropdowns. - Add
selectLabelNumberOfLinesprop. - Add
renderSelectTextfunction that receives props. This allows you to fully customize what the select label says and when, overridingselectText,selectedTextetc.
numberOfLinesis nowitemNumberOfLines, to avoid confusion.- There were serious perf issues for things like toggling dropdowns with larger lists. To mitigate this, the sub items have been moved inside of the parent items and some functions have been rafactored or moved. The only noticeable difference should be that the parent item's
itemSeparatorshows at the bottom of the group of items, rather than always being directly below the parent item.
- Cast keyExtractor ids to string #31
- Should be generally faster...
- Removed lodash dependency: replaced get and reject functions with internal functions.
alwaysShowSelectTextprop - if true the select label won't show the amount selected +selectedTextor the name of the selected item if only one items is selected. Not applied whensingleis true as single shows thedispayKeyon the select label only. #23searchAdornmentprop - function that receives the text of the search input, and is output on the right hand side of the search input. Useful if you need to do something with the search text like add a new item.
- disabled items
- sub item Touchable wasn't being disabled when a truthy disabled key is present
- make item text colors.disabled when item has truthy disabled key
- cancel / confirm buttons not displaying properly on iOS. Cancel takes a fixed width instead of a flex ratio now. #19
- Cancel button #15
- shows on the modal to the left of the confirm button. Pressing it dismisses the modal AND removes all selected items.
- show with
showCancelButtonprop. cancelButtonstyle andcancelIconComponentare available. (It is a 'close' icon by default, but you could make it a text component if you want).
- Hide select #16
- hide the select entirely with
hideSelectprop.
- hide the select entirely with
- Display key #14
- customize the title key with
displayKeyprop, instaed of being forced to use 'name'.
- customize the title key with
- Added
headerComponentprop - goes above search bar #17 - Added
onCancelandonConfirmfunction props
SelectedTextnow allowed to be a function, for more complex translations/
- customizable
selectedTextstring (defaults to 'selected'). #13
- fixed
onSelectedItemObjectsChangefor single select mode #9
- Added
numberOfLinesprop, so long labels can be truncated (defaults to null - no truncation).
- add flex to label text so checkmark is visible for long items
- Make remove all chip use chipColor
- Add changelog to Readme
- disabled color. When highlightChildren is true, the child checkmarks become the disabled color
- highlighted children TouchableOpacity disabled. You can't / it doesn't make sense to cherry pick sub items in this mode
- Custom component for no results text
noResultsComponent- More customizable than a string.
- custom component for loading
loadingComponent- display an ActivityIndicator (default) component when items are empty / undefined
- Custom components for icons
selectToggleIconComponent- The icon to the right of the dropdown in its initial state (Default arrow down)searchIconComponent- The search input icon (default Magnifying glass)selectedIconComponent- The icon to the left of the selected item (default Checkmark)dropDownToggleIconUpComponent- The parent dropdown icon in closed statedropDownToggleIconDownComponent- The parent dropdown icon in opened state
- Select all child ids when a parent is selected
selectChildren- boolean
- Highlight (but don't broadcast to state) all child ids when a parent is selected
highlightChildren- boolean
- Removed No results text string in favour of a component (object) to allow for more customization.
- removed / streamlined fonts
- Moved row item and sub item to separate classes, in order to enhance performance for long lists. Use
shouldComponentUpdateto not re-render every item on toggle. - moved RowItem and SubRowItem into separate files
- fixed
reduceSelectedfunction - rejecting children works properly now - Erroneously used
item.idinstead ofitem[uniqueKey]
hideSearchProp to hide search bar entirely
- Style for sub item separator
- Props for Modal animation and orientation
- Init