application-amicale/native-base-theme/variables/commonColor.js

312 lines
8.2 KiB
JavaScript
Raw Normal View History

2019-06-25 22:20:24 +02:00
// @flow
2020-01-28 20:07:21 +01:00
import color from 'color';
import { Platform, Dimensions, PixelRatio } from 'react-native';
2019-06-25 22:20:24 +02:00
2020-01-28 20:07:21 +01:00
export const PLATFORM = {
ANDROID: 'android',
IOS: 'ios',
MATERIAL: 'material',
WEB: 'web'
};
2019-06-25 22:20:24 +02:00
2020-01-28 20:07:21 +01:00
const deviceHeight = Dimensions.get('window').height;
const deviceWidth = Dimensions.get('window').width;
2019-06-25 22:20:24 +02:00
const platform = Platform.OS;
const platformStyle = undefined;
const isIphoneX =
2020-01-28 20:07:21 +01:00
platform === PLATFORM.IOS &&
(deviceHeight === 812 ||
deviceWidth === 812 ||
deviceHeight === 896 ||
deviceWidth === 896);
2019-06-25 22:20:24 +02:00
export default {
platformStyle,
platform,
2020-01-28 20:07:21 +01:00
// Accordion
headerStyle: '#edebed',
iconStyle: '#000',
contentStyle: '#f5f4f5',
expandedIconStyle: '#000',
accordionBorderColor: '#d3d3d3',
// ActionSheet
elevation: 4,
containerTouchableBackgroundColor: 'rgba(0,0,0,0.4)',
innerTouchableBackgroundColor: '#fff',
listItemHeight: 50,
listItemBorderColor: 'transparent',
marginHorizontal: -15,
marginLeft: 14,
marginTop: 15,
minHeight: 56,
padding: 15,
touchableTextColor: '#757575',
2019-06-25 22:20:24 +02:00
2020-01-28 20:07:21 +01:00
// Android
2019-06-25 22:20:24 +02:00
androidRipple: true,
2020-01-28 20:07:21 +01:00
androidRippleColor: 'rgba(256, 256, 256, 0.3)',
androidRippleColorDark: 'rgba(0, 0, 0, 0.15)',
buttonUppercaseAndroidText: true,
2019-06-25 22:20:24 +02:00
// Badge
2020-01-28 20:07:21 +01:00
badgeBg: '#ED1727',
badgeColor: '#fff',
badgePadding: platform === PLATFORM.IOS ? 3 : 0,
2019-06-25 22:20:24 +02:00
// Button
2020-01-28 20:07:21 +01:00
buttonFontFamily: platform === PLATFORM.IOS ? 'System' : 'Roboto_medium',
buttonDisabledBg: '#b5b5b5',
2019-06-25 22:20:24 +02:00
buttonPadding: 6,
2020-01-28 20:07:21 +01:00
get buttonPrimaryBg() {
2019-06-25 22:20:24 +02:00
return this.brandPrimary;
},
2020-01-28 20:07:21 +01:00
get buttonPrimaryColor() {
2019-06-25 22:20:24 +02:00
return this.inverseTextColor;
},
2020-01-28 20:07:21 +01:00
get buttonInfoBg() {
2019-06-25 22:20:24 +02:00
return this.brandInfo;
},
2020-01-28 20:07:21 +01:00
get buttonInfoColor() {
2019-06-25 22:20:24 +02:00
return this.inverseTextColor;
},
2020-01-28 20:07:21 +01:00
get buttonSuccessBg() {
2019-06-25 22:20:24 +02:00
return this.brandSuccess;
},
2020-01-28 20:07:21 +01:00
get buttonSuccessColor() {
2019-06-25 22:20:24 +02:00
return this.inverseTextColor;
},
2020-01-28 20:07:21 +01:00
get buttonDangerBg() {
2019-06-25 22:20:24 +02:00
return this.brandDanger;
},
2020-01-28 20:07:21 +01:00
get buttonDangerColor() {
2019-06-25 22:20:24 +02:00
return this.inverseTextColor;
},
2020-01-28 20:07:21 +01:00
get buttonWarningBg() {
2019-06-25 22:20:24 +02:00
return this.brandWarning;
},
2020-01-28 20:07:21 +01:00
get buttonWarningColor() {
2019-06-25 22:20:24 +02:00
return this.inverseTextColor;
},
2020-01-28 20:07:21 +01:00
get buttonTextSize() {
return platform === PLATFORM.IOS
? this.fontSizeBase * 1.1
: this.fontSizeBase - 1;
2019-06-25 22:20:24 +02:00
},
2020-01-28 20:07:21 +01:00
get buttonTextSizeLarge() {
2019-06-25 22:20:24 +02:00
return this.fontSizeBase * 1.5;
},
2020-01-28 20:07:21 +01:00
get buttonTextSizeSmall() {
2019-06-25 22:20:24 +02:00
return this.fontSizeBase * 0.8;
},
get borderRadiusLarge() {
return this.fontSizeBase * 3.8;
},
get iconSizeLarge() {
return this.iconFontSize * 1.5;
},
get iconSizeSmall() {
return this.iconFontSize * 0.6;
},
// Card
2020-01-28 20:07:21 +01:00
cardDefaultBg: '#fff',
cardBorderColor: '#ccc',
2019-06-25 22:20:24 +02:00
cardBorderRadius: 2,
2020-01-28 20:07:21 +01:00
cardItemPadding: platform === PLATFORM.IOS ? 10 : 12,
2019-06-25 22:20:24 +02:00
// CheckBox
2020-01-28 20:07:21 +01:00
CheckboxRadius: platform === PLATFORM.IOS ? 13 : 0,
CheckboxBorderWidth: platform === PLATFORM.IOS ? 1 : 2,
CheckboxPaddingLeft: platform === PLATFORM.IOS ? 4 : 2,
CheckboxPaddingBottom: platform === PLATFORM.IOS ? 0 : 5,
CheckboxIconSize: platform === PLATFORM.IOS ? 21 : 16,
CheckboxIconMarginTop: platform === PLATFORM.IOS ? undefined : 1,
CheckboxFontSize: platform === PLATFORM.IOS ? 23 / 0.9 : 17,
checkboxBgColor: '#039BE5',
2019-06-25 22:20:24 +02:00
checkboxSize: 20,
2020-01-28 20:07:21 +01:00
checkboxTickColor: '#fff',
2019-06-25 22:20:24 +02:00
// Color
2020-01-28 20:07:21 +01:00
brandPrimary: platform === PLATFORM.IOS ? '#007aff' : '#3F51B5',
brandInfo: '#62B1F6',
brandSuccess: '#5cb85c',
brandDanger: '#d9534f',
brandWarning: '#f0ad4e',
brandDark: '#000',
brandLight: '#f4f4f4',
// Container
containerBgColor: '#fff',
2019-06-25 22:20:24 +02:00
2020-01-28 20:07:21 +01:00
// Date Picker
datePickerTextColor: '#000',
datePickerBg: 'transparent',
2019-06-25 22:20:24 +02:00
2020-01-28 20:07:21 +01:00
// FAB
fabWidth: 56,
2019-06-25 22:20:24 +02:00
// Font
DefaultFontSize: 16,
2020-01-28 20:07:21 +01:00
fontFamily: platform === PLATFORM.IOS ? 'System' : 'Roboto',
2019-06-25 22:20:24 +02:00
fontSizeBase: 15,
get fontSizeH1() {
return this.fontSizeBase * 1.8;
},
get fontSizeH2() {
return this.fontSizeBase * 1.6;
},
get fontSizeH3() {
return this.fontSizeBase * 1.4;
},
// Footer
footerHeight: 55,
2020-01-28 20:07:21 +01:00
footerDefaultBg: platform === PLATFORM.IOS ? '#F8F8F8' : '#3F51B5',
2019-06-25 22:20:24 +02:00
footerPaddingBottom: 0,
// FooterTab
2020-01-28 20:07:21 +01:00
tabBarTextColor: platform === PLATFORM.IOS ? '#737373' : '#bfc6ea',
tabBarTextSize: platform === PLATFORM.IOS ? 14 : 11,
activeTab: platform === PLATFORM.IOS ? '#007aff' : '#fff',
sTabBarActiveTextColor: '#007aff',
tabBarActiveTextColor: platform === PLATFORM.IOS ? '#2874F0' : '#fff',
tabActiveBgColor: platform === PLATFORM.IOS ? '#cde1f9' : '#3F51B5',
2019-06-25 22:20:24 +02:00
// Header
2020-01-28 20:07:21 +01:00
toolbarBtnColor: platform === PLATFORM.IOS ? '#007aff' : '#fff',
toolbarDefaultBg: platform === PLATFORM.IOS ? '#F8F8F8' : '#3F51B5',
toolbarHeight: platform === PLATFORM.IOS ? 64 : 56,
toolbarSearchIconSize: platform === PLATFORM.IOS ? 20 : 23,
toolbarInputColor: platform === PLATFORM.IOS ? '#CECDD2' : '#fff',
searchBarHeight: platform === PLATFORM.IOS ? 30 : 40,
searchBarInputHeight: platform === PLATFORM.IOS ? 30 : 50,
toolbarBtnTextColor: platform === PLATFORM.IOS ? '#007aff' : '#fff',
iosStatusbar: 'dark-content',
toolbarDefaultBorder: platform === PLATFORM.IOS ? '#a7a6ab' : '#3F51B5',
2019-06-25 22:20:24 +02:00
get statusBarColor() {
return color(this.toolbarDefaultBg)
.darken(0.2)
.hex();
},
get darkenHeader() {
return color(this.tabBgColor)
.darken(0.03)
.hex();
},
// Icon
2020-01-28 20:07:21 +01:00
iconFamily: 'Ionicons',
iconFontSize: platform === PLATFORM.IOS ? 30 : 28,
iconHeaderSize: platform === PLATFORM.IOS ? 33 : 24,
2019-06-25 22:20:24 +02:00
// InputGroup
inputFontSize: 17,
2020-01-28 20:07:21 +01:00
inputBorderColor: '#D9D5DC',
inputSuccessBorderColor: '#2b8339',
inputErrorBorderColor: '#ed2f2f',
2019-06-25 22:20:24 +02:00
inputHeightBase: 50,
get inputColor() {
return this.textColor;
},
get inputColorPlaceholder() {
2020-01-28 20:07:21 +01:00
return '#575757';
2019-06-25 22:20:24 +02:00
},
// Line Height
2020-01-28 20:07:21 +01:00
buttonLineHeight: 19,
2019-06-25 22:20:24 +02:00
lineHeightH1: 32,
lineHeightH2: 27,
lineHeightH3: 22,
2020-01-28 20:07:21 +01:00
lineHeight: platform === PLATFORM.IOS ? 20 : 24,
2019-06-25 22:20:24 +02:00
// List
2020-01-28 20:07:21 +01:00
listBg: 'transparent',
listBorderColor: '#c9c9c9',
listDividerBg: '#f4f4f4',
listBtnUnderlayColor: '#DDD',
listItemPadding: platform === PLATFORM.IOS ? 10 : 12,
listNoteColor: '#808080',
2019-06-25 22:20:24 +02:00
listNoteSize: 13,
2020-01-28 20:07:21 +01:00
listItemSelected: platform === PLATFORM.IOS ? '#007aff' : '#3F51B5',
2019-06-25 22:20:24 +02:00
// Progress Bar
2020-01-28 20:07:21 +01:00
defaultProgressColor: '#E4202D',
inverseProgressColor: '#1A191B',
2019-06-25 22:20:24 +02:00
// Radio Button
2020-01-28 20:07:21 +01:00
radioBtnSize: platform === PLATFORM.IOS ? 25 : 23,
radioSelectedColorAndroid: '#3F51B5',
radioBtnLineHeight: platform === PLATFORM.IOS ? 29 : 24,
2019-06-25 22:20:24 +02:00
get radioColor() {
return this.brandPrimary;
},
// Segment
2020-01-28 20:07:21 +01:00
segmentBackgroundColor: platform === PLATFORM.IOS ? '#F8F8F8' : '#3F51B5',
segmentActiveBackgroundColor: platform === PLATFORM.IOS ? '#007aff' : '#fff',
segmentTextColor: platform === PLATFORM.IOS ? '#007aff' : '#fff',
segmentActiveTextColor: platform === PLATFORM.IOS ? '#fff' : '#3F51B5',
segmentBorderColor: platform === PLATFORM.IOS ? '#007aff' : '#fff',
segmentBorderColorMain: platform === PLATFORM.IOS ? '#a7a6ab' : '#3F51B5',
2019-06-25 22:20:24 +02:00
// Spinner
2020-01-28 20:07:21 +01:00
defaultSpinnerColor: '#45D56E',
inverseSpinnerColor: '#1A191B',
2019-06-25 22:20:24 +02:00
// Tab
2020-01-28 20:07:21 +01:00
tabDefaultBg: platform === PLATFORM.IOS ? '#F8F8F8' : '#3F51B5',
topTabBarTextColor: platform === PLATFORM.IOS ? '#6b6b6b' : '#b3c7f9',
topTabBarActiveTextColor: platform === PLATFORM.IOS ? '#007aff' : '#fff',
topTabBarBorderColor: platform === PLATFORM.IOS ? '#a7a6ab' : '#fff',
topTabBarActiveBorderColor: platform === PLATFORM.IOS ? '#007aff' : '#fff',
2019-06-25 22:20:24 +02:00
// Tabs
2020-01-28 20:07:21 +01:00
tabBgColor: '#F8F8F8',
2019-06-25 22:20:24 +02:00
tabFontSize: 15,
// Text
2020-01-28 20:07:21 +01:00
textColor: '#000',
inverseTextColor: '#fff',
2019-06-25 22:20:24 +02:00
noteFontSize: 14,
get defaultTextColor() {
return this.textColor;
},
// Title
2020-01-28 20:07:21 +01:00
titleFontfamily: platform === PLATFORM.IOS ? 'System' : 'Roboto_medium',
titleFontSize: platform === PLATFORM.IOS ? 17 : 19,
subTitleFontSize: platform === PLATFORM.IOS ? 11 : 14,
subtitleColor: platform === PLATFORM.IOS ? '#000' : '#fff',
titleFontColor: platform === PLATFORM.IOS ? '#000' : '#fff',
2019-06-25 22:20:24 +02:00
// Other
2020-01-28 20:07:21 +01:00
borderRadiusBase: platform === PLATFORM.IOS ? 5 : 2,
2019-06-25 22:20:24 +02:00
borderWidth: 1 / PixelRatio.getPixelSizeForLayoutSize(1),
contentPadding: 10,
2020-01-28 20:07:21 +01:00
dropdownLinkColor: '#414142',
2019-06-25 22:20:24 +02:00
inputLineHeight: 24,
deviceWidth,
deviceHeight,
isIphoneX,
inputGroupRoundedBorderRadius: 30,
2020-01-28 20:07:21 +01:00
// iPhoneX SafeArea
2019-06-25 22:20:24 +02:00
Inset: {
portrait: {
topInset: 24,
leftInset: 0,
rightInset: 0,
bottomInset: 34
},
landscape: {
topInset: 0,
leftInset: 44,
rightInset: 44,
bottomInset: 21
}
}
};