// @flow import { Platform, PixelRatio } from 'react-native'; import pickerTheme from './Picker'; import variable from './../variables/platform'; import { PLATFORM } from './../variables/commonColor'; export default (variables /* : * */ = variable) => { const platform = variables.platform; const selectedStyle = { 'NativeBase.Text': { color: variables.listItemSelected }, 'NativeBase.Icon': { color: variables.listItemSelected } }; const listItemTheme = { 'NativeBase.InputGroup': { 'NativeBase.Icon': { paddingRight: 5 }, 'NativeBase.IconNB': { paddingRight: 5 }, 'NativeBase.Input': { paddingHorizontal: 5 }, flex: 1, borderWidth: null, margin: -10, borderBottomColor: 'transparent' }, '.searchBar': { 'NativeBase.Item': { 'NativeBase.Icon': { backgroundColor: 'transparent', color: variables.dropdownLinkColor, fontSize: platform === PLATFORM.IOS ? variables.iconFontSize - 10 : variables.iconFontSize - 5, alignItems: 'center', marginTop: 2, paddingRight: 8 }, 'NativeBase.IconNB': { backgroundColor: 'transparent', color: null, alignSelf: 'center' }, 'NativeBase.Input': { alignSelf: 'center' }, alignSelf: 'center', alignItems: 'center', justifyContent: 'flex-start', flex: 1, height: platform === PLATFORM.IOS ? 30 : 40, borderColor: 'transparent', backgroundColor: '#fff', borderRadius: 5 }, 'NativeBase.Button': { '.transparent': { 'NativeBase.Text': { fontWeight: '500' }, paddingHorizontal: null, paddingLeft: platform === PLATFORM.IOS ? 10 : null }, paddingHorizontal: platform === PLATFORM.IOS ? undefined : null, width: platform === PLATFORM.IOS ? undefined : 0, height: platform === PLATFORM.IOS ? undefined : 0 }, backgroundColor: variables.toolbarInputColor, padding: 10, marginLeft: null }, 'NativeBase.CheckBox': { marginLeft: -10, marginRight: 10 }, '.first': { '.itemHeader': { paddingTop: variables.listItemPadding + 3 } }, '.itemHeader': { '.first': { paddingTop: variables.listItemPadding + 3 }, borderBottomWidth: platform === PLATFORM.IOS ? variables.borderWidth : null, marginLeft: null, padding: variables.listItemPadding, paddingLeft: variables.listItemPadding + 5, paddingTop: platform === PLATFORM.IOS ? variables.listItemPadding + 25 : undefined, paddingBottom: platform === PLATFORM.ANDROID ? variables.listItemPadding + 20 : undefined, flexDirection: 'row', borderColor: variables.listBorderColor, 'NativeBase.Text': { fontSize: 14, color: platform === PLATFORM.IOS ? undefined : variables.listNoteColor } }, '.itemDivider': { borderBottomWidth: null, marginLeft: null, padding: variables.listItemPadding, paddingLeft: variables.listItemPadding + 5, backgroundColor: variables.listDividerBg, flexDirection: 'row', borderColor: variables.listBorderColor }, '.selected': { 'NativeBase.Left': { ...selectedStyle }, 'NativeBase.Body': { ...selectedStyle }, 'NativeBase.Right': { ...selectedStyle }, ...selectedStyle }, 'NativeBase.Left': { 'NativeBase.Body': { 'NativeBase.Text': { '.note': { color: variables.listNoteColor, fontWeight: '200' }, fontWeight: '600' }, marginLeft: 10, alignItems: null, alignSelf: null }, 'NativeBase.Icon': { width: variables.iconFontSize - 10, fontSize: variables.iconFontSize - 10 }, 'NativeBase.IconNB': { width: variables.iconFontSize - 10, fontSize: variables.iconFontSize - 10 }, 'NativeBase.Text': { alignSelf: 'center' }, flexDirection: 'row' }, 'NativeBase.Body': { 'NativeBase.Text': { marginHorizontal: variables.listItemPadding, '.note': { color: variables.listNoteColor, fontWeight: '200' } }, alignSelf: null, alignItems: null }, 'NativeBase.Right': { 'NativeBase.Badge': { alignSelf: null }, 'NativeBase.PickerNB': { 'NativeBase.Button': { marginRight: -15, 'NativeBase.Text': { color: variables.topTabBarActiveTextColor } } }, 'NativeBase.Button': { alignSelf: null, '.transparent': { 'NativeBase.Text': { color: variables.topTabBarActiveTextColor } } }, 'NativeBase.Icon': { alignSelf: null, fontSize: variables.iconFontSize - 8, color: '#c9c8cd' }, 'NativeBase.IconNB': { alignSelf: null, fontSize: variables.iconFontSize - 8, color: '#c9c8cd' }, 'NativeBase.Text': { '.note': { color: variables.listNoteColor, fontWeight: '200' }, alignSelf: null }, 'NativeBase.Thumbnail': { alignSelf: null }, 'NativeBase.Image': { alignSelf: null }, 'NativeBase.Radio': { alignSelf: null }, 'NativeBase.Checkbox': { alignSelf: null }, 'NativeBase.Switch': { alignSelf: null }, padding: null, flex: 0.28 }, 'NativeBase.Text': { '.note': { color: variables.listNoteColor, fontWeight: '200' }, alignSelf: 'center' }, '.last': { marginLeft: -(variables.listItemPadding + 5), paddingLeft: (variables.listItemPadding + 5) * 2, top: 1 }, '.avatar': { 'NativeBase.Left': { flex: 0, alignSelf: 'flex-start', paddingTop: 14 }, 'NativeBase.Body': { 'NativeBase.Text': { marginLeft: null }, flex: 1, paddingVertical: variables.listItemPadding, borderBottomWidth: variables.borderWidth, borderColor: variables.listBorderColor, marginLeft: variables.listItemPadding + 5 }, 'NativeBase.Right': { 'NativeBase.Text': { '.note': { fontSize: variables.noteFontSize - 2 } }, flex: 0, paddingRight: variables.listItemPadding + 5, alignSelf: 'stretch', paddingVertical: variables.listItemPadding, borderBottomWidth: variables.borderWidth, borderColor: variables.listBorderColor }, '.noBorder': { 'NativeBase.Body': { borderBottomWidth: null }, 'NativeBase.Right': { borderBottomWidth: null } }, borderBottomWidth: null, paddingVertical: null, paddingRight: null }, '.thumbnail': { 'NativeBase.Left': { flex: 0 }, 'NativeBase.Body': { 'NativeBase.Text': { marginLeft: null }, flex: 1, paddingVertical: variables.listItemPadding + 8, borderBottomWidth: variables.borderWidth, borderColor: variables.listBorderColor, marginLeft: variables.listItemPadding + 5 }, 'NativeBase.Right': { 'NativeBase.Button': { '.transparent': { 'NativeBase.Text': { fontSize: variables.listNoteSize, color: variables.sTabBarActiveTextColor } }, height: null }, flex: 0, justifyContent: 'center', alignSelf: 'stretch', paddingRight: variables.listItemPadding + 5, paddingVertical: variables.listItemPadding + 5, borderBottomWidth: variables.borderWidth, borderColor: variables.listBorderColor }, '.noBorder': { 'NativeBase.Body': { borderBottomWidth: null }, 'NativeBase.Right': { borderBottomWidth: null } }, borderBottomWidth: null, paddingVertical: null, paddingRight: null }, '.icon': { '.last': { 'NativeBase.Body': { borderBottomWidth: null }, 'NativeBase.Right': { borderBottomWidth: null }, borderBottomWidth: variables.borderWidth, borderColor: variables.listBorderColor }, 'NativeBase.Left': { 'NativeBase.Button': { 'NativeBase.IconNB': { marginHorizontal: null, fontSize: variables.iconFontSize - 5 }, 'NativeBase.Icon': { marginHorizontal: null, fontSize: variables.iconFontSize - 8 }, alignSelf: 'center', height: 29, width: 29, borderRadius: 6, paddingVertical: null, paddingHorizontal: null, alignItems: 'center', justifyContent: 'center' }, 'NativeBase.Icon': { width: variables.iconFontSize - 5, fontSize: variables.iconFontSize - 2 }, 'NativeBase.IconNB': { width: variables.iconFontSize - 5, fontSize: variables.iconFontSize - 2 }, paddingRight: variables.listItemPadding + 5, flex: 0, height: 44, justifyContent: 'center', alignItems: 'center' }, 'NativeBase.Body': { 'NativeBase.Text': { marginLeft: null, fontSize: 17 }, flex: 1, height: 44, justifyContent: 'center', borderBottomWidth: 1 / PixelRatio.getPixelSizeForLayoutSize(1), borderColor: variables.listBorderColor }, 'NativeBase.Right': { 'NativeBase.Text': { textAlign: 'center', color: '#8F8E95', fontSize: 17 }, 'NativeBase.IconNB': { color: '#C8C7CC', fontSize: variables.iconFontSize - 10, alignSelf: 'center', paddingLeft: 10, paddingTop: 3 }, 'NativeBase.Icon': { color: '#C8C7CC', fontSize: variables.iconFontSize - 10, alignSelf: 'center', paddingLeft: 10, paddingTop: 3 }, 'NativeBase.Switch': { marginRight: Platform.OS === PLATFORM.IOS ? undefined : -5, alignSelf: null }, 'NativeBase.PickerNB': { ...pickerTheme() }, flexDirection: 'row', alignItems: 'center', flex: 0, alignSelf: 'stretch', height: 44, justifyContent: 'flex-end', borderBottomWidth: 1 / PixelRatio.getPixelSizeForLayoutSize(1), borderColor: variables.listBorderColor, paddingRight: variables.listItemPadding + 5 }, '.noBorder': { 'NativeBase.Body': { borderBottomWidth: null }, 'NativeBase.Right': { borderBottomWidth: null } }, borderBottomWidth: null, paddingVertical: null, paddingRight: null, height: 44, justifyContent: 'center' }, '.noBorder': { borderBottomWidth: null }, '.noIndent': { marginLeft: null, padding: variables.listItemPadding, paddingLeft: variables.listItemPadding + 6 }, alignItems: 'center', flexDirection: 'row', paddingRight: variables.listItemPadding + 6, paddingVertical: variables.listItemPadding + 3, marginLeft: variables.listItemPadding + 6, borderBottomWidth: 1 / PixelRatio.getPixelSizeForLayoutSize(1), backgroundColor: variables.listBg, borderColor: variables.listBorderColor }; return listItemTheme; };