Base
Base
A general purpose component that converts props into stylesdefined by our theme. It's heavily inspired by the Basecomponent provided by rebass.
Props
Componentany
Custom Component
baseStyleany
The base style will be supplanted by style props, or regular style properties.
styleany
Regular style attribute
underlayColorstring
Underlay color. Use ‘darken’ to automatically darken the backgroundColor.
menum(0,1,2,3,4)
Margin based on the configured scale
mtenum(0,1,2,3,4)
Margin top based on the configured scale
mrenum(0,1,2,3,4)
Margin right based on the configured scale
mbenum(0,1,2,3,4)
Margin bottom based on the configured scale
mlenum(0,1,2,3,4)
Margin left based on the configured scale
mxenum(0,1,2,3,4)
Margin x-axis based on the configured scale
myenum(0,1,2,3,4)
Margin y-asix based on the configured scale
penum(0,1,2,3,4)
Padding based on the configured scale
ptenum(0,1,2,3,4)
Padding top based on the configured scale
prenum(0,1,2,3,4)
Padding right based on the configured scale
pbenum(0,1,2,3,4)
Padding bottom based on the configured scale
plenum(0,1,2,3,4)
Padding left based on the configured scale
pxenum(0,1,2,3,4)
Padding x-axis based on the configured scale
pyenum(0,1,2,3,4)
Padding y-axis based on the configured scale
backgroundColorstring
Background color.
roundedunion(bool,number)
Border radius
borderColorstring
Border color
flexnumber
Flex property
wrapbool
Flex-wrap property
columnbool
Set the flex-direction to column
rowbool
Set the flex-direction to row
alignstring
Align-items property
justifystring
Justify-content property
heightnumber
The height of the element
widthnumber
The width of the element
TextBase
A general purpose text component whichconverts props into styles defined in the configuration.Unlike Base, TextBase supports special Text props.
Props
Componentany
styleany
baseStyleany
fontSizeenum(0,1,2,3,4,5,6)
text size *
lineHeightenum(0,1,2,3,4,5,6)
text lineheight *
defaultValue:1
colorstring
text colour *
defaultValue:'default'
textAlignstring
text alignment *
boldbool
bold font weight *
thinbool
thin font weight *
thickbool
thick font weight *
invertedbool
use the inverted color (by default, white) *
menum(0,1,2,3,4)
Margin *
mtenum(0,1,2,3,4)
Margin top *
mrenum(0,1,2,3,4)
Margin right *
mbenum(0,1,2,3,4)
Margin bottom *
mlenum(0,1,2,3,4)
Margin left *
mxenum(0,1,2,3,4)
Margin x-axis *
myenum(0,1,2,3,4)
Margin y-asix *
penum(0,1,2,3,4)
Padding *
ptenum(0,1,2,3,4)
Padding top *
prenum(0,1,2,3,4)
Padding right *
pbenum(0,1,2,3,4)
Padding bottom *
plenum(0,1,2,3,4)
Padding left *
pxenum(0,1,2,3,4)
Padding x-axis *
pyenum(0,1,2,3,4)
Padding y-axis *
backgroundColorstring
Background color *
roundedunion(bool,number)
Border radius *
borderColorstring
Border color *
flexnumber
flex property *
wrapbool
flex-wrap property *
columnbool
set flex-direction to column *
rowbool
set flex-direction to row *
alignstring
set align-items property *
justifystring
set justify-content property *
heightnumber
set the height of the element *
widthnumber
set the width of the element *
Buttons
Button
A basic button that inherits from Base, and provides colourizationbased upon background color configuration.
 Composes: Base, Text, Icon 
Props
tinybool
button size
smallbool
mediumbool
largebool
giantbool
primarybool
Uses the primary colour to style the button.
secondarybool
Uses the secondary colour to style the button.
positivebool
Uses the positive colour to style the button.
negativebool
Uses the negative colour to style the button.
defaultbool
Uses the midgray colour to style the button.
outlinebool
Use an outline button style *
defaultValue:false
disabledbool
disables the button, and reduces its opacity
defaultValue:false
roundedunion(number,bool)
defaultValue:6
onPressfunc
underlayColorstring
backgroundColorstring
borderColorstring
blockbool
stretch the button width
defaultValue:false
iconunion(string,node)
optional icon string or node
size__
defaultValue:'medium'
ButtonGroup
Props
roundedunion(bool,number)
verticalbool
segmentedbool
A helper to create segemented controls that align together *
Card
Card
A very basic Card wrapper
 Composes: Base 
Props
invertedbool
CardHeader
A very basic card header, which includes an optional avatar,title, subtitle, and children
 Composes: Base, Image, Text 
Props
avatarunion(string,node)
titleunion(string,node)
subtitleunion(string,node)
Icons
BaseIcon
Our base icon component that all other iconscompose. It uses ionicons, as provided byreact-native-vector-icons
Props
namestring (required)
sizenumber
defaultValue:25
Icon
Our base icon component that all other iconscompose. It uses Ionicons 3, as provided byreact-native-vector-icons on Android and iOS.To use this on the web, you must include a linktag to the Ionicons 3 stylesheet.Platforms:  ios, android, web
 Composes: TextBase 
Props
namestring
sizenumber
defaultValue:35
colorstring
BaseIcon
Props
sizenumber
defaultValue:25
namestring
CheckMark
A basic CheckMark that can either be uncheckedor checked.Platforms:  ios, android, web
 Composes: Base, Icon 
Props
isCheckedbool
defaultValue:false
sizenumber
defaultValue:30
uncheckedColorstring
defaultValue:'light'
checkedColorstring
defaultValue:'positive'
checkMarkIconNamestring
defaultValue:'ios-checkmark-circle-outline'
uncheckedIconNamestring
defaultValue:'ios-radio-button-off'
ArrowRightIcon
PlusIcon
CloseIcon
BackIcon
SearchIcon
MoreIcon
TouchableIcon
A touchable wrapper for <Icon />
Props
onPressfunc (required)
accessibilityLabelstring (required)
disabledbool
styleobject
Image
Image
Fade-in an image when it loads.
Props
fadebool
defaultValue:true
onLoadEndfunc
heightnumber
widthnumber
circularbool
set the border radius to be fully round (given an equal height/width)
defaultValue:false
styleany
sourceobject (required)
resizeModestring
defaultValue:'cover'
roundedunion(number,bool)
the border radius of the image
defaultValue:false
Input
Input
A basic input
 Composes: Text 
Props
tinybool
largebool
smallbool
mediumbool
giantbool
invertedbool
placeholderTextColorstring
defaultValue:'#888'
Nav
NavBar
Static navigation bar that mimics that foundwithin ReactNative. To be used when you want a staticrepresentation of the NavBar, without transitions.
 Composes: Base, NavTitle 
Props
titlestring
LeftButtonnode
RightButtonnode
styleany
transparentbool
backgroundColorstring
titleColorstring
invertedbool
NavIconContainer
A wrapper for <Icon /> that positions it correctlyin a navigation bar.
Props
NavTitle
Renders text stylized for the Navigation Bar title.On iOS it composes PrimaryText.On Android, it composes LargeText.
 Composes: Text 
Props
labelstring
colorstring
styleany
invertedbool
NavTouchableIcon
Wrap Icon components within NavTouchableIcon for displayof an Icon in the Navigation bar. You may need to fiddlearound with the sizing of the Icon on android and ios devicesto ensure that they look right.
Props
onPressfunc (required)
NavTouchableText
Makes a touchable text component for the NavBar. Typicallyused on iOS.
 Composes: TextBase 
Props
disabledbool
colorstring
defaultValue:'primary'
boldbool
invertedbool
Pages
ErrorPage
Display an error, with messages and actions dependingupon the user state. Particularly useful with Relay.Rendererwhen an error state and retry function are provided.
Props
retryfunc (required)
messagestring
defaultValue:'Hmm, loading appears to be taking a while.'
detailMessagestring
defaultValue:'It\'s possible that our server are under heavy load, ' + 'or that your internet connection is slow. Please try again.'
offlineMessagestring
defaultValue:'Please ensure that you are connected to the internet.'
styleany
isOfflinebool
defaultValue:false
invertedbool
Loader
Displays a loading indicator, and on iOS an optionalloading message.
Props
isLoadingbool
defaultValue:true
largebool
defaultValue:false
colorstring
defaultValue:'gray'
showTextbool
defaultValue:true
loadingTextstring
defaultValue:'Loading...'
alignTopbool
defaultValue:false
invertedbool
Popup
Popup
Props
showingbool (required)
onRequestClosefunc (required)
autoDismissbool
defaultValue:true
showCancelbool
defaultValue:true
backgroundColorstring
defaultValue:'rgba(0,0,0,0.6)'
modalPropsobject
defaultValue:{}
customHeadernode
optionsunion(arrayOf,arrayOf) (required)
Row
Divider
A simple component used to separate rows, with anoptional inset margin on the left or right.
Props
insetnumber
defaultValue:0
insetRightnumber
defaultValue:0
invertedbool
Use the inverted colour *
SectionHeader
SectionHeader is used for rendering a section header within a ListView.Supply text as the child.
 Composes: Base 
Props
backgroundColorstring
defaultValue:'gray'
TouchableRow
The basic RowCell for use within ListView. It displaysan image, primary text, secondary text, a value,and an arrow right icon if the respective props arespecified.Platforms:  ios, android, web
 Composes: TouchableRowCell, Image, Text 
Props
primaryTextunion(string,node)
secondaryTextunion(string,node)
valueunion(string,node)
A value attribute of the cell, to appear on the right
onPressfunc (required)
imageunion(object,node)
An thumbnail to be displayed on the left of the cell
heightnumber
invertedbool
showMorebool
Displays a right arrow on the right hand side of the cell
TouchableRowCell
A touchable row cell container, typically usedrendering rows in a <ListView>.
Props
onPressfunc
disabledbool
defaultValue:false
highlightedfunc
defaultValue:function noop () {}
showMorebool
defaultValue:true
showMorePropsobject
underlayColorstring
defaultValue:'rgba(0,0,0,0.1)'
heightnumber
RowInput
InputAddRow
An InputTouchable with a plus icon. This is typically usedwithin the context of an InputGroup consisting ofremovable inputs.Platforms:  ios, android, web
 Composes: InputTouchable, Icon 
Props
backgroundColorstring
onPressfunc (required)
labelstring (required)
disabledbool
InputDatePicker
InputDatePicker a cross-platform InputRow inputtingdates.On iOS devices, the row examples to revealDatePickerIOS when selected. The humanized date shouldbe supplied as the value prop, and it should beupdated when the value of the date-picker changes.On Anroid, the date-picker prompts the user to selecta date in a modal menu.Platforms:  ios, android
 Composes: InputTouchable 
Props
expandedbool (required)
onToggleExpansionfunc (required)
function called to toggle the visibility of the date-picker. (iOS only) *
valuestring
the currently selected date to be displayed in collapsed row. *
maxDatestring
minDatestring
labelstring
modestring
dateobject (required)
onDateChangefunc (required)
editablebool
defaultValue:true
invertedbool
InputDatePickerWeb
InputExpandable
An input row field that expands when pressed to reveal itschildren.Platforms: ios, android, web
Props
expandedbool (required)
Rownode (required)
InputGroup
Wrapping components with InputGroup gives you theoption of giving Inputs dividing borders, dividingborders with an inset, a top border (with a unique inset value),a bottom border (with a unique inset value), shared backgroundcolours, margins, and a label. You could supply your ownchild components, too.Platforms:  ios, android, web
 Composes: Base, Divider, SectionHeader 
Props
styleobject
insetnumber
left margin inset for the divider border (excluding top and bottom)
defaultValue:0
showTopBorderbool
show the top border
defaultValue:true
showBottomBorderbool
show the bottom border
defaultValue:true
showBorderbool
whether to show the dividing border
defaultValue:true
topInsetnumber
left margin inset for the top border
defaultValue:0
bottomInsetnumber
left margin inset for the bottom border
defaultValue:0
labelstring
a label for the input group
backgroundColorstring
invertedbool
InputHelpText
InputHelpText is typically used after an InputGroup tooffer additional information about the above inputs. This isjust a simple wrapper around Text with some paddingprovided, and the text color set to light.Platforms:  ios, android, web
 Composes: Text 
Props
invertedbool
InputPicker
InputPicker provides a unified API for Android and iOSpicker rows.On iOS, when the user selects the picker row, the row expands toreveal the children. The value prop that appears alongsidethe right of the picker row will typically be a humanizedversion of the selected value in the picker.On Android, we display the picker as the row itself. Whenselected, the picker prompt will occur. A label isrendered above the picker. The value prop is ignored,since the Android picker already prints the value for us.Platforms:  ios, android
 Composes: InputTouchable, InputExpandable 
Props
onToggleExpansionfunc (required)
a function called when toggling the visibility of the picker. (iOS only)
editablebool
defaultValue:true
valuestring
the picker value displayed in the row. (iOS only)
labelstring (required)
the label for the picker *
expandedbool
controls whether the picker is visible. (iOS only)
backgroundColorstring
RowActions
A collection of RowActions to be displayed behinda revealing row.
Props
styleany
RowAction
A row action that hide underneath the row, suchas 'Delete', or 'Edit', etc.
Props
RemoveButton
Remove button
InputRow
An Input field with a lot of added functionality. You'd typicallywant to wrap this within an InputGroup.Platforms:  ios, android, web
 Composes: RevealingRow, InputRowCell, RemoveButton, Input, Base, Text, RowAction, RowActions 
Props
labelstring
autoFocusbool
removablebool
defaultValue:false
placeholderstring
verticalbool
onSelectLabelfunc
onChangeTextfunc (required)
valueunion(string,node)
backgroundColorstring
defaultValue:'white'
editablebool
defaultValue:true
labelWidthnumber
verticalHeightnumber
defaultValue:80
onRequestRemovefunc
heightnumber
defaultValue:50
iconnode
invertedbool
condensedbool
multilinebool
InputRowCell
A simple component that is used to wrap various Input Rows.It provides a fixed height, and other default styles.Platforms:  ios, android, web
 Composes: Base 
Props
heightnumber
defaultValue:50
RevealOption
Input Option
Props
onPressfunc (required)
backgroundColorstring
defaultValue:'midgray'
labelstring (required)
textColorstring
defaultValue:'white'
InputRowRevealOptions
Revealable row options container. Typically usedto delete a row.
Props
heightnumber
defaultValue:40
optionsarray
InputToggle
A row with a label and switch, allowingthe user to toggle a boolean value.Platforms:  ios, android
 Composes: InputRowCell, Switch 
Props
styleany
valuebool (required)
backgroundColorstring
defaultValue:'transparent'
labelstring (required)
onValueChangefunc (required)
editablebool
defaultValue:true
switchPropsobject
onTintColorstring
defaultValue:'success'
InputTouchable
An InputTouchable is typically used within the context of anInputGroup, when you want the user to select a value from anotherListView, PopupMenu, etc. It's a very simple wrapper aroundTouchableRow, to make it play nicely with other Input components.Platforms:  ios, android, web
 Composes: TouchableRow, Text 
Props
backgroundColorstring
defaultValue:'white'
labelunion(string,node) (required)
iconnode
imageobject
valueunion(string,node)
showMorebool
defaultValue:false
condensedbool
onPressfunc (required)
disabledbool
defaultValue:false
labelColorstring
defaultValue:'default'
invertedbool
RevealingRow
ReavealingRow enables a row to have revealed optionsthat appear, for instance, when editing it.Platforms:  ios, android, web
 Composes: Base 
Props
showingOptionsbool (required)
defaultValue:false
revealedContentnode (required)
backgroundColorstring
defaultValue:'white'
Text
Text
Basic Text Component that provides shorthands for sizing,lineHeight, and fontWeights.
Props
tinybool
smallbool
mediumbool
largebool
giantbool
thinbool
thickbool
boldbool
invertedbool
lineHeightnumber