diff --git a/.expo/packager-info.json b/.expo/packager-info.json new file mode 100644 index 0000000..2420b48 --- /dev/null +++ b/.expo/packager-info.json @@ -0,0 +1,3 @@ +{ + "devToolsPort": 19003 +} \ No newline at end of file diff --git a/.expo/settings.json b/.expo/settings.json new file mode 100644 index 0000000..8e4fcd2 --- /dev/null +++ b/.expo/settings.json @@ -0,0 +1,7 @@ +{ + "hostType": "lan", + "lanType": "ip", + "dev": true, + "minify": false, + "urlRandomness": null +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..9f9db90 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "cSpell.words": [ + "ionicons" + ] +} \ No newline at end of file diff --git a/EXPO/.expo-shared/assets.json b/EXPO/.expo-shared/assets.json new file mode 100644 index 0000000..b937df8 --- /dev/null +++ b/EXPO/.expo-shared/assets.json @@ -0,0 +1,25 @@ +{ + "29b936d22e34d12149dcf240751167773fcd346dba241255e7235c35c1db4649": true, + "7208ab5f27026e1a104e178bed54dee08266b82b62352d24fe054f5c9433d918": true, + "488e60f849a6e34a7534f6e716231a41574fd947fca90dc249fc1bffc025ef11": true, + "e9f512a3a90545f75ba0a905a26e3a91d9f064cc8b745f1d95b55ef51d207186": true, + "b46eb55bcc1d2c3c90438554d29f2aeff0a1f43d0f730c97874522343a3b5584": true, + "8e7ec28eac8c3cbce745566c730d8a349427c352ac59b501fd9132f399e54dac": true, + "7adc6cdde1172c646f8dda7fcb1186d148e59e6d2a40774bd7e03281a653f19c": true, + "d64a5b98ad82d1490c6b4000a35d16df16172ebee8c51369a3e09f0e7b77c286": true, + "7da26cb459aeeeee62c5434090457a31389dd2790bacdf6872e89bade5d79c64": true, + "10346527957069c46c8969e88e90791479cf2a70fa2b2ee586d37e09e5a1efac": true, + "ba5e44c26119ec6f02fdbe0038681242b5135a3859b82118d7d9c9bd38d0aecd": true, + "474924a7135f9ff9f85e9c20c91640661b5bc345292a5cba7cd3420091d96f67": true, + "c677589a0ff718a477d9625bed18736807b443fd5c6602277afc5bd5d9f91023": true, + "49bd7289547c4aebfc2f08f5db6586f0f463575514c60860590a1d620b747de6": true, + "af0b5fc3cf74601178b4773c76f0597d06a470a202c9710d231d993d1cb5b7e3": true, + "3a8df8687920f95b0ef92c569308b39265e2340f4091bdf572c45533bfc841a9": true, + "796951473c719ad8e46b7b70380efd80d26df0c11d3469d6212a56e8ef71cc18": true, + "85a7411800d1e49af4ebac9d4bce0aed4fdf9e93715dfbb64c04026e5c3d9b72": true, + "dd783a7cbdbb29800782f11af86c80df4961140b1a280481f64df031e2ea0ff9": true, + "56c9fb27cc81c58def169fab4931082bea01df38ccb1c88f754828d52391eb6c": true, + "89ed26367cdb9b771858e026f2eb95bfdb90e5ae943e716575327ec325f39c44": true, + "87936c7fdadc13403cda996cd945689c17e7a5645a0973531cd1ffaa78bbd07d": true, + "1df6f62c745eb22a9de81b5d8e0c8d42537021bc55b2bf27f6491e5c7d7e09eb": true +} \ No newline at end of file diff --git a/EXPO/.expo/packager-info.json b/EXPO/.expo/packager-info.json index ca20b5e..92db722 100644 --- a/EXPO/.expo/packager-info.json +++ b/EXPO/.expo/packager-info.json @@ -1,9 +1,10 @@ { "devToolsPort": 19002, - "expoServerPort": 19000, - "packagerPort": 19001, - "packagerPid": 71365, - "expoServerNgrokUrl": "https://qq-bic.webo.expo.exp.direct", - "packagerNgrokUrl": "https://packager.qq-bic.webo.expo.exp.direct", - "ngrokPid": 71379 + "expoServerPort": null, + "packagerPort": null, + "packagerPid": null, + "expoServerNgrokUrl": null, + "packagerNgrokUrl": null, + "ngrokPid": null, + "webpackServerPort": null } \ No newline at end of file diff --git a/EXPO/.expo/settings.json b/EXPO/.expo/settings.json index 9128641..f142a9b 100644 --- a/EXPO/.expo/settings.json +++ b/EXPO/.expo/settings.json @@ -3,5 +3,5 @@ "lanType": "ip", "dev": true, "minify": false, - "urlRandomness": "qq-bic" + "urlRandomness": "96-s2n" } \ No newline at end of file diff --git a/EXPO/App.js b/EXPO/App.js index fe59c3f..857cf92 100644 --- a/EXPO/App.js +++ b/EXPO/App.js @@ -1,8 +1,7 @@ import React from 'react'; -import { Platform, StatusBar, StyleSheet, View } from 'react-native'; -import { AppLoading, Asset, Font, Icon } from 'expo'; +import { Platform, StatusBar, StyleSheet, View,Image } from 'react-native'; +import { AppLoading,SplashScreen, Asset, Font, Icon } from 'expo'; import AppNavigator from './navigation/AppNavigator'; - export default class App extends React.Component { state = { isLoadingComplete: false, @@ -60,3 +59,73 @@ const styles = StyleSheet.create({ backgroundColor: '#fff', }, }); + +/* +export default class App extends React.Component { + state = { + isSplashReady: false, + isAppReady: false, + }; + + render() { + if (!this.state.isSplashReady) { + return ( + this.setState({ isSplashReady: true })} + onError={console.warn} + autoHideSplash={false} + /> + ); + } + + if (!this.state.isAppReady) { + return ( + + + + ); + } +/* + */ + /* return ( + + {Platform.OS === 'ios' && } + + + ); + } + + _cacheSplashResourcesAsync = async () => { + const gif = require('./assets/images/weboniseIcon.png'); + return Asset.fromModule(gif).downloadAsync() + } + + _cacheResourcesAsync = async () => { + SplashScreen.hide(); + const images = [ + require('./assets/images/webonise-logo.png'), + require('./assets/images/robot-dev.png'), + ]; + + const cacheImages = images.map((image) => { + return Asset.fromModule(image).downloadAsync(); + }); + + await Promise.all(cacheImages); + this.setState({ isAppReady: true }); + } +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#0000', + }, +}); */ diff --git a/EXPO/app.json b/EXPO/app.json index 755f36a..e9f2662 100644 --- a/EXPO/app.json +++ b/EXPO/app.json @@ -1,29 +1,29 @@ { "expo": { - "name": "AWESOME EXPO", + "name": "Webo Native Gallery", "slug": "EXPO", "privacy": "public", "sdkVersion": "32.0.0", - "platforms": [ - "ios", - "android" - ], - "version": "1.0.0", - "orientation": "portrait", - "icon": "./assets/images/icon.png", + "platforms": ["ios", "android"], + "version": "1.0.1", + "icon": "./assets/images/1234.png", + "orientation": "default", "splash": { - "image": "./assets/images/splash.png", - "resizeMode": "contain", - "backgroundColor": "#ffffff" + "image": "./assets/images/splashWebonise.png", + // "resizeMode": "contain", + "backgroundColor": "#ffffff", }, "updates": { "fallbackToCacheTimeout": 0 }, - "assetBundlePatterns": [ - "**/*" - ], + "assetBundlePatterns": ["**/*"], "ios": { - "supportsTablet": true + "supportsTablet": true, + "bundleIdentifier": "com.weboniselab.DemoReactApp" + }, + "android": { + "package": "com.weboniselab.DemoReactApp", + "permissions": ["ACCESS_FINE_LOCATION"] } } -} \ No newline at end of file +} diff --git a/EXPO/assets/images/1234.png b/EXPO/assets/images/1234.png new file mode 100644 index 0000000..ac5c084 Binary files /dev/null and b/EXPO/assets/images/1234.png differ diff --git a/EXPO/assets/images/DrawerIcon.orig.png b/EXPO/assets/images/DrawerIcon.orig.png new file mode 100644 index 0000000..2a413e5 Binary files /dev/null and b/EXPO/assets/images/DrawerIcon.orig.png differ diff --git a/EXPO/assets/images/DrawerIcon.png b/EXPO/assets/images/DrawerIcon.png new file mode 100644 index 0000000..54af681 Binary files /dev/null and b/EXPO/assets/images/DrawerIcon.png differ diff --git a/EXPO/assets/images/close.orig.png b/EXPO/assets/images/close.orig.png new file mode 100755 index 0000000..6b6f00b Binary files /dev/null and b/EXPO/assets/images/close.orig.png differ diff --git a/EXPO/assets/images/close.png b/EXPO/assets/images/close.png new file mode 100755 index 0000000..2c6b4cb Binary files /dev/null and b/EXPO/assets/images/close.png differ diff --git a/EXPO/assets/images/homeIcon.svg b/EXPO/assets/images/homeIcon.svg new file mode 100644 index 0000000..aab2080 --- /dev/null +++ b/EXPO/assets/images/homeIcon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/EXPO/assets/images/icon.orig.png b/EXPO/assets/images/icon.orig.png new file mode 100644 index 0000000..3f5bbc0 Binary files /dev/null and b/EXPO/assets/images/icon.orig.png differ diff --git a/EXPO/assets/images/icon.png b/EXPO/assets/images/icon.png index 3f5bbc0..9f90de3 100644 Binary files a/EXPO/assets/images/icon.png and b/EXPO/assets/images/icon.png differ diff --git a/EXPO/assets/images/icon50.orig.png b/EXPO/assets/images/icon50.orig.png new file mode 100644 index 0000000..c363280 Binary files /dev/null and b/EXPO/assets/images/icon50.orig.png differ diff --git a/EXPO/assets/images/icon50.png b/EXPO/assets/images/icon50.png new file mode 100644 index 0000000..640f60a Binary files /dev/null and b/EXPO/assets/images/icon50.png differ diff --git a/EXPO/assets/images/left-arrow.orig.png b/EXPO/assets/images/left-arrow.orig.png new file mode 100755 index 0000000..07553f8 Binary files /dev/null and b/EXPO/assets/images/left-arrow.orig.png differ diff --git a/EXPO/assets/images/left-arrow.png b/EXPO/assets/images/left-arrow.png new file mode 100755 index 0000000..71af4e7 Binary files /dev/null and b/EXPO/assets/images/left-arrow.png differ diff --git a/EXPO/assets/images/menu-button.orig.png b/EXPO/assets/images/menu-button.orig.png new file mode 100755 index 0000000..08a9427 Binary files /dev/null and b/EXPO/assets/images/menu-button.orig.png differ diff --git a/EXPO/assets/images/menu-button.png b/EXPO/assets/images/menu-button.png new file mode 100755 index 0000000..0256916 Binary files /dev/null and b/EXPO/assets/images/menu-button.png differ diff --git a/EXPO/assets/images/placeHolder.jpeg b/EXPO/assets/images/placeHolder.jpeg new file mode 100644 index 0000000..4e77a64 Binary files /dev/null and b/EXPO/assets/images/placeHolder.jpeg differ diff --git a/EXPO/assets/images/placeHolder.orig.jpeg b/EXPO/assets/images/placeHolder.orig.jpeg new file mode 100644 index 0000000..1f71a6c Binary files /dev/null and b/EXPO/assets/images/placeHolder.orig.jpeg differ diff --git a/EXPO/assets/images/robot-dev.orig.png b/EXPO/assets/images/robot-dev.orig.png new file mode 100644 index 0000000..177de0c Binary files /dev/null and b/EXPO/assets/images/robot-dev.orig.png differ diff --git a/EXPO/assets/images/robot-dev.png b/EXPO/assets/images/robot-dev.png index 177de0c..c161eaf 100644 Binary files a/EXPO/assets/images/robot-dev.png and b/EXPO/assets/images/robot-dev.png differ diff --git a/EXPO/assets/images/robot-prod.orig.png b/EXPO/assets/images/robot-prod.orig.png new file mode 100644 index 0000000..6511d10 Binary files /dev/null and b/EXPO/assets/images/robot-prod.orig.png differ diff --git a/EXPO/assets/images/robot-prod.png b/EXPO/assets/images/robot-prod.png index 6511d10..bd12b95 100644 Binary files a/EXPO/assets/images/robot-prod.png and b/EXPO/assets/images/robot-prod.png differ diff --git a/EXPO/assets/images/splashWebonise.png b/EXPO/assets/images/splashWebonise.png new file mode 100644 index 0000000..890cd45 Binary files /dev/null and b/EXPO/assets/images/splashWebonise.png differ diff --git a/EXPO/assets/images/webonise-logo.orig.png b/EXPO/assets/images/webonise-logo.orig.png new file mode 100644 index 0000000..e30afac Binary files /dev/null and b/EXPO/assets/images/webonise-logo.orig.png differ diff --git a/EXPO/assets/images/webonise-logo.png b/EXPO/assets/images/webonise-logo.png new file mode 100644 index 0000000..ec19471 Binary files /dev/null and b/EXPO/assets/images/webonise-logo.png differ diff --git a/EXPO/assets/images/weboniseIcon.png b/EXPO/assets/images/weboniseIcon.png new file mode 100644 index 0000000..3105807 Binary files /dev/null and b/EXPO/assets/images/weboniseIcon.png differ diff --git a/EXPO/clear/.expo/packager-info.json b/EXPO/clear/.expo/packager-info.json new file mode 100644 index 0000000..2420b48 --- /dev/null +++ b/EXPO/clear/.expo/packager-info.json @@ -0,0 +1,3 @@ +{ + "devToolsPort": 19003 +} \ No newline at end of file diff --git a/EXPO/clear/.expo/settings.json b/EXPO/clear/.expo/settings.json new file mode 100644 index 0000000..8e4fcd2 --- /dev/null +++ b/EXPO/clear/.expo/settings.json @@ -0,0 +1,7 @@ +{ + "hostType": "lan", + "lanType": "ip", + "dev": true, + "minify": false, + "urlRandomness": null +} \ No newline at end of file diff --git a/EXPO/components/ListItemView.js b/EXPO/components/ListItemView.js new file mode 100644 index 0000000..7de69c7 --- /dev/null +++ b/EXPO/components/ListItemView.js @@ -0,0 +1,42 @@ +import React from "react"; +import { StyleSheet, View,FlatList } from "react-native"; +import {Card,Image,Text} from 'react-native-elements' + + +export class ListItemView extends React.Component { + renderData() { + const {data,imageKey,titleKey,buttonText,bottomView } = this.props; + return ( + index.toString} + renderItem={ ({item, index}) => { + return( + + key= {index.toString} + title={item[titleKey]} + image={{uri:item[imageKey]}}> + {bottomView(item)} + + ) + } + } + /> + ) + } + render() { + const { data } = this.props; + if(data && data.length > 0) { + return this.renderData(); + }else { + return + } + } + +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + paddingTop: 15 + } +}); diff --git a/EXPO/constants/APIConst.js b/EXPO/constants/APIConst.js new file mode 100644 index 0000000..e4cd625 --- /dev/null +++ b/EXPO/constants/APIConst.js @@ -0,0 +1,12 @@ + + +export var APIConst = { + baseURL: 'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=', + apiKey: 'AIzaSyAcfolOabZSM9t_m0fqgOlYVgRa5eHAwMU', + imageCONST: 'https://maps.googleapis.com/maps/api/place/photo?photoreference=', + paginatedAPIURL: 'https://reqres.in/api/users/?page=', + //'AIzaSyD7JZmztK5wE-80P8t-_IOHZQinVtx4Dio', + URNConst: { + nearByURN: '&radius=1500&type=restaurant&key=', + } + } diff --git a/EXPO/constants/STRING_CONSTANTS.js b/EXPO/constants/STRING_CONSTANTS.js new file mode 100644 index 0000000..dac84f2 --- /dev/null +++ b/EXPO/constants/STRING_CONSTANTS.js @@ -0,0 +1,24 @@ +const STRING_CONSTANTS = { + DISTANCE: 'Distance:', + GOBACKHOME: 'Go back home', + ASYNCHSTORE_FETCH: 'fetched from Asynch store', + SECURESTORE_FETCH:'fetched from Secure store', + CLICKHERE: 'Click here to set Image.', + SETPICTURE_MSG:'Click here to set picture.', + CAMERA_TITLE: 'click from Camera', + GALLARY_TITLE: 'select from Gallary or Photos', + NEARBY_ME_TITLE: 'Near by me', + LINKS:'Links', + SETTINGS_TITLE:'Settings', + WAITING:'Waiting..', + ALLOW_LOCATION_PERMISSION : 'Allow location permission.', + GRANT_PERMISSION : 'Grant Permission', + APPLOCATION_ACCESS : 'App needs location access.', + OK_TITLE: 'OK', + CANCEL_TITLE: 'Cancel', + DISMISS: 'Dismiss', + NOTIFICATIONS_TITLE: 'Notifications', + PAGINATED_TITLE: 'Paginated Grid Example', +} + +export default STRING_CONSTANTS; \ No newline at end of file diff --git a/EXPO/constants/Utility.js b/EXPO/constants/Utility.js new file mode 100644 index 0000000..96be55d --- /dev/null +++ b/EXPO/constants/Utility.js @@ -0,0 +1,44 @@ + +import { Platform } from "react-native"; + +export default class Utility { + + static myInstace = null; + static sharedInstance() { + if (Utility.myInstace == null) { + Utility.myInstace = new Utility(); + } + return this.myInstace + } + + isAndroid() { + if (Platform.OS !== "ios") { + return true + }else { + return false + } + } + + calculateDistanceBetLatAndLong(lat1, lon1, lat2, lon2, unit) { + if ((lat1 == lat2) && (lon1 == lon2)) { + return 0; + } + else { + var radlat1 = Math.PI * lat1/180; + var radlat2 = Math.PI * lat2/180; + var theta = lon1-lon2; + var radtheta = Math.PI * theta/180; + var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta); + if (dist > 1) { + dist = 1; + } + dist = Math.acos(dist); + dist = dist * 180/Math.PI; + dist = dist * 60 * 1.1515; + if (unit=="K") { dist = dist * 1.609344 } + if (unit=="N") { dist = dist * 0.8684 } + return dist; + } + } + +} \ No newline at end of file diff --git a/EXPO/native-base-theme/components/Badge.js b/EXPO/native-base-theme/components/Badge.js new file mode 100644 index 0000000..b164a6c --- /dev/null +++ b/EXPO/native-base-theme/components/Badge.js @@ -0,0 +1,38 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const badgeTheme = { + ".primary": { + backgroundColor: variables.btnPrimaryBg + }, + ".warning": { + backgroundColor: variables.btnWarningBg + }, + ".info": { + backgroundColor: variables.btnInfoBg + }, + ".success": { + backgroundColor: variables.btnSuccessBg + }, + ".danger": { + backgroundColor: variables.btnDangerBg + }, + "NativeBase.Text": { + color: variables.badgeColor, + fontSize: variables.fontSizeBase, + lineHeight: variables.lineHeight - 1, + textAlign: "center", + paddingHorizontal: 3 + }, + backgroundColor: variables.badgeBg, + padding: variables.badgePadding, + paddingHorizontal: 6, + alignSelf: "flex-start", + justifyContent: variables.platform === "ios" ? "center" : undefined, + borderRadius: 13.5, + height: 27 + }; + return badgeTheme; +}; diff --git a/EXPO/native-base-theme/components/Body.js b/EXPO/native-base-theme/components/Body.js new file mode 100644 index 0000000..0f85f4a --- /dev/null +++ b/EXPO/native-base-theme/components/Body.js @@ -0,0 +1,13 @@ +// @flow + +import variable from './../variables/platform'; + +export default (variables /*: * */ = variable) => { + const bodyTheme = { + flex: 1, + alignItems: 'center', + alignSelf: 'center', + }; + + return bodyTheme; +}; diff --git a/EXPO/native-base-theme/components/Button.js b/EXPO/native-base-theme/components/Button.js new file mode 100644 index 0000000..62cefe6 --- /dev/null +++ b/EXPO/native-base-theme/components/Button.js @@ -0,0 +1,396 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const platformStyle = variables.platformStyle; + const platform = variables.platform; + const darkCommon = { + "NativeBase.Text": { + color: variables.brandDark + }, + "NativeBase.Icon": { + color: variables.brandDark + }, + "NativeBase.IconNB": { + color: variables.brandDark + } + }; + const lightCommon = { + "NativeBase.Text": { + color: variables.brandLight + }, + "NativeBase.Icon": { + color: variables.brandLight + }, + "NativeBase.IconNB": { + color: variables.brandLight + } + }; + const primaryCommon = { + "NativeBase.Text": { + color: variables.btnPrimaryBg + }, + "NativeBase.Icon": { + color: variables.btnPrimaryBg + }, + "NativeBase.IconNB": { + color: variables.btnPrimaryBg + } + }; + const successCommon = { + "NativeBase.Text": { + color: variables.btnSuccessBg + }, + "NativeBase.Icon": { + color: variables.btnSuccessBg + }, + "NativeBase.IconNB": { + color: variables.btnSuccessBg + } + }; + const infoCommon = { + "NativeBase.Text": { + color: variables.btnInfoBg + }, + "NativeBase.Icon": { + color: variables.btnInfoBg + }, + "NativeBase.IconNB": { + color: variables.btnInfoBg + } + }; + const warningCommon = { + "NativeBase.Text": { + color: variables.btnWarningBg + }, + "NativeBase.Icon": { + color: variables.btnWarningBg + }, + "NativeBase.IconNB": { + color: variables.btnWarningBg + } + }; + const dangerCommon = { + "NativeBase.Text": { + color: variables.btnDangerBg + }, + "NativeBase.Icon": { + color: variables.btnDangerBg + }, + "NativeBase.IconNB": { + color: variables.btnDangerBg + } + }; + const buttonTheme = { + ".disabled": { + ".transparent": { + backgroundColor: null, + "NativeBase.Text": { + color: variables.btnDisabledBg + }, + "NativeBase.Icon": { + color: variables.btnDisabledBg + }, + "NativeBase.IconNB": { + color: variables.btnDisabledBg + } + }, + "NativeBase.Icon": { + color: variables.brandLight + }, + "NativeBase.IconNB": { + color: variables.brandLight + }, + backgroundColor: variables.btnDisabledBg + }, + ".bordered": { + ".dark": { + ...darkCommon, + backgroundColor: "transparent", + borderColor: variables.brandDark, + borderWidth: variables.borderWidth * 2 + }, + ".light": { + ...lightCommon, + backgroundColor: "transparent", + borderColor: variables.brandLight, + borderWidth: variables.borderWidth * 2 + }, + ".primary": { + ...primaryCommon, + backgroundColor: "transparent", + borderColor: variables.btnPrimaryBg, + borderWidth: variables.borderWidth * 2 + }, + ".success": { + ...successCommon, + backgroundColor: "transparent", + borderColor: variables.btnSuccessBg, + borderWidth: variables.borderWidth * 2 + }, + ".info": { + ...infoCommon, + backgroundColor: "transparent", + borderColor: variables.btnInfoBg, + borderWidth: variables.borderWidth * 2 + }, + ".warning": { + ...warningCommon, + backgroundColor: "transparent", + borderColor: variables.btnWarningBg, + borderWidth: variables.borderWidth * 2 + }, + ".danger": { + ...dangerCommon, + backgroundColor: "transparent", + borderColor: variables.btnDangerBg, + borderWidth: variables.borderWidth * 2 + }, + ".disabled": { + backgroundColor: null, + borderColor: variables.btnDisabledBg, + borderWidth: variables.borderWidth * 2, + "NativeBase.Text": { + color: variables.btnDisabledBg + } + }, + ...primaryCommon, + borderWidth: variables.borderWidth * 2, + elevation: null, + shadowColor: null, + shadowOffset: null, + shadowOpacity: null, + shadowRadius: null, + backgroundColor: "transparent" + }, + + ".dark": { + ".bordered": { + ...darkCommon + }, + backgroundColor: variables.brandDark + }, + ".light": { + ".transparent": { + ...lightCommon, + backgroundColor: null + }, + ".bordered": { + ...lightCommon + }, + ...darkCommon, + backgroundColor: variables.brandLight + }, + + ".primary": { + ".bordered": { + ...primaryCommon + }, + backgroundColor: variables.btnPrimaryBg + }, + + ".success": { + ".bordered": { + ...successCommon + }, + backgroundColor: variables.btnSuccessBg + }, + + ".info": { + ".bordered": { + ...infoCommon + }, + backgroundColor: variables.btnInfoBg + }, + + ".warning": { + ".bordered": { + ...warningCommon + }, + backgroundColor: variables.btnWarningBg + }, + + ".danger": { + ".bordered": { + ...dangerCommon + }, + backgroundColor: variables.btnDangerBg + }, + + ".block": { + justifyContent: "center", + alignSelf: "stretch" + }, + + ".full": { + justifyContent: "center", + alignSelf: "stretch", + borderRadius: 0 + }, + + ".rounded": { + // paddingHorizontal: variables.buttonPadding + 20, + borderRadius: variables.borderRadiusLarge + }, + + ".transparent": { + backgroundColor: "transparent", + elevation: 0, + shadowColor: null, + shadowOffset: null, + shadowRadius: null, + shadowOpacity: null, + ...primaryCommon, + ".dark": { + ...darkCommon, + backgroundColor: null + }, + ".danger": { + ...dangerCommon, + backgroundColor: null + }, + ".warning": { + ...warningCommon, + backgroundColor: null + }, + ".info": { + ...infoCommon, + backgroundColor: null + }, + ".primary": { + ...primaryCommon, + backgroundColor: null + }, + ".success": { + ...successCommon, + backgroundColor: null + }, + ".light": { + ...lightCommon, + backgroundColor: null + }, + ".disabled": { + backgroundColor: "transparent", + borderColor: variables.btnDisabledBg, + borderWidth: variables.borderWidth * 2, + "NativeBase.Text": { + color: variables.btnDisabledBg + }, + "NativeBase.Icon": { + color: variables.btnDisabledBg + }, + "NativeBase.IconNB": { + color: variables.btnDisabledBg + } + } + }, + + ".small": { + height: 30, + "NativeBase.Text": { + fontSize: 14 + }, + "NativeBase.Icon": { + fontSize: 20, + paddingTop: 0 + }, + "NativeBase.IconNB": { + fontSize: 20, + paddingTop: 0 + } + }, + + ".large": { + height: 60, + "NativeBase.Text": { + fontSize: 22, + } + }, + + ".capitalize": {}, + + ".vertical": { + flexDirection: "column", + height: null + }, + + "NativeBase.Text": { + fontFamily: variables.btnFontFamily, + marginLeft: 0, + marginRight: 0, + color: variables.inverseTextColor, + fontSize: variables.btnTextSize, + paddingHorizontal: 16, + backgroundColor: "transparent" + // childPosition: 1 + }, + + "NativeBase.Icon": { + color: variables.inverseTextColor, + fontSize: 24, + marginHorizontal: 16, + paddingTop: platform === "ios" ? 2 : undefined + }, + "NativeBase.IconNB": { + color: variables.inverseTextColor, + fontSize: 24, + marginHorizontal: 16, + paddingTop: platform === "ios" ? 2 : undefined + }, + + ".iconLeft": { + "NativeBase.Text": { + marginLeft: 0 + }, + "NativeBase.IconNB": { + marginRight: 0, + marginLeft: 16 + }, + "NativeBase.Icon": { + marginRight: 0, + marginLeft: 16 + } + }, + ".iconRight": { + "NativeBase.Text": { + marginRight: 0 + }, + "NativeBase.IconNB": { + marginLeft: 0, + marginRight: 16 + }, + "NativeBase.Icon": { + marginLeft: 0, + marginRight: 16 + } + }, + ".picker": { + "NativeBase.Text": { + ".note": { + fontSize: 16, + lineHeight: null + } + } + }, + + paddingVertical: variables.buttonPadding, + // paddingHorizontal: variables.buttonPadding + 10, + backgroundColor: variables.btnPrimaryBg, + borderRadius: variables.borderRadiusBase, + borderColor: variables.btnPrimaryBg, + borderWidth: null, + height: 45, + alignSelf: "flex-start", + flexDirection: "row", + elevation: 2, + shadowColor: platformStyle === "material" ? variables.brandDark : undefined, + shadowOffset: + platformStyle === "material" ? { width: 0, height: 2 } : undefined, + shadowOpacity: platformStyle === "material" ? 0.2 : undefined, + shadowRadius: platformStyle === "material" ? 1.2 : undefined, + alignItems: "center", + justifyContent: "space-between" + }; + return buttonTheme; +}; diff --git a/EXPO/native-base-theme/components/Card.js b/EXPO/native-base-theme/components/Card.js new file mode 100644 index 0000000..f917e20 --- /dev/null +++ b/EXPO/native-base-theme/components/Card.js @@ -0,0 +1,37 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const cardTheme = { + ".transparent": { + shadowColor: null, + shadowOffset: null, + shadowOpacity: null, + shadowRadius: null, + elevation: null, + backgroundColor: "transparent", + borderWidth: 0 + }, + ".noShadow": { + shadowColor: null, + shadowOffset: null, + shadowOpacity: null, + elevation: null + }, + marginVertical: 5, + marginHorizontal: 2, + borderWidth: variables.borderWidth, + borderRadius: variables.cardBorderRadius, + borderColor: variables.cardBorderColor, + flexWrap: "nowrap", + backgroundColor: variables.cardDefaultBg, + shadowColor: "#000", + shadowOffset: { width: 0, height: 2 }, + shadowOpacity: 0.1, + shadowRadius: 1.5, + elevation: 3 + }; + + return cardTheme; +}; diff --git a/EXPO/native-base-theme/components/CardItem.js b/EXPO/native-base-theme/components/CardItem.js new file mode 100644 index 0000000..57724ac --- /dev/null +++ b/EXPO/native-base-theme/components/CardItem.js @@ -0,0 +1,196 @@ +// @flow + +import { StyleSheet } from "react-native"; +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const platform = variables.platform; + const transparentBtnCommon = { + "NativeBase.Text": { + fontSize: variables.DefaultFontSize - 3, + color: variables.sTabBarActiveTextColor + }, + "NativeBase.Icon": { + fontSize: variables.iconFontSize - 10, + color: variables.sTabBarActiveTextColor, + marginHorizontal: null + }, + "NativeBase.IconNB": { + fontSize: variables.iconFontSize - 10, + color: variables.sTabBarActiveTextColor + }, + paddingVertical: null, + paddingHorizontal: null + }; + + const cardItemTheme = { + "NativeBase.Left": { + "NativeBase.Body": { + "NativeBase.Text": { + ".note": { + color: variables.listNoteColor, + fontWeight: "400", + marginRight: 20 + } + }, + flex: 1, + marginLeft: 10, + alignItems: null + }, + "NativeBase.Icon": { + fontSize: variables.iconFontSize + }, + "NativeBase.IconNB": { + fontSize: variables.iconFontSize + }, + "NativeBase.Text": { + marginLeft: 10, + alignSelf: "center" + }, + "NativeBase.Button": { + ".transparent": { + ...transparentBtnCommon, + paddingRight: variables.cardItemPadding + 5 + } + }, + flex: 1, + flexDirection: "row", + alignItems: "center" + }, + ".content": { + "NativeBase.Text": { + color: platform === "ios" ? "#555" : "#222", + fontSize: variables.DefaultFontSize - 2 + } + }, + ".cardBody": { + padding: -5, + "NativeBase.Text": { + marginTop: 5 + } + }, + "NativeBase.Body": { + "NativeBase.Text": { + ".note": { + color: variables.listNoteColor, + fontWeight: "200", + marginRight: 20 + } + }, + "NativeBase.Button": { + ".transparent": { + ...transparentBtnCommon, + paddingRight: variables.cardItemPadding + 5, + alignSelf: "stretch" + } + }, + flex: 1, + alignSelf: "stretch", + alignItems: "flex-start" + }, + "NativeBase.Right": { + "NativeBase.Badge": { + alignSelf: null + }, + "NativeBase.Button": { + ".transparent": { + ...transparentBtnCommon + }, + alignSelf: null + }, + "NativeBase.Icon": { + alignSelf: null, + fontSize: variables.iconFontSize - 8, + color: variables.cardBorderColor + }, + "NativeBase.IconNB": { + alignSelf: null, + fontSize: variables.iconFontSize - 8, + color: variables.cardBorderColor + }, + "NativeBase.Text": { + fontSize: variables.DefaultFontSize - 1, + alignSelf: null + }, + "NativeBase.Thumbnail": { + alignSelf: null + }, + "NativeBase.Image": { + alignSelf: null + }, + "NativeBase.Radio": { + alignSelf: null + }, + "NativeBase.Checkbox": { + alignSelf: null + }, + "NativeBase.Switch": { + alignSelf: null + }, + flex: 0.8 + }, + ".header": { + "NativeBase.Text": { + fontSize: 16, + fontWeight: platform === "ios" ? "600" : "500" + }, + ".bordered": { + "NativeBase.Text": { + color: variables.brandPrimary, + fontWeight: platform === "ios" ? "600" : "500" + }, + borderBottomWidth: variables.borderWidth + }, + borderBottomWidth: null, + paddingVertical: variables.cardItemPadding + 5 + }, + ".footer": { + "NativeBase.Text": { + fontSize: 16, + fontWeight: platform === "ios" ? "600" : "500" + }, + ".bordered": { + "NativeBase.Text": { + color: variables.brandPrimary, + fontWeight: platform === "ios" ? "600" : "500" + }, + borderTopWidth: variables.borderWidth + }, + borderBottomWidth: null + }, + "NativeBase.Text": { + ".note": { + color: variables.listNoteColor, + fontWeight: "200" + } + }, + "NativeBase.Icon": { + width: variables.iconFontSize + 5, + fontSize: variables.iconFontSize - 2 + }, + "NativeBase.IconNB": { + width: variables.iconFontSize + 5, + fontSize: variables.iconFontSize - 2 + }, + ".bordered": { + borderBottomWidth: StyleSheet.hairlineWidth, + borderColor: variables.cardBorderColor + }, + ".first": { + borderTopLeftRadius: variables.cardBorderRadius, + borderTopRightRadius: variables.cardBorderRadius + }, + ".last": { + borderBottomLeftRadius: variables.cardBorderRadius, + borderBottomRightRadius: variables.cardBorderRadius + }, + flexDirection: "row", + alignItems: "center", + borderRadius: variables.cardBorderRadius, + padding: variables.cardItemPadding + 5, + paddingVertical: variables.cardItemPadding, + backgroundColor: variables.cardDefaultBg + }; + + return cardItemTheme; +}; diff --git a/EXPO/native-base-theme/components/CheckBox.js b/EXPO/native-base-theme/components/CheckBox.js new file mode 100644 index 0000000..d143e07 --- /dev/null +++ b/EXPO/native-base-theme/components/CheckBox.js @@ -0,0 +1,38 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const checkBoxTheme = { + ".checked": { + "NativeBase.Icon": { + color: variables.checkboxTickColor + }, + "NativeBase.IconNB": { + color: variables.checkboxTickColor + } + }, + "NativeBase.Icon": { + color: "transparent", + lineHeight: variables.CheckboxIconSize, + marginTop: variables.CheckboxIconMarginTop, + fontSize: variables.CheckboxFontSize + }, + "NativeBase.IconNB": { + color: "transparent", + lineHeight: variables.CheckboxIconSize, + marginTop: variables.CheckboxIconMarginTop, + fontSize: variables.CheckboxFontSize + }, + borderRadius: variables.CheckboxRadius, + overflow: "hidden", + width: variables.checkboxSize, + height: variables.checkboxSize, + borderWidth: variables.CheckboxBorderWidth, + paddingLeft: variables.CheckboxPaddingLeft - 1, + paddingBottom: variables.CheckboxPaddingBottom, + left: 10 + }; + + return checkBoxTheme; +}; diff --git a/EXPO/native-base-theme/components/Container.js b/EXPO/native-base-theme/components/Container.js new file mode 100644 index 0000000..7a93fcc --- /dev/null +++ b/EXPO/native-base-theme/components/Container.js @@ -0,0 +1,16 @@ +// @flow + +import { Platform, Dimensions } from "react-native"; + +import variable from "./../variables/platform"; + +const deviceHeight = Dimensions.get("window").height; +export default (variables /*: * */ = variable) => { + const theme = { + flex: 1, + height: Platform.OS === "ios" ? deviceHeight : deviceHeight - 20, + backgroundColor: variables.containerBgColor + }; + + return theme; +}; diff --git a/EXPO/native-base-theme/components/Content.js b/EXPO/native-base-theme/components/Content.js new file mode 100644 index 0000000..72230c4 --- /dev/null +++ b/EXPO/native-base-theme/components/Content.js @@ -0,0 +1,16 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const contentTheme = { + flex: 1, + backgroundColor: "transparent", + "NativeBase.Segment": { + borderWidth: 0, + backgroundColor: "transparent" + } + }; + + return contentTheme; +}; diff --git a/EXPO/native-base-theme/components/Fab.js b/EXPO/native-base-theme/components/Fab.js new file mode 100644 index 0000000..c3314da --- /dev/null +++ b/EXPO/native-base-theme/components/Fab.js @@ -0,0 +1,29 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const platform = variables.platform; + + const fabTheme = { + "NativeBase.Button": { + alignItems: "center", + padding: null, + justifyContent: "center", + "NativeBase.Icon": { + alignSelf: "center", + fontSize: 20, + marginLeft: 0, + marginRight: 0, + }, + "NativeBase.IconNB": { + alignSelf: "center", + fontSize: 20, + marginLeft: 0, + marginRight: 0, + }, + }, + }; + + return fabTheme; +}; diff --git a/EXPO/native-base-theme/components/Footer.js b/EXPO/native-base-theme/components/Footer.js new file mode 100644 index 0000000..0021508 --- /dev/null +++ b/EXPO/native-base-theme/components/Footer.js @@ -0,0 +1,118 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const platformStyle = variables.platformStyle; + const platform = variables.platform; + + const iconCommon = { + "NativeBase.Icon": { + color: variables.tabBarActiveTextColor + } + }; + const iconNBCommon = { + "NativeBase.IconNB": { + color: variables.tabBarActiveTextColor + } + }; + const textCommon = { + "NativeBase.Text": { + color: variables.tabBarActiveTextColor + } + }; + const footerTheme = { + "NativeBase.Left": { + "NativeBase.Button": { + ".transparent": { + backgroundColor: "transparent", + borderColor: null, + elevation: 0, + shadowColor: null, + shadowOffset: null, + shadowRadius: null, + shadowOpacity: null, + ...iconCommon, + ...iconNBCommon, + ...textCommon + }, + alignSelf: null, + ...iconCommon, + ...iconNBCommon, + // ...textCommon + }, + flex: 1, + alignSelf: "center", + alignItems: "flex-start" + }, + "NativeBase.Body": { + flex: 1, + alignItems: "center", + alignSelf: "center", + flexDirection: "row", + "NativeBase.Button": { + alignSelf: "center", + ".transparent": { + backgroundColor: "transparent", + borderColor: null, + elevation: 0, + shadowColor: null, + shadowOffset: null, + shadowRadius: null, + shadowOpacity: null, + ...iconCommon, + ...iconNBCommon, + ...textCommon + }, + ".full": { + height: variables.footerHeight, + paddingBottom: variables.footerPaddingBottom, + flex: 1 + }, + ...iconCommon, + ...iconNBCommon, + // ...textCommon + } + }, + "NativeBase.Right": { + "NativeBase.Button": { + ".transparent": { + backgroundColor: "transparent", + borderColor: null, + elevation: 0, + shadowColor: null, + shadowOffset: null, + shadowRadius: null, + shadowOpacity: null, + ...iconCommon, + ...iconNBCommon, + ...textCommon + }, + alignSelf: null, + ...iconCommon, + ...iconNBCommon, + // ...textCommon + }, + flex: 1, + alignSelf: "center", + alignItems: "flex-end" + }, + backgroundColor: variables.footerDefaultBg, + flexDirection: "row", + justifyContent: "center", + borderTopWidth: + platform === "ios" && platformStyle !== "material" + ? variables.borderWidth + : undefined, + borderColor: + platform === "ios" && platformStyle !== "material" + ? "#cbcbcb" + : undefined, + height: variables.footerHeight, + paddingBottom: variables.footerPaddingBottom, + elevation: 3, + left: 0, + right: 0 + }; + return footerTheme; +}; diff --git a/EXPO/native-base-theme/components/FooterTab.js b/EXPO/native-base-theme/components/FooterTab.js new file mode 100644 index 0000000..8fcdf03 --- /dev/null +++ b/EXPO/native-base-theme/components/FooterTab.js @@ -0,0 +1,79 @@ +// @flow + +import { Platform } from "react-native"; + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const platform = variables.platform; + + const footerTabTheme = { + "NativeBase.Button": { + ".active": { + "NativeBase.Text": { + color: variables.tabBarActiveTextColor, + fontSize: variables.tabBarTextSize, + lineHeight: 16 + }, + "NativeBase.Icon": { + color: variables.tabBarActiveTextColor + }, + "NativeBase.IconNB": { + color: variables.tabBarActiveTextColor + }, + backgroundColor: variables.tabActiveBgColor + }, + flexDirection: null, + backgroundColor: "transparent", + borderColor: null, + elevation: 0, + shadowColor: null, + shadowOffset: null, + shadowRadius: null, + shadowOpacity: null, + alignSelf: "center", + flex: 1, + height: variables.footerHeight, + justifyContent: "center", + ".badge": { + "NativeBase.Badge": { + "NativeBase.Text": { + fontSize: 11, + fontWeight: platform === "ios" ? "600" : undefined, + lineHeight: 14 + }, + top: -3, + alignSelf: "center", + left: 10, + zIndex: 99, + height: 18, + padding: 1.7, + paddingHorizontal: 3 + }, + "NativeBase.Icon": { + marginTop: -18 + } + }, + "NativeBase.Icon": { + color: variables.tabBarTextColor + }, + "NativeBase.IconNB": { + color: variables.tabBarTextColor + }, + "NativeBase.Text": { + color: variables.tabBarTextColor, + fontSize: variables.tabBarTextSize, + lineHeight: 16 + } + }, + backgroundColor: Platform.OS === "android" + ? variables.footerDefaultBg + : undefined, + flexDirection: "row", + justifyContent: "space-between", + flex: 1, + alignSelf: "stretch" + }; + + return footerTabTheme; +}; diff --git a/EXPO/native-base-theme/components/Form.js b/EXPO/native-base-theme/components/Form.js new file mode 100644 index 0000000..8d7aedc --- /dev/null +++ b/EXPO/native-base-theme/components/Form.js @@ -0,0 +1,90 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const platform = variables.platform; + + const theme = { + "NativeBase.Item": { + ".fixedLabel": { + "NativeBase.Label": { + paddingLeft: null + }, + marginLeft: 15 + }, + ".inlineLabel": { + "NativeBase.Label": { + paddingLeft: null + }, + marginLeft: 15 + }, + ".placeholderLabel": { + "NativeBase.Input": {} + }, + ".stackedLabel": { + "NativeBase.Label": { + top: 5, + paddingLeft: null + }, + "NativeBase.Input": { + paddingLeft: null, + marginLeft: null + }, + "NativeBase.Icon": { + marginTop: 36 + }, + marginLeft: 15 + }, + ".floatingLabel": { + "NativeBase.Input": { + paddingLeft: null, + top: 10, + marginLeft: null + }, + "NativeBase.Label": { + left: 0, + top: 6 + }, + "NativeBase.Icon": { + top: 6 + }, + marginTop: 15, + marginLeft: 15 + }, + ".regular": { + "NativeBase.Label": { + left: 0 + }, + marginLeft: 0 + }, + ".rounded": { + "NativeBase.Label": { + left: 0 + }, + marginLeft: 0 + }, + ".underline": { + "NativeBase.Label": { + left: 0, + top: 0, + position: "relative" + }, + "NativeBase.Input": { + left: -15 + }, + marginLeft: 15 + }, + ".last": { + marginLeft: 0, + paddingLeft: 15 + }, + "NativeBase.Label": { + paddingRight: 5 + }, + marginLeft: 15 + } + }; + + return theme; +}; diff --git a/EXPO/native-base-theme/components/H1.js b/EXPO/native-base-theme/components/H1.js new file mode 100644 index 0000000..dd87958 --- /dev/null +++ b/EXPO/native-base-theme/components/H1.js @@ -0,0 +1,13 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const h1Theme = { + color: variables.textColor, + fontSize: variables.fontSizeH1, + lineHeight: variables.lineHeightH1, + }; + + return h1Theme; +}; diff --git a/EXPO/native-base-theme/components/H2.js b/EXPO/native-base-theme/components/H2.js new file mode 100644 index 0000000..0a1aa77 --- /dev/null +++ b/EXPO/native-base-theme/components/H2.js @@ -0,0 +1,13 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const h2Theme = { + color: variables.textColor, + fontSize: variables.fontSizeH2, + lineHeight: variables.lineHeightH2, + }; + + return h2Theme; +}; diff --git a/EXPO/native-base-theme/components/H3.js b/EXPO/native-base-theme/components/H3.js new file mode 100644 index 0000000..45e5891 --- /dev/null +++ b/EXPO/native-base-theme/components/H3.js @@ -0,0 +1,13 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const h3Theme = { + color: variables.textColor, + fontSize: variables.fontSizeH3, + lineHeight: variables.lineHeightH3 + }; + + return h3Theme; +}; diff --git a/EXPO/native-base-theme/components/Header.js b/EXPO/native-base-theme/components/Header.js new file mode 100644 index 0000000..9e7f30f --- /dev/null +++ b/EXPO/native-base-theme/components/Header.js @@ -0,0 +1,394 @@ +// @flow + +import { PixelRatio, StatusBar } from "react-native"; + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const platformStyle = variables.platformStyle; + const platform = variables.platform; + + const headerTheme = { + ".span": { + height: 128, + "NativeBase.Left": { + alignSelf: "flex-start" + }, + "NativeBase.Body": { + alignSelf: "flex-end", + alignItems: "flex-start", + justifyContent: "center", + paddingBottom: 26 + }, + "NativeBase.Right": { + alignSelf: "flex-start" + } + }, + ".hasSubtitle": { + "NativeBase.Body": { + "NativeBase.Title": { + fontSize: variables.titleFontSize - 2, + fontFamily: variables.titleFontfamily, + textAlign: "center", + fontWeight: "500", + paddingBottom: 3 + }, + "NativeBase.Subtitle": { + fontSize: variables.subTitleFontSize, + fontFamily: variables.titleFontfamily, + color: variables.subtitleColor, + textAlign: "center" + } + } + }, + ".transparent": { + backgroundColor: "transparent", + borderBottomColor: "transparent", + elevation: 0, + shadowColor: null, + shadowOffset: null, + shadowRadius: null, + shadowOpacity: null, + paddingTop: platform === "android" ? StatusBar.currentHeight : undefined, + height: platform === "android" ? variables.toolbarHeight + StatusBar.currentHeight : variables.toolbarHeight + }, + ".noShadow": { + elevation: 0, + shadowColor: null, + shadowOffset: null, + shadowRadius: null, + shadowOpacity: null + }, + ".hasTabs": { + elevation: 0, + shadowColor: null, + shadowOffset: null, + shadowRadius: null, + shadowOpacity: null, + borderBottomWidth: null + }, + ".hasSegment": { + elevation: 0, + shadowColor: null, + shadowOffset: null, + shadowRadius: null, + shadowOpacity: null, + borderBottomWidth: null, + "NativeBase.Left": { + flex: 0.3 + }, + "NativeBase.Right": { + flex: 0.3 + }, + "NativeBase.Body": { + flex: 1, + "NativeBase.Segment": { + marginRight: 0, + alignSelf: "center", + "NativeBase.Button": { + paddingLeft: 0, + paddingRight: 0 + } + } + } + }, + ".noLeft": { + "NativeBase.Left": { + width: platform === "ios" ? undefined : 0, + flex: platform === "ios" ? 1 : 0 + }, + "NativeBase.Body": { + "NativeBase.Title": { + paddingLeft: platform === "ios" ? undefined : 10 + }, + "NativeBase.Subtitle": { + paddingLeft: platform === "ios" ? undefined : 10 + } + } + }, + "NativeBase.Button": { + justifyContent: "center", + alignSelf: "center", + alignItems: "center", + ".transparent": { + "NativeBase.Text": { + color: variables.toolbarBtnTextColor, + fontWeight: "600" + }, + "NativeBase.Icon": { + color: variables.toolbarBtnColor + }, + "NativeBase.IconNB": { + color: variables.toolbarBtnColor + }, + paddingHorizontal: variables.buttonPadding + }, + paddingHorizontal: 15 + }, + ".searchBar": { + "NativeBase.Item": { + "NativeBase.Icon": { + backgroundColor: "transparent", + color: variables.dropdownLinkColor, + fontSize: variables.toolbarSearchIconSize, + alignItems: "center", + marginTop: 2, + paddingRight: 10, + paddingLeft: 10 + }, + "NativeBase.IconNB": { + backgroundColor: "transparent", + color: null, + alignSelf: "center" + }, + "NativeBase.Input": { + alignSelf: "center", + lineHeight: null, + height: variables.searchBarInputHeight + }, + alignSelf: "center", + alignItems: "center", + justifyContent: "flex-start", + flex: 1, + height: variables.searchBarHeight, + borderColor: "transparent", + backgroundColor: variables.toolbarInputColor + }, + "NativeBase.Button": { + ".transparent": { + "NativeBase.Text": { + fontWeight: "500" + }, + paddingHorizontal: null, + paddingLeft: platform === "ios" ? 10 : null + }, + paddingHorizontal: platform === "ios" ? undefined : null, + width: platform === "ios" ? undefined : 0, + height: platform === "ios" ? undefined : 0 + } + }, + ".rounded": { + "NativeBase.Item": { + borderRadius: + platform === "ios" && platformStyle !== "material" ? 25 : 3 + } + }, + "NativeBase.Left": { + "NativeBase.Button": { + ".hasText": { + marginLeft: -10, + height: 30, + "NativeBase.Icon": { + color: variables.toolbarBtnColor, + fontSize: variables.iconHeaderSize, + marginTop: 2, + marginRight: 5, + marginLeft: 2 + }, + "NativeBase.Text": { + color: variables.toolbarBtnTextColor, + fontSize: platform === "ios" ? 17 : 0, + marginLeft: 7, + lineHeight: 19.5 + }, + "NativeBase.IconNB": { + color: variables.toolbarBtnColor, + fontSize: variables.iconHeaderSize, + marginTop: 2, + marginRight: 5, + marginLeft: 2 + } + }, + ".transparent": { + marginLeft: + platform === "ios" && platformStyle !== "material" ? -3 : 0, + "NativeBase.Icon": { + color: variables.toolbarBtnColor, + fontSize: + platform === "ios" && variables.platformStyle !== "material" + ? variables.iconHeaderSize + 1 + : variables.iconHeaderSize, + marginTop: 0, + marginRight: 2, + marginLeft: 1, + paddingTop: 1 + }, + "NativeBase.IconNB": { + color: variables.toolbarBtnColor, + fontSize: + platform === "ios" && variables.platformStyle !== "material" + ? variables.iconHeaderSize + 1 + : variables.iconHeaderSize - 2, + marginTop: 0, + marginRight: 2, + marginLeft: 1, + paddingTop: 1 + }, + "NativeBase.Text": { + color: variables.toolbarBtnTextColor, + fontSize: platform === "ios" ? 17 : 0, + top: platform === "ios" ? 1 : -1.5, + paddingLeft: + platform === "ios" && platformStyle !== "material" ? 2 : 5, + paddingRight: + platform === "ios" && platformStyle !== "material" + ? undefined + : 10 + }, + backgroundColor: "transparent", + borderColor: null, + elevation: 0, + shadowColor: null, + shadowOffset: null, + shadowRadius: null, + shadowOpacity: null + }, + "NativeBase.Icon": { + color: variables.toolbarBtnColor + }, + "NativeBase.IconNB": { + color: variables.toolbarBtnColor + }, + alignSelf: null, + paddingRight: variables.buttonPadding, + paddingLeft: platform === "ios" && platformStyle !== "material" ? 4 : 8 + }, + flex: platform === "ios" && platformStyle !== "material" ? 1 : 0.4, + alignSelf: "center", + alignItems: "flex-start" + }, + "NativeBase.Body": { + flex: 1, + alignItems: + platform === "ios" && platformStyle !== "material" + ? "center" + : "flex-start", + alignSelf: "center", + "NativeBase.Segment": { + borderWidth: 0, + alignSelf: "flex-end", + marginRight: platform === "ios" ? -40 : -55 + }, + "NativeBase.Button": { + alignSelf: "center", + ".transparent": { + backgroundColor: "transparent" + }, + "NativeBase.Icon": { + color: variables.toolbarBtnColor + }, + "NativeBase.IconNB": { + color: variables.toolbarBtnColor + }, + "NativeBase.Text": { + color: variables.inverseTextColor, + backgroundColor: "transparent" + } + } + }, + "NativeBase.Right": { + "NativeBase.Button": { + ".hasText": { + height: 30, + "NativeBase.Icon": { + color: variables.toolbarBtnColor, + fontSize: variables.iconHeaderSize - 2, + marginTop: 2, + marginRight: 2, + marginLeft: 5 + }, + "NativeBase.Text": { + color: variables.toolbarBtnTextColor, + fontSize: platform === "ios" ? 17 : 14, + lineHeight: 19.5 + }, + "NativeBase.IconNB": { + color: variables.toolbarBtnColor, + fontSize: variables.iconHeaderSize - 2, + marginTop: 2, + marginRight: 2, + marginLeft: 5 + } + }, + ".transparent": { + marginRight: platform === "ios" ? -9 : -5, + paddingLeft: 15, + paddingRight: 12, + paddingHorizontal: 15, + borderRadius: 50, + "NativeBase.Icon": { + color: variables.toolbarBtnColor, + fontSize: variables.iconHeaderSize - 2, + marginTop: 0, + marginLeft: 2, + marginRight: 0 + // paddingTop: 0 + }, + "NativeBase.IconNB": { + color: variables.toolbarBtnColor, + fontSize: variables.iconHeaderSize - 2, + marginTop: 0, + marginLeft: 2, + marginRight: 0 + // paddingTop: 0 + }, + "NativeBase.Text": { + color: variables.toolbarBtnTextColor, + fontSize: platform === "ios" ? 17 : 14, + top: platform === "ios" ? 1 : -1.5, + paddingRight: + platform === "ios" && variables.platformStyle !== "material" + ? 0 + : undefined + }, + backgroundColor: "transparent", + borderColor: null, + elevation: 0, + shadowColor: null, + shadowOffset: null, + shadowRadius: null, + shadowOpacity: null + }, + "NativeBase.Icon": { + color: variables.toolbarBtnColor + }, + "NativeBase.IconNB": { + color: variables.toolbarBtnColor + }, + alignSelf: null, + paddingHorizontal: variables.buttonPadding + }, + flex: 1, + alignSelf: "center", + alignItems: "flex-end", + flexDirection: "row", + justifyContent: "flex-end" + }, + backgroundColor: variables.toolbarDefaultBg, + flexDirection: "row", + // paddingHorizontal: 10, + paddingLeft: + platform === "ios" && variables.platformStyle !== "material" ? 6 : 10, + paddingRight: 10, + justifyContent: "center", + paddingTop: platform === "ios" ? 18 : 0, + borderBottomWidth: + platform === "ios" ? 1 / PixelRatio.getPixelSizeForLayoutSize(1) : 0, + borderBottomColor: variables.toolbarDefaultBorder, + height: + variables.platform === "ios" && variables.platformStyle === "material" + ? variables.toolbarHeight + 10 + : variables.toolbarHeight, + elevation: 3, + shadowColor: platformStyle === "material" ? "#000" : undefined, + shadowOffset: + platformStyle === "material" ? { width: 0, height: 2 } : undefined, + shadowOpacity: platformStyle === "material" ? 0.2 : undefined, + shadowRadius: platformStyle === "material" ? 1.2 : undefined, + top: 0, + left: 0, + right: 0 + }; + + return headerTheme; +}; diff --git a/EXPO/native-base-theme/components/Icon.js b/EXPO/native-base-theme/components/Icon.js new file mode 100644 index 0000000..0b75534 --- /dev/null +++ b/EXPO/native-base-theme/components/Icon.js @@ -0,0 +1,12 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const iconTheme = { + fontSize: variables.iconFontSize, + color: "#000" + }; + + return iconTheme; +}; diff --git a/EXPO/native-base-theme/components/Input.js b/EXPO/native-base-theme/components/Input.js new file mode 100644 index 0000000..ad0abff --- /dev/null +++ b/EXPO/native-base-theme/components/Input.js @@ -0,0 +1,19 @@ +// @flow + +import variable from './../variables/platform'; + +export default (variables /*: * */ = variable) => { + const inputTheme = { + '.multiline': { + height: null, + }, + height: variables.inputHeightBase, + color: variables.inputColor, + paddingLeft: 5, + paddingRight: 5, + flex: 1, + fontSize: variables.inputFontSize + }; + + return inputTheme; +}; diff --git a/EXPO/native-base-theme/components/InputGroup.js b/EXPO/native-base-theme/components/InputGroup.js new file mode 100644 index 0000000..9d33525 --- /dev/null +++ b/EXPO/native-base-theme/components/InputGroup.js @@ -0,0 +1,132 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const inputGroupTheme = { + "NativeBase.Icon": { + fontSize: 24, + color: variables.sTabBarActiveTextColor, + paddingHorizontal: 5 + }, + "NativeBase.IconNB": { + fontSize: 24, + color: variables.sTabBarActiveTextColor, + paddingHorizontal: 5 + }, + "NativeBase.Input": { + height: variables.inputHeightBase, + color: variables.inputColor, + paddingLeft: 5, + paddingRight: 5, + flex: 1, + fontSize: variables.inputFontSize, + lineHeight: variables.inputLineHeight + }, + ".underline": { + ".success": { + borderColor: variables.inputSuccessBorderColor + }, + ".error": { + borderColor: variables.inputErrorBorderColor + }, + paddingLeft: 5, + borderWidth: variables.borderWidth, + borderTopWidth: 0, + borderRightWidth: 0, + borderLeftWidth: 0, + borderColor: variables.inputBorderColor + }, + ".regular": { + ".success": { + borderColor: variables.inputSuccessBorderColor + }, + ".error": { + borderColor: variables.inputErrorBorderColor + }, + paddingLeft: 5, + borderWidth: variables.borderWidth, + borderColor: variables.inputBorderColor + }, + ".rounded": { + ".success": { + borderColor: variables.inputSuccessBorderColor + }, + ".error": { + borderColor: variables.inputErrorBorderColor + }, + paddingLeft: 5, + borderWidth: variables.borderWidth, + borderRadius: variables.inputGroupRoundedBorderRadius, + borderColor: variables.inputBorderColor + }, + + ".success": { + "NativeBase.Icon": { + color: variables.inputSuccessBorderColor + }, + "NativeBase.IconNB": { + color: variables.inputSuccessBorderColor + }, + ".rounded": { + borderRadius: 30, + borderColor: variables.inputSuccessBorderColor + }, + ".regular": { + borderColor: variables.inputSuccessBorderColor + }, + ".underline": { + borderWidth: variables.borderWidth, + borderTopWidth: 0, + borderRightWidth: 0, + borderLeftWidth: 0, + borderColor: variables.inputSuccessBorderColor + }, + borderColor: variables.inputSuccessBorderColor + }, + + ".error": { + "NativeBase.Icon": { + color: variables.inputErrorBorderColor + }, + "NativeBase.IconNB": { + color: variables.inputErrorBorderColor + }, + ".rounded": { + borderRadius: 30, + borderColor: variables.inputErrorBorderColor + }, + ".regular": { + borderColor: variables.inputErrorBorderColor + }, + ".underline": { + borderWidth: variables.borderWidth, + borderTopWidth: 0, + borderRightWidth: 0, + borderLeftWidth: 0, + borderColor: variables.inputErrorBorderColor + }, + borderColor: variables.inputErrorBorderColor + }, + ".disabled": { + "NativeBase.Icon": { + color: "#384850" + }, + "NativeBase.IconNB": { + color: "#384850" + } + }, + + paddingLeft: 5, + borderWidth: variables.borderWidth, + borderTopWidth: 0, + borderRightWidth: 0, + borderLeftWidth: 0, + borderColor: variables.inputBorderColor, + backgroundColor: "transparent", + flexDirection: "row", + alignItems: "center" + }; + + return inputGroupTheme; +}; diff --git a/EXPO/native-base-theme/components/Item.js b/EXPO/native-base-theme/components/Item.js new file mode 100644 index 0000000..447f297 --- /dev/null +++ b/EXPO/native-base-theme/components/Item.js @@ -0,0 +1,240 @@ +// @flow + +import { Platform } from "react-native"; + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const itemTheme = { + ".floatingLabel": { + "NativeBase.Input": { + height: 50, + top: 8, + paddingTop: 3, + paddingBottom: 7, + ".multiline": { + minHeight: variables.inputHeightBase, + paddingTop: Platform.OS === "ios" ? 10 : 3, + paddingBottom: Platform.OS === "ios" ? 14 : 10 + } + }, + "NativeBase.Label": { + paddingTop: 5 + }, + "NativeBase.Icon": { + top: 6, + paddingTop: 8 + }, + "NativeBase.IconNB": { + top: 6, + paddingTop: 8 + } + }, + ".fixedLabel": { + "NativeBase.Label": { + position: null, + top: null, + left: null, + right: null, + flex: 1, + height: null, + width: null, + fontSize: variables.inputFontSize + }, + "NativeBase.Input": { + flex: 2, + fontSize: variables.inputFontSize + } + }, + ".stackedLabel": { + "NativeBase.Label": { + position: null, + top: null, + left: null, + right: null, + paddingTop: 5, + alignSelf: "flex-start", + fontSize: variables.inputFontSize - 2 + }, + "NativeBase.Icon": { + marginTop: 36 + }, + "NativeBase.Input": { + alignSelf: Platform.OS === "ios" ? "stretch" : "flex-start", + flex: 1, + width: Platform.OS === "ios" ? null : variables.deviceWidth - 25, + fontSize: variables.inputFontSize, + lineHeight: variables.inputLineHeight - 6, + ".secureTextEntry": { + fontSize: variables.inputFontSize - 4 + }, + ".multiline": { + paddingTop: Platform.OS === "ios" ? 9 : undefined, + paddingBottom: Platform.OS === "ios" ? 9 : undefined + } + }, + flexDirection: null, + minHeight: variables.inputHeightBase + 15 + }, + ".inlineLabel": { + "NativeBase.Label": { + position: null, + top: null, + left: null, + right: null, + paddingRight: 20, + height: null, + width: null, + fontSize: variables.inputFontSize + }, + "NativeBase.Input": { + paddingLeft: 5, + fontSize: variables.inputFontSize + }, + flexDirection: "row" + }, + "NativeBase.Label": { + fontSize: variables.inputFontSize, + color: variables.inputColorPlaceholder, + paddingRight: 5 + }, + "NativeBase.Icon": { + fontSize: 24, + paddingRight: 8 + }, + "NativeBase.IconNB": { + fontSize: 24, + paddingRight: 8 + }, + "NativeBase.Input": { + ".multiline": { + height: null + }, + height: variables.inputHeightBase, + color: variables.inputColor, + flex: 1, + top: Platform.OS === "ios" ? 1.5 : undefined, + fontSize: variables.inputFontSize + }, + ".underline": { + "NativeBase.Input": { + paddingLeft: 15 + }, + ".success": { + borderColor: variables.inputSuccessBorderColor + }, + ".error": { + borderColor: variables.inputErrorBorderColor + }, + borderWidth: variables.borderWidth * 2, + borderTopWidth: 0, + borderRightWidth: 0, + borderLeftWidth: 0, + borderColor: variables.inputBorderColor + }, + ".regular": { + "NativeBase.Input": { + paddingLeft: 8 + }, + "NativeBase.Icon": { + paddingLeft: 10 + }, + ".success": { + borderColor: variables.inputSuccessBorderColor + }, + ".error": { + borderColor: variables.inputErrorBorderColor + }, + borderWidth: variables.borderWidth * 2, + borderColor: variables.inputBorderColor + }, + ".rounded": { + "NativeBase.Input": { + paddingLeft: 8 + }, + "NativeBase.Icon": { + paddingLeft: 10 + }, + ".success": { + borderColor: variables.inputSuccessBorderColor + }, + ".error": { + borderColor: variables.inputErrorBorderColor + }, + borderWidth: variables.borderWidth * 2, + borderRadius: 30, + borderColor: variables.inputBorderColor + }, + + ".success": { + "NativeBase.Icon": { + color: variables.inputSuccessBorderColor + }, + "NativeBase.IconNB": { + color: variables.inputSuccessBorderColor + }, + ".rounded": { + borderRadius: 30, + borderColor: variables.inputSuccessBorderColor + }, + ".regular": { + borderColor: variables.inputSuccessBorderColor + }, + ".underline": { + borderWidth: variables.borderWidth * 2, + borderTopWidth: 0, + borderRightWidth: 0, + borderLeftWidth: 0, + borderColor: variables.inputSuccessBorderColor + }, + borderColor: variables.inputSuccessBorderColor + }, + + ".error": { + "NativeBase.Icon": { + color: variables.inputErrorBorderColor + }, + "NativeBase.IconNB": { + color: variables.inputErrorBorderColor + }, + ".rounded": { + borderRadius: 30, + borderColor: variables.inputErrorBorderColor + }, + ".regular": { + borderColor: variables.inputErrorBorderColor + }, + ".underline": { + borderWidth: variables.borderWidth * 2, + borderTopWidth: 0, + borderRightWidth: 0, + borderLeftWidth: 0, + borderColor: variables.inputErrorBorderColor + }, + borderColor: variables.inputErrorBorderColor + }, + ".disabled": { + "NativeBase.Icon": { + color: "#384850" + }, + "NativeBase.IconNB": { + color: "#384850" + } + }, + ".picker": { + marginLeft: 0 + }, + + borderWidth: variables.borderWidth * 2, + borderTopWidth: 0, + borderRightWidth: 0, + borderLeftWidth: 0, + borderColor: variables.inputBorderColor, + backgroundColor: "transparent", + flexDirection: "row", + alignItems: "center", + marginLeft: 2 + }; + + return itemTheme; +}; diff --git a/EXPO/native-base-theme/components/Label.js b/EXPO/native-base-theme/components/Label.js new file mode 100644 index 0000000..01aa47b --- /dev/null +++ b/EXPO/native-base-theme/components/Label.js @@ -0,0 +1,14 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const labelTheme = { + ".focused": { + width: 0 + }, + fontSize: 17 + }; + + return labelTheme; +}; diff --git a/EXPO/native-base-theme/components/Left.js b/EXPO/native-base-theme/components/Left.js new file mode 100644 index 0000000..0a4bc96 --- /dev/null +++ b/EXPO/native-base-theme/components/Left.js @@ -0,0 +1,13 @@ +// @flow + +import variable from './../variables/platform'; + +export default (variables /*: * */ = variable) => { + const leftTheme = { + flex: 1, + alignSelf: 'center', + alignItems: 'flex-start', + }; + + return leftTheme; +}; diff --git a/EXPO/native-base-theme/components/ListItem.js b/EXPO/native-base-theme/components/ListItem.js new file mode 100644 index 0000000..94a345d --- /dev/null +++ b/EXPO/native-base-theme/components/ListItem.js @@ -0,0 +1,444 @@ +// @flow + +import { Platform, PixelRatio } from "react-native"; + +import pickerTheme from "./Picker"; +import variable from "./../variables/platform"; + +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 === "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 === "ios" ? 30 : 40, + borderColor: "transparent", + backgroundColor: "#fff", + borderRadius: 5 + }, + "NativeBase.Button": { + ".transparent": { + "NativeBase.Text": { + fontWeight: "500" + }, + paddingHorizontal: null, + paddingLeft: platform === "ios" ? 10 : null + }, + paddingHorizontal: platform === "ios" ? undefined : null, + width: platform === "ios" ? undefined : 0, + height: 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 === "ios" ? variables.borderWidth : null, + marginLeft: null, + padding: variables.listItemPadding, + paddingLeft: variables.listItemPadding + 5, + paddingTop: + platform === "ios" ? variables.listItemPadding + 25 : undefined, + paddingBottom: + platform === "android" ? variables.listItemPadding + 20 : undefined, + flexDirection: "row", + borderColor: variables.listBorderColor, + "NativeBase.Text": { + fontSize: 14, + color: 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 === "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; +}; diff --git a/EXPO/native-base-theme/components/Picker.android.js b/EXPO/native-base-theme/components/Picker.android.js new file mode 100644 index 0000000..b1867f9 --- /dev/null +++ b/EXPO/native-base-theme/components/Picker.android.js @@ -0,0 +1,16 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const pickerTheme = { + ".note": { + color: "#8F8E95" + }, + // width: 90, + marginRight: -4, + flexGrow: 1 + }; + + return pickerTheme; +}; diff --git a/EXPO/native-base-theme/components/Picker.ios.js b/EXPO/native-base-theme/components/Picker.ios.js new file mode 100644 index 0000000..36ea854 --- /dev/null +++ b/EXPO/native-base-theme/components/Picker.ios.js @@ -0,0 +1,9 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const pickerTheme = {}; + + return pickerTheme; +}; diff --git a/EXPO/native-base-theme/components/Picker.js b/EXPO/native-base-theme/components/Picker.js new file mode 100644 index 0000000..b1867f9 --- /dev/null +++ b/EXPO/native-base-theme/components/Picker.js @@ -0,0 +1,16 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const pickerTheme = { + ".note": { + color: "#8F8E95" + }, + // width: 90, + marginRight: -4, + flexGrow: 1 + }; + + return pickerTheme; +}; diff --git a/EXPO/native-base-theme/components/Radio.js b/EXPO/native-base-theme/components/Radio.js new file mode 100644 index 0000000..b6fb0ea --- /dev/null +++ b/EXPO/native-base-theme/components/Radio.js @@ -0,0 +1,28 @@ +// @flow + +import { Platform } from "react-native"; + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const radioTheme = { + ".selected": { + "NativeBase.IconNB": { + color: Platform.OS === "ios" + ? variables.radioColor + : variables.radioSelectedColorAndroid, + lineHeight: Platform.OS === "ios" ? 25 : variables.radioBtnLineHeight, + height: Platform.OS === "ios" ? 20 : undefined + } + }, + "NativeBase.IconNB": { + color: Platform.OS === "ios" ? "transparent" : undefined, + lineHeight: Platform.OS === "ios" + ? undefined + : variables.radioBtnLineHeight, + fontSize: Platform.OS === "ios" ? undefined : variables.radioBtnSize + } + }; + + return radioTheme; +}; diff --git a/EXPO/native-base-theme/components/Right.js b/EXPO/native-base-theme/components/Right.js new file mode 100644 index 0000000..382e70b --- /dev/null +++ b/EXPO/native-base-theme/components/Right.js @@ -0,0 +1,16 @@ +// @flow + +import variable from './../variables/platform'; + +export default (variables /*: * */ = variable) => { + const rightTheme = { + 'NativeBase.Button': { + alignSelf: null, + }, + flex: 1, + alignSelf: 'center', + alignItems: 'flex-end', + }; + + return rightTheme; +}; diff --git a/EXPO/native-base-theme/components/Segment.js b/EXPO/native-base-theme/components/Segment.js new file mode 100644 index 0000000..6ff15c2 --- /dev/null +++ b/EXPO/native-base-theme/components/Segment.js @@ -0,0 +1,56 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const platform = variables.platform; + + const segmentTheme = { + height: 45, + borderColor: variables.segmentBorderColorMain, + flexDirection: "row", + justifyContent: "center", + backgroundColor: variables.segmentBackgroundColor, + "NativeBase.Button": { + alignSelf: "center", + borderRadius: 0, + paddingTop: 3, + paddingBottom: 3, + height: 30, + backgroundColor: "transparent", + borderWidth: 1, + borderLeftWidth: 0, + borderColor: variables.segmentBorderColor, + elevation: 0, + ".active": { + backgroundColor: variables.segmentActiveBackgroundColor, + "NativeBase.Text": { + color: variables.segmentActiveTextColor + }, + "NativeBase.Icon": { + color: variables.segmentActiveTextColor + } + }, + ".first": { + borderTopLeftRadius: platform === "ios" ? 5 : undefined, + borderBottomLeftRadius: platform === "ios" ? 5 : undefined, + borderLeftWidth: 1 + }, + ".last": { + borderTopRightRadius: platform === "ios" ? 5 : undefined, + borderBottomRightRadius: platform === "ios" ? 5 : undefined + }, + "NativeBase.Text": { + color: variables.segmentTextColor, + fontSize: 14 + }, + "NativeBase.Icon": { + fontSize: 22, + paddingTop: 0, + color: variables.segmentTextColor + } + } + }; + + return segmentTheme; +}; diff --git a/EXPO/native-base-theme/components/Separator.js b/EXPO/native-base-theme/components/Separator.js new file mode 100644 index 0000000..f31b48a --- /dev/null +++ b/EXPO/native-base-theme/components/Separator.js @@ -0,0 +1,49 @@ +// @flow + +import variable from './../variables/platform'; + +export default (variables /*: * */ = variable) => { + const theme = { + '.group': { + height: 50, + paddingVertical: variables.listItemPadding - 8, + paddingTop: variables.listItemPadding + 12, + '.bordered': { + height: 50, + paddingVertical: variables.listItemPadding - 8, + paddingTop: variables.listItemPadding + 12, + }, + }, + '.bordered': { + '.noTopBorder': { + borderTopWidth: 0, + }, + '.noBottomBorder': { + borderBottomWidth: 0, + }, + height: 35, + paddingTop: variables.listItemPadding + 2, + paddingBottom: variables.listItemPadding, + borderBottomWidth: variables.borderWidth, + borderTopWidth: variables.borderWidth, + borderColor: variables.listBorderColor, + }, + 'NativeBase.Text': { + fontSize: variables.tabBarTextSize - 2, + color: '#777', + }, + '.noTopBorder': { + borderTopWidth: 0, + }, + '.noBottomBorder': { + borderBottomWidth: 0, + }, + height: 38, + backgroundColor: '#F0EFF5', + flex: 1, + justifyContent: 'center', + paddingLeft: variables.listItemPadding + 5, + }; + + return theme; +}; diff --git a/EXPO/native-base-theme/components/Spinner.js b/EXPO/native-base-theme/components/Spinner.js new file mode 100644 index 0000000..edc811b --- /dev/null +++ b/EXPO/native-base-theme/components/Spinner.js @@ -0,0 +1,11 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const spinnerTheme = { + height: 80 + }; + + return spinnerTheme; +}; diff --git a/EXPO/native-base-theme/components/Subtitle.js b/EXPO/native-base-theme/components/Subtitle.js new file mode 100644 index 0000000..897c560 --- /dev/null +++ b/EXPO/native-base-theme/components/Subtitle.js @@ -0,0 +1,18 @@ +// @flow + +import { Platform } from "react-native"; + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const subtitleTheme = { + fontSize: variables.subTitleFontSize, + fontFamily: variables.titleFontfamily, + color: variables.subtitleColor, + textAlign: "center", + paddingLeft: Platform.OS === "ios" ? 4 : 0, + marginLeft: Platform.OS === "ios" ? undefined : -3 + }; + + return subtitleTheme; +}; diff --git a/EXPO/native-base-theme/components/SwipeRow.js b/EXPO/native-base-theme/components/SwipeRow.js new file mode 100644 index 0000000..3686582 --- /dev/null +++ b/EXPO/native-base-theme/components/SwipeRow.js @@ -0,0 +1,48 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const swipeRowTheme = { + "NativeBase.ListItem": { + ".list": { + backgroundColor: "#FFF", + }, + marginLeft: 0, + }, + "NativeBase.Left": { + flex: 0, + alignSelf: null, + alignItems: null, + "NativeBase.Button": { + flex: 1, + alignItems: "center", + justifyContent: "center", + alignSelf: "stretch", + borderRadius: 0, + }, + }, + "NativeBase.Right": { + flex: 0, + alignSelf: null, + alignItems: null, + "NativeBase.Button": { + flex: 1, + alignItems: "center", + justifyContent: "center", + alignSelf: "stretch", + borderRadius: 0, + }, + }, + "NativeBase.Button": { + flex: 1, + height: null, + alignItems: "center", + justifyContent: "center", + alignSelf: "stretch", + borderRadius: 0, + }, + }; + + return swipeRowTheme; +}; diff --git a/EXPO/native-base-theme/components/Switch.js b/EXPO/native-base-theme/components/Switch.js new file mode 100644 index 0000000..116fa8f --- /dev/null +++ b/EXPO/native-base-theme/components/Switch.js @@ -0,0 +1,11 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const switchTheme = { + marginVertical: -5, + }; + + return switchTheme; +}; diff --git a/EXPO/native-base-theme/components/Tab.js b/EXPO/native-base-theme/components/Tab.js new file mode 100644 index 0000000..35ede8b --- /dev/null +++ b/EXPO/native-base-theme/components/Tab.js @@ -0,0 +1,12 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const tabTheme = { + flex: 1, + backgroundColor: "#FFF" + }; + + return tabTheme; +}; diff --git a/EXPO/native-base-theme/components/TabBar.js b/EXPO/native-base-theme/components/TabBar.js new file mode 100644 index 0000000..9714cdc --- /dev/null +++ b/EXPO/native-base-theme/components/TabBar.js @@ -0,0 +1,57 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const tabBarTheme = { + ".tabIcon": { + height: undefined + }, + ".vertical": { + height: 60 + }, + "NativeBase.Button": { + ".transparent": { + "NativeBase.Text": { + fontSize: variables.tabFontSize, + color: variables.sTabBarActiveTextColor, + fontWeight: "400" + }, + "NativeBase.IconNB": { + color: variables.sTabBarActiveTextColor + } + }, + "NativeBase.IconNB": { + color: variables.sTabBarActiveTextColor + }, + "NativeBase.Text": { + fontSize: variables.tabFontSize, + color: variables.sTabBarActiveTextColor, + fontWeight: "400" + }, + ".isTabActive": { + "NativeBase.Text": { + fontWeight: "900" + } + }, + flex: 1, + alignSelf: "stretch", + alignItems: "center", + justifyContent: "center", + borderRadius: null, + borderBottomColor: "transparent", + backgroundColor: variables.tabBgColor + }, + height: 45, + flexDirection: "row", + justifyContent: "space-around", + borderWidth: 1, + borderTopWidth: 0, + borderLeftWidth: 0, + borderRightWidth: 0, + borderBottomColor: "#ccc", + backgroundColor: variables.tabBgColor + }; + + return tabBarTheme; +}; diff --git a/EXPO/native-base-theme/components/TabContainer.js b/EXPO/native-base-theme/components/TabContainer.js new file mode 100644 index 0000000..44d4886 --- /dev/null +++ b/EXPO/native-base-theme/components/TabContainer.js @@ -0,0 +1,26 @@ +// @flow + +import variable from "./../variables/platform"; +import { Platform } from "react-native"; + +export default (variables /*: * */ = variable) => { + const platformStyle = variables.platformStyle; + const platform = variables.platform; + + const tabContainerTheme = { + elevation: 3, + height: 50, + flexDirection: "row", + shadowColor: platformStyle === "material" ? "#000" : undefined, + shadowOffset: platformStyle === "material" + ? { width: 0, height: 2 } + : undefined, + shadowOpacity: platformStyle === "material" ? 0.2 : undefined, + shadowRadius: platformStyle === "material" ? 1.2 : undefined, + justifyContent: "space-around", + borderBottomWidth: Platform.OS === "ios" ? variables.borderWidth : 0, + borderColor: variables.topTabBarBorderColor + }; + + return tabContainerTheme; +}; diff --git a/EXPO/native-base-theme/components/TabHeading.js b/EXPO/native-base-theme/components/TabHeading.js new file mode 100644 index 0000000..9f79903 --- /dev/null +++ b/EXPO/native-base-theme/components/TabHeading.js @@ -0,0 +1,39 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const platform = variables.platform; + + const tabHeadingTheme = { + flexDirection: "row", + backgroundColor: variables.tabDefaultBg, + flex: 1, + alignItems: "center", + justifyContent: "center", + ".scrollable": { + paddingHorizontal: 20, + flex: platform === "android" ? 0 : 1, + minWidth: platform === "android" ? undefined : 60 + }, + "NativeBase.Text": { + color: variables.topTabBarTextColor, + marginHorizontal: 7 + }, + "NativeBase.Icon": { + color: variables.topTabBarTextColor, + fontSize: platform === "ios" ? 26 : undefined + }, + ".active": { + "NativeBase.Text": { + color: variables.topTabBarActiveTextColor, + fontWeight: "600" + }, + "NativeBase.Icon": { + color: variables.topTabBarActiveTextColor + } + } + }; + + return tabHeadingTheme; +}; diff --git a/EXPO/native-base-theme/components/Text.js b/EXPO/native-base-theme/components/Text.js new file mode 100644 index 0000000..2c95ce1 --- /dev/null +++ b/EXPO/native-base-theme/components/Text.js @@ -0,0 +1,17 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const textTheme = { + fontSize: variables.DefaultFontSize, + fontFamily: variables.fontFamily, + color: variables.textColor, + ".note": { + color: "#a7a7a7", + fontSize: variables.noteFontSize + } + }; + + return textTheme; +}; diff --git a/EXPO/native-base-theme/components/Textarea.js b/EXPO/native-base-theme/components/Textarea.js new file mode 100644 index 0000000..f5e3974 --- /dev/null +++ b/EXPO/native-base-theme/components/Textarea.js @@ -0,0 +1,25 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const textAreaTheme = { + ".underline": { + borderBottomWidth: variables.borderWidth, + marginTop: 5, + borderColor: variables.inputBorderColor + }, + ".bordered": { + borderWidth: 1, + marginTop: 5, + borderColor: variables.inputBorderColor + }, + color: variables.textColor, + paddingLeft: 10, + paddingRight: 5, + fontSize: 15, + textAlignVertical: "top" + }; + + return textAreaTheme; +}; diff --git a/EXPO/native-base-theme/components/Thumbnail.js b/EXPO/native-base-theme/components/Thumbnail.js new file mode 100644 index 0000000..efff792 --- /dev/null +++ b/EXPO/native-base-theme/components/Thumbnail.js @@ -0,0 +1,42 @@ +// @flow + +import variable from './../variables/platform'; + +export default (variables /*: * */ = variable) => { + const thumbnailTheme = { + '.square': { + borderRadius: 0, + '.small': { + width: 36, + height: 36, + borderRadius: 0, + }, + '.large': { + width: 80, + height: 80, + borderRadius: 0, + }, + }, + '.small': { + width: 36, + height: 36, + borderRadius: 18, + '.square': { + borderRadius: 0, + }, + }, + '.large': { + width: 80, + height: 80, + borderRadius: 40, + '.square': { + borderRadius: 0, + }, + }, + width: 56, + height: 56, + borderRadius: 28, + }; + + return thumbnailTheme; +}; diff --git a/EXPO/native-base-theme/components/Title.js b/EXPO/native-base-theme/components/Title.js new file mode 100644 index 0000000..5792e57 --- /dev/null +++ b/EXPO/native-base-theme/components/Title.js @@ -0,0 +1,20 @@ +// @flow + +import { Platform } from "react-native"; + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const titleTheme = { + fontSize: variables.titleFontSize, + fontFamily: variables.titleFontfamily, + color: variables.titleFontColor, + fontWeight: Platform.OS === "ios" ? "700" : undefined, + textAlign: "center", + paddingLeft: Platform.OS === "ios" ? 4 : 0, + marginLeft: Platform.OS === "ios" ? undefined : -3, + paddingTop: 1 + }; + + return titleTheme; +}; diff --git a/EXPO/native-base-theme/components/Toast.js b/EXPO/native-base-theme/components/Toast.js new file mode 100644 index 0000000..a595308 --- /dev/null +++ b/EXPO/native-base-theme/components/Toast.js @@ -0,0 +1,40 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const platform = variables.platform; + + const toastTheme = { + ".danger": { + backgroundColor: variables.brandDanger + }, + ".warning": { + backgroundColor: variables.brandWarning + }, + ".success": { + backgroundColor: variables.brandSuccess + }, + backgroundColor: "rgba(0,0,0,0.8)", + borderRadius: platform === "ios" ? 5 : 0, + flexDirection: "row", + justifyContent: "space-between", + alignItems: "center", + padding: 10, + minHeight: 50, + "NativeBase.Text": { + color: "#fff", + flex: 1 + }, + "NativeBase.Button": { + backgroundColor: "transparent", + height: 30, + elevation: 0, + "NativeBase.Text": { + fontSize: 14 + } + } + }; + + return toastTheme; +}; diff --git a/EXPO/native-base-theme/components/View.js b/EXPO/native-base-theme/components/View.js new file mode 100644 index 0000000..b9c7aeb --- /dev/null +++ b/EXPO/native-base-theme/components/View.js @@ -0,0 +1,13 @@ +// @flow + +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const viewTheme = { + ".padder": { + padding: variables.contentPadding + } + }; + + return viewTheme; +}; diff --git a/EXPO/native-base-theme/components/index.js b/EXPO/native-base-theme/components/index.js new file mode 100644 index 0000000..d1102fd --- /dev/null +++ b/EXPO/native-base-theme/components/index.js @@ -0,0 +1,242 @@ +// @flow + +import _ from "lodash"; +import bodyTheme from "./Body"; +import leftTheme from "./Left"; +import rightTheme from "./Right"; +import headerTheme from "./Header"; +import switchTheme from "./Switch"; +import thumbnailTheme from "./Thumbnail"; +import containerTheme from "./Container"; +import contentTheme from "./Content"; +import buttonTheme from "./Button"; +import titleTheme from "./Title"; +import subtitleTheme from "./Subtitle"; +import inputGroupTheme from "./InputGroup"; +import badgeTheme from "./Badge"; +import checkBoxTheme from "./CheckBox"; +import cardTheme from "./Card"; +import radioTheme from "./Radio"; +import h3Theme from "./H3"; +import h2Theme from "./H2"; +import h1Theme from "./H1"; +import footerTheme from "./Footer"; +import footerTabTheme from "./FooterTab"; +import fabTheme from "./Fab"; +import itemTheme from "./Item"; +import labelTheme from "./Label"; +import textAreaTheme from "./Textarea"; +import textTheme from "./Text"; +import toastTheme from "./Toast"; +import tabTheme from "./Tab"; +import tabBarTheme from "./TabBar"; +import tabContainerTheme from "./TabContainer"; +import viewTheme from "./View"; +import tabHeadingTheme from "./TabHeading"; +import iconTheme from "./Icon"; +import inputTheme from "./Input"; +import swipeRowTheme from "./SwipeRow"; +import segmentTheme from "./Segment"; +import spinnerTheme from "./Spinner"; +import cardItemTheme from "./CardItem"; +import listItemTheme from "./ListItem"; +import formTheme from "./Form"; +import separatorTheme from "./Separator"; +import pickerTheme from "./Picker" +import variable from "./../variables/platform"; + +export default (variables /*: * */ = variable) => { + const theme = { + variables, + "NativeBase.Left": { + ...leftTheme(variables) + }, + "NativeBase.Right": { + ...rightTheme(variables) + }, + "NativeBase.Body": { + ...bodyTheme(variables) + }, + + "NativeBase.Header": { + ...headerTheme(variables) + }, + + "NativeBase.Button": { + ...buttonTheme(variables) + }, + + "NativeBase.Title": { + ...titleTheme(variables) + }, + "NativeBase.Subtitle": { + ...subtitleTheme(variables) + }, + + "NativeBase.InputGroup": { + ...inputGroupTheme(variables) + }, + + "NativeBase.Input": { + ...inputTheme(variables) + }, + + "NativeBase.Badge": { + ...badgeTheme(variables) + }, + + "NativeBase.CheckBox": { + ...checkBoxTheme(variables) + }, + + "NativeBase.Radio": { + ...radioTheme(variables) + }, + + "NativeBase.Card": { + ...cardTheme(variables) + }, + + "NativeBase.CardItem": { + ...cardItemTheme(variables) + }, + + "NativeBase.Toast": { + ...toastTheme(variables) + }, + + "NativeBase.H1": { + ...h1Theme(variables) + }, + "NativeBase.H2": { + ...h2Theme(variables) + }, + "NativeBase.H3": { + ...h3Theme(variables) + }, + "NativeBase.Form": { + ...formTheme(variables) + }, + + "NativeBase.Container": { + ...containerTheme(variables) + }, + "NativeBase.Content": { + ...contentTheme(variables) + }, + + "NativeBase.Footer": { + ...footerTheme(variables) + }, + + "NativeBase.Tabs": { + flex: 1 + }, + + "NativeBase.FooterTab": { + ...footerTabTheme(variables) + }, + + "NativeBase.ListItem": { + ...listItemTheme(variables) + }, + + "NativeBase.ListItem1": { + ...listItemTheme(variables) + }, + + "NativeBase.Icon": { + ...iconTheme(variables) + }, + "NativeBase.IconNB": { + ...iconTheme(variables) + }, + "NativeBase.Text": { + ...textTheme(variables) + }, + "NativeBase.Spinner": { + ...spinnerTheme(variables) + }, + + "NativeBase.Fab": { + ...fabTheme(variables) + }, + + "NativeBase.Item": { + ...itemTheme(variables) + }, + + "NativeBase.Label": { + ...labelTheme(variables) + }, + + "NativeBase.Textarea": { + ...textAreaTheme(variables) + }, + + "NativeBase.PickerNB": { + ...pickerTheme(variables), + "NativeBase.Button": { + "NativeBase.Text": {} + } + }, + + "NativeBase.Tab": { + ...tabTheme(variables) + }, + + "NativeBase.Segment": { + ...segmentTheme(variables) + }, + + "NativeBase.TabBar": { + ...tabBarTheme(variables) + }, + "NativeBase.ViewNB": { + ...viewTheme(variables) + }, + "NativeBase.TabHeading": { + ...tabHeadingTheme(variables) + }, + "NativeBase.TabContainer": { + ...tabContainerTheme(variables) + }, + "NativeBase.Switch": { + ...switchTheme(variables) + }, + "NativeBase.Separator": { + ...separatorTheme(variables) + }, + "NativeBase.SwipeRow": { + ...swipeRowTheme(variables) + }, + "NativeBase.Thumbnail": { + ...thumbnailTheme(variables) + } + }; + + const cssifyTheme = (grandparent, parent, parentKey) => { + _.forEach(parent, (style, styleName) => { + if ( + styleName.indexOf(".") === 0 && + parentKey && + parentKey.indexOf(".") === 0 + ) { + if (grandparent) { + if (!grandparent[styleName]) { + grandparent[styleName] = {}; + } else { + grandparent[styleName][parentKey] = style; + } + } + } + if (style && typeof style === "object" && styleName !== "fontVariant" && styleName !== "transform") { + cssifyTheme(parent, style, styleName); + } + }); + }; + + cssifyTheme(null, theme, null); + + return theme; +}; diff --git a/EXPO/native-base-theme/variables/commonColor.js b/EXPO/native-base-theme/variables/commonColor.js new file mode 100644 index 0000000..c004877 --- /dev/null +++ b/EXPO/native-base-theme/variables/commonColor.js @@ -0,0 +1,283 @@ +// @flow + +import color from "color"; + +import { Platform, Dimensions, PixelRatio } from "react-native"; + +const deviceHeight = Dimensions.get("window").height; +const deviceWidth = Dimensions.get("window").width; +const platform = Platform.OS; +const platformStyle = undefined; +const isIphoneX = + platform === "ios" && (deviceHeight === 812 || deviceWidth === 812 || deviceHeight === 896 || deviceWidth === 896); + +export default { + platformStyle, + platform, + + //Accordion + headerStyle: "#edebed", + iconStyle: "#000", + contentStyle: "#f5f4f5", + expandedIconStyle: "#000", + accordionBorderColor: "#d3d3d3", + + //Android + androidRipple: true, + androidRippleColor: "rgba(256, 256, 256, 0.3)", + androidRippleColorDark: "rgba(0, 0, 0, 0.15)", + btnUppercaseAndroidText: true, + + // Badge + badgeBg: "#ED1727", + badgeColor: "#fff", + badgePadding: platform === "ios" ? 3 : 0, + + // Button + btnFontFamily: platform === "ios" ? "System" : "Roboto_medium", + btnDisabledBg: "#b5b5b5", + buttonPadding: 6, + get btnPrimaryBg() { + return this.brandPrimary; + }, + get btnPrimaryColor() { + return this.inverseTextColor; + }, + get btnInfoBg() { + return this.brandInfo; + }, + get btnInfoColor() { + return this.inverseTextColor; + }, + get btnSuccessBg() { + return this.brandSuccess; + }, + get btnSuccessColor() { + return this.inverseTextColor; + }, + get btnDangerBg() { + return this.brandDanger; + }, + get btnDangerColor() { + return this.inverseTextColor; + }, + get btnWarningBg() { + return this.brandWarning; + }, + get btnWarningColor() { + return this.inverseTextColor; + }, + get btnTextSize() { + return platform === "ios" ? this.fontSizeBase * 1.1 : this.fontSizeBase - 1; + }, + get btnTextSizeLarge() { + return this.fontSizeBase * 1.5; + }, + get btnTextSizeSmall() { + 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 + cardDefaultBg: "#fff", + cardBorderColor: "#ccc", + cardBorderRadius: 2, + cardItemPadding: platform === "ios" ? 10 : 12, + + // CheckBox + CheckboxRadius: platform === "ios" ? 13 : 0, + CheckboxBorderWidth: platform === "ios" ? 1 : 2, + CheckboxPaddingLeft: platform === "ios" ? 4 : 2, + CheckboxPaddingBottom: platform === "ios" ? 0 : 5, + CheckboxIconSize: platform === "ios" ? 21 : 16, + CheckboxIconMarginTop: platform === "ios" ? undefined : 1, + CheckboxFontSize: platform === "ios" ? 23 / 0.9 : 17, + checkboxBgColor: "#039BE5", + checkboxSize: 20, + checkboxTickColor: "#fff", + + // Color + brandPrimary: platform === "ios" ? "#007aff" : "#3F51B5", + brandInfo: "#62B1F6", + brandSuccess: "#5cb85c", + brandDanger: "#d9534f", + brandWarning: "#f0ad4e", + brandDark: "#000", + brandLight: "#f4f4f4", + + //Container + containerBgColor: "#fff", + + //Date Picker + datePickerTextColor: "#000", + datePickerBg: "transparent", + + // Font + DefaultFontSize: 16, + fontFamily: platform === "ios" ? "System" : "Roboto", + 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, + footerDefaultBg: platform === "ios" ? "#F8F8F8" : "#3F51B5", + footerPaddingBottom: 0, + + // FooterTab + tabBarTextColor: platform === "ios" ? "#737373" : "#bfc6ea", + tabBarTextSize: platform === "ios" ? 14 : 11, + activeTab: platform === "ios" ? "#007aff" : "#fff", + sTabBarActiveTextColor: "#007aff", + tabBarActiveTextColor: platform === "ios" ? "#2874F0" : "#fff", + tabActiveBgColor: platform === "ios" ? "#cde1f9" : "#3F51B5", + + // Header + toolbarBtnColor: platform === "ios" ? "#007aff" : "#fff", + toolbarDefaultBg: platform === "ios" ? "#F8F8F8" : "#3F51B5", + toolbarHeight: platform === "ios" ? 64 : 56, + toolbarSearchIconSize: platform === "ios" ? 20 : 23, + toolbarInputColor: platform === "ios" ? "#CECDD2" : "#fff", + searchBarHeight: platform === "ios" ? 30 : 40, + searchBarInputHeight: platform === "ios" ? 30 : 50, + toolbarBtnTextColor: platform === "ios" ? "#007aff" : "#fff", + iosStatusbar: "dark-content", + toolbarDefaultBorder: platform === "ios" ? "#a7a6ab" : "#3F51B5", + get statusBarColor() { + return color(this.toolbarDefaultBg) + .darken(0.2) + .hex(); + }, + get darkenHeader() { + return color(this.tabBgColor) + .darken(0.03) + .hex(); + }, + + // Icon + iconFamily: "Ionicons", + iconFontSize: platform === "ios" ? 30 : 28, + iconHeaderSize: platform === "ios" ? 33 : 24, + + // InputGroup + inputFontSize: 17, + inputBorderColor: "#D9D5DC", + inputSuccessBorderColor: "#2b8339", + inputErrorBorderColor: "#ed2f2f", + inputHeightBase: 50, + get inputColor() { + return this.textColor; + }, + get inputColorPlaceholder() { + return "#575757"; + }, + + // Line Height + btnLineHeight: 19, + lineHeightH1: 32, + lineHeightH2: 27, + lineHeightH3: 22, + lineHeight: platform === "ios" ? 20 : 24, + + // List + listBg: "transparent", + listBorderColor: "#c9c9c9", + listDividerBg: "#f4f4f4", + listBtnUnderlayColor: "#DDD", + listItemPadding: platform === "ios" ? 10 : 12, + listNoteColor: "#808080", + listNoteSize: 13, + listItemSelected: platform === "ios" ? "#007aff" : "#3F51B5", + + // Progress Bar + defaultProgressColor: "#E4202D", + inverseProgressColor: "#1A191B", + + // Radio Button + radioBtnSize: platform === "ios" ? 25 : 23, + radioSelectedColorAndroid: "#3F51B5", + radioBtnLineHeight: platform === "ios" ? 29 : 24, + get radioColor() { + return this.brandPrimary; + }, + + // Segment + segmentBackgroundColor: platform === "ios" ? "#F8F8F8" : "#3F51B5", + segmentActiveBackgroundColor: platform === "ios" ? "#007aff" : "#fff", + segmentTextColor: platform === "ios" ? "#007aff" : "#fff", + segmentActiveTextColor: platform === "ios" ? "#fff" : "#3F51B5", + segmentBorderColor: platform === "ios" ? "#007aff" : "#fff", + segmentBorderColorMain: platform === "ios" ? "#a7a6ab" : "#3F51B5", + + // Spinner + defaultSpinnerColor: "#45D56E", + inverseSpinnerColor: "#1A191B", + + // Tab + tabDefaultBg: platform === "ios" ? "#F8F8F8" : "#3F51B5", + topTabBarTextColor: platform === "ios" ? "#6b6b6b" : "#b3c7f9", + topTabBarActiveTextColor: platform === "ios" ? "#007aff" : "#fff", + topTabBarBorderColor: platform === "ios" ? "#a7a6ab" : "#fff", + topTabBarActiveBorderColor: platform === "ios" ? "#007aff" : "#fff", + + // Tabs + tabBgColor: "#F8F8F8", + tabFontSize: 15, + + // Text + textColor: "#000", + inverseTextColor: "#fff", + noteFontSize: 14, + get defaultTextColor() { + return this.textColor; + }, + + // Title + titleFontfamily: platform === "ios" ? "System" : "Roboto_medium", + titleFontSize: platform === "ios" ? 17 : 19, + subTitleFontSize: platform === "ios" ? 11 : 14, + subtitleColor: platform === "ios" ? "#000" : "#fff", + titleFontColor: platform === "ios" ? "#000" : "#fff", + + // Other + borderRadiusBase: platform === "ios" ? 5 : 2, + borderWidth: 1 / PixelRatio.getPixelSizeForLayoutSize(1), + contentPadding: 10, + dropdownLinkColor: "#414142", + inputLineHeight: 24, + deviceWidth, + deviceHeight, + isIphoneX, + inputGroupRoundedBorderRadius: 30, + + //iPhoneX SafeArea + Inset: { + portrait: { + topInset: 24, + leftInset: 0, + rightInset: 0, + bottomInset: 34 + }, + landscape: { + topInset: 0, + leftInset: 44, + rightInset: 44, + bottomInset: 21 + } + } +}; diff --git a/EXPO/native-base-theme/variables/material.js b/EXPO/native-base-theme/variables/material.js new file mode 100644 index 0000000..ce917a1 --- /dev/null +++ b/EXPO/native-base-theme/variables/material.js @@ -0,0 +1,283 @@ +// @flow + +import color from "color"; + +import { Platform, Dimensions, PixelRatio } from "react-native"; + +const deviceHeight = Dimensions.get("window").height; +const deviceWidth = Dimensions.get("window").width; +const platform = Platform.OS; +const platformStyle = "material"; +const isIphoneX = +platform === "ios" && (deviceHeight === 812 || deviceWidth === 812 || deviceHeight === 896 || deviceWidth === 896); + +export default { + platformStyle, + platform, + + //Accordion + headerStyle: "#edebed", + iconStyle: "#000", + contentStyle: "#f5f4f5", + expandedIconStyle: "#000", + accordionBorderColor: "#d3d3d3", + + // Android + androidRipple: true, + androidRippleColor: "rgba(256, 256, 256, 0.3)", + androidRippleColorDark: "rgba(0, 0, 0, 0.15)", + btnUppercaseAndroidText: true, + + // Badge + badgeBg: "#ED1727", + badgeColor: "#fff", + badgePadding: 0, + + // Button + btnFontFamily: "Roboto", + btnDisabledBg: "#b5b5b5", + buttonPadding: 6, + get btnPrimaryBg() { + return this.brandPrimary; + }, + get btnPrimaryColor() { + return this.inverseTextColor; + }, + get btnInfoBg() { + return this.brandInfo; + }, + get btnInfoColor() { + return this.inverseTextColor; + }, + get btnSuccessBg() { + return this.brandSuccess; + }, + get btnSuccessColor() { + return this.inverseTextColor; + }, + get btnDangerBg() { + return this.brandDanger; + }, + get btnDangerColor() { + return this.inverseTextColor; + }, + get btnWarningBg() { + return this.brandWarning; + }, + get btnWarningColor() { + return this.inverseTextColor; + }, + get btnTextSize() { + return this.fontSizeBase - 1; + }, + get btnTextSizeLarge() { + return this.fontSizeBase * 1.5; + }, + get btnTextSizeSmall() { + 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 + cardDefaultBg: "#fff", + cardBorderColor: "#ccc", + cardBorderRadius: 2, + cardItemPadding: platform === "ios" ? 10 : 12, + + // CheckBox + CheckboxRadius: 0, + CheckboxBorderWidth: 2, + CheckboxPaddingLeft: 2, + CheckboxPaddingBottom: 5, + CheckboxIconSize: 16, + CheckboxIconMarginTop: 1, + CheckboxFontSize: 17, + checkboxBgColor: "#039BE5", + checkboxSize: 20, + checkboxTickColor: "#fff", + + // Color + brandPrimary: "#3F51B5", + brandInfo: "#62B1F6", + brandSuccess: "#5cb85c", + brandDanger: "#d9534f", + brandWarning: "#f0ad4e", + brandDark: "#000", + brandLight: "#f4f4f4", + + //Container + containerBgColor: "#fff", + + //Date Picker + datePickerTextColor: "#000", + datePickerBg: "transparent", + + // Font + DefaultFontSize: 16, + fontFamily: "Roboto", + 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, + footerDefaultBg: "#3F51B5", + footerPaddingBottom: 0, + + // FooterTab + tabBarTextColor: "#bfc6ea", + tabBarTextSize: 11, + activeTab: "#fff", + sTabBarActiveTextColor: "#007aff", + tabBarActiveTextColor: "#fff", + tabActiveBgColor: "#3F51B5", + + // Header + toolbarBtnColor: "#fff", + toolbarDefaultBg: "#3F51B5", + toolbarHeight: 56, + toolbarSearchIconSize: 23, + toolbarInputColor: "#fff", + searchBarHeight: platform === "ios" ? 30 : 40, + searchBarInputHeight: platform === "ios" ? 40 : 50, + toolbarBtnTextColor: "#fff", + toolbarDefaultBorder: "#3F51B5", + iosStatusbar: "light-content", + get statusBarColor() { + return color(this.toolbarDefaultBg) + .darken(0.2) + .hex(); + }, + get darkenHeader() { + return color(this.tabBgColor) + .darken(0.03) + .hex(); + }, + + // Icon + iconFamily: "Ionicons", + iconFontSize: 28, + iconHeaderSize: 24, + + // InputGroup + inputFontSize: 17, + inputBorderColor: "#D9D5DC", + inputSuccessBorderColor: "#2b8339", + inputErrorBorderColor: "#ed2f2f", + inputHeightBase: 50, + get inputColor() { + return this.textColor; + }, + get inputColorPlaceholder() { + return "#575757"; + }, + + // Line Height + btnLineHeight: 19, + lineHeightH1: 32, + lineHeightH2: 27, + lineHeightH3: 22, + lineHeight: 24, + + // List + listBg: "transparent", + listBorderColor: "#c9c9c9", + listDividerBg: "#f4f4f4", + listBtnUnderlayColor: "#DDD", + listItemPadding: 12, + listNoteColor: "#808080", + listNoteSize: 13, + listItemSelected: "#3F51B5", + + // Progress Bar + defaultProgressColor: "#E4202D", + inverseProgressColor: "#1A191B", + + // Radio Button + radioBtnSize: 23, + radioSelectedColorAndroid: "#3F51B5", + radioBtnLineHeight: 24, + get radioColor() { + return this.brandPrimary; + }, + + // Segment + segmentBackgroundColor: "#3F51B5", + segmentActiveBackgroundColor: "#fff", + segmentTextColor: "#fff", + segmentActiveTextColor: "#3F51B5", + segmentBorderColor: "#fff", + segmentBorderColorMain: "#3F51B5", + + // Spinner + defaultSpinnerColor: "#45D56E", + inverseSpinnerColor: "#1A191B", + + // Tab + tabDefaultBg: "#3F51B5", + topTabBarTextColor: "#b3c7f9", + topTabBarActiveTextColor: "#fff", + topTabBarBorderColor: "#fff", + topTabBarActiveBorderColor: "#fff", + + // Tabs + tabBgColor: "#F8F8F8", + tabFontSize: 15, + + // Text + textColor: "#000", + inverseTextColor: "#fff", + noteFontSize: 14, + get defaultTextColor() { + return this.textColor; + }, + + // Title + titleFontfamily: "Roboto", + titleFontSize: 19, + subTitleFontSize: 14, + subtitleColor: "#FFF", + titleFontColor: "#FFF", + + // Other + borderRadiusBase: 2, + borderWidth: 1 / PixelRatio.getPixelSizeForLayoutSize(1), + contentPadding: 10, + dropdownLinkColor: "#414142", + inputLineHeight: 24, + deviceWidth, + deviceHeight, + isIphoneX, + inputGroupRoundedBorderRadius: 30, + + //iPhoneX SafeArea + Inset: { + portrait: { + topInset: 24, + leftInset: 0, + rightInset: 0, + bottomInset: 34 + }, + landscape: { + topInset: 0, + leftInset: 44, + rightInset: 44, + bottomInset: 21 + } + } +}; diff --git a/EXPO/native-base-theme/variables/platform.js b/EXPO/native-base-theme/variables/platform.js new file mode 100644 index 0000000..c231ca8 --- /dev/null +++ b/EXPO/native-base-theme/variables/platform.js @@ -0,0 +1,283 @@ +// @flow + +import color from "color"; + +import { Platform, Dimensions, PixelRatio } from "react-native"; + +const deviceHeight = Dimensions.get("window").height; +const deviceWidth = Dimensions.get("window").width; +const platform = Platform.OS; +const platformStyle = undefined; +const isIphoneX = +platform === "ios" && (deviceHeight === 812 || deviceWidth === 812 || deviceHeight === 896 || deviceWidth === 896); + +export default { + platformStyle, + platform, + + //Accordion + headerStyle: "#edebed", + iconStyle: "#000", + contentStyle: "#f5f4f5", + expandedIconStyle: "#000", + accordionBorderColor: "#d3d3d3", + + // Android + androidRipple: true, + androidRippleColor: "rgba(256, 256, 256, 0.3)", + androidRippleColorDark: "rgba(0, 0, 0, 0.15)", + btnUppercaseAndroidText: true, + + // Badge + badgeBg: "#ED1727", + badgeColor: "#fff", + badgePadding: platform === "ios" ? 3 : 0, + + // Button + btnFontFamily: platform === "ios" ? "System" : "Roboto_medium", + btnDisabledBg: "#b5b5b5", + buttonPadding: 6, + get btnPrimaryBg() { + return this.brandPrimary; + }, + get btnPrimaryColor() { + return this.inverseTextColor; + }, + get btnInfoBg() { + return this.brandInfo; + }, + get btnInfoColor() { + return this.inverseTextColor; + }, + get btnSuccessBg() { + return this.brandSuccess; + }, + get btnSuccessColor() { + return this.inverseTextColor; + }, + get btnDangerBg() { + return this.brandDanger; + }, + get btnDangerColor() { + return this.inverseTextColor; + }, + get btnWarningBg() { + return this.brandWarning; + }, + get btnWarningColor() { + return this.inverseTextColor; + }, + get btnTextSize() { + return platform === "ios" ? this.fontSizeBase * 1.1 : this.fontSizeBase - 1; + }, + get btnTextSizeLarge() { + return this.fontSizeBase * 1.5; + }, + get btnTextSizeSmall() { + 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 + cardDefaultBg: "#fff", + cardBorderColor: "#ccc", + cardBorderRadius: 2, + cardItemPadding: platform === "ios" ? 10 : 12, + + // CheckBox + CheckboxRadius: platform === "ios" ? 13 : 0, + CheckboxBorderWidth: platform === "ios" ? 1 : 2, + CheckboxPaddingLeft: platform === "ios" ? 4 : 2, + CheckboxPaddingBottom: platform === "ios" ? 0 : 5, + CheckboxIconSize: platform === "ios" ? 21 : 16, + CheckboxIconMarginTop: platform === "ios" ? undefined : 1, + CheckboxFontSize: platform === "ios" ? 23 / 0.9 : 17, + checkboxBgColor: "#039BE5", + checkboxSize: 20, + checkboxTickColor: "#fff", + + // Color + brandPrimary: platform === "ios" ? "#007aff" : "#3F51B5", + brandInfo: "#62B1F6", + brandSuccess: "#5cb85c", + brandDanger: "#d9534f", + brandWarning: "#f0ad4e", + brandDark: "#000", + brandLight: "#f4f4f4", + + //Container + containerBgColor: "#fff", + + //Date Picker + datePickerTextColor: "#000", + datePickerBg: "transparent", + + // Font + DefaultFontSize: 16, + fontFamily: platform === "ios" ? "System" : "Roboto", + 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, + footerDefaultBg: platform === "ios" ? "#F8F8F8" : "#3F51B5", + footerPaddingBottom: 0, + + // FooterTab + tabBarTextColor: platform === "ios" ? "#6b6b6b" : "#b3c7f9", + tabBarTextSize: platform === "ios" ? 14 : 11, + activeTab: platform === "ios" ? "#007aff" : "#fff", + sTabBarActiveTextColor: "#007aff", + tabBarActiveTextColor: platform === "ios" ? "#007aff" : "#fff", + tabActiveBgColor: platform === "ios" ? "#cde1f9" : "#3F51B5", + + // Header + toolbarBtnColor: platform === "ios" ? "#007aff" : "#fff", + toolbarDefaultBg: platform === "ios" ? "#F8F8F8" : "#3F51B5", + toolbarHeight: platform === "ios" ? 64 : 56, + toolbarSearchIconSize: platform === "ios" ? 20 : 23, + toolbarInputColor: platform === "ios" ? "#CECDD2" : "#fff", + searchBarHeight: platform === "ios" ? 30 : 40, + searchBarInputHeight: platform === "ios" ? 30 : 50, + toolbarBtnTextColor: platform === "ios" ? "#007aff" : "#fff", + toolbarDefaultBorder: platform === "ios" ? "#a7a6ab" : "#3F51B5", + iosStatusbar: platform === "ios" ? "dark-content" : "light-content", + get statusBarColor() { + return color(this.toolbarDefaultBg) + .darken(0.2) + .hex(); + }, + get darkenHeader() { + return color(this.tabBgColor) + .darken(0.03) + .hex(); + }, + + // Icon + iconFamily: "Ionicons", + iconFontSize: platform === "ios" ? 30 : 28, + iconHeaderSize: platform === "ios" ? 33 : 24, + + // InputGroup + inputFontSize: 17, + inputBorderColor: "#D9D5DC", + inputSuccessBorderColor: "#2b8339", + inputErrorBorderColor: "#ed2f2f", + inputHeightBase: 50, + get inputColor() { + return this.textColor; + }, + get inputColorPlaceholder() { + return "#575757"; + }, + + // Line Height + btnLineHeight: 19, + lineHeightH1: 32, + lineHeightH2: 27, + lineHeightH3: 22, + lineHeight: platform === "ios" ? 20 : 24, + listItemSelected: platform === "ios" ? "#007aff" : "#3F51B5", + + // List + listBg: "transparent", + listBorderColor: "#c9c9c9", + listDividerBg: "#f4f4f4", + listBtnUnderlayColor: "#DDD", + listItemPadding: platform === "ios" ? 10 : 12, + listNoteColor: "#808080", + listNoteSize: 13, + + // Progress Bar + defaultProgressColor: "#E4202D", + inverseProgressColor: "#1A191B", + + // Radio Button + radioBtnSize: platform === "ios" ? 25 : 23, + radioSelectedColorAndroid: "#3F51B5", + radioBtnLineHeight: platform === "ios" ? 29 : 24, + get radioColor() { + return this.brandPrimary; + }, + + // Segment + segmentBackgroundColor: platform === "ios" ? "#F8F8F8" : "#3F51B5", + segmentActiveBackgroundColor: platform === "ios" ? "#007aff" : "#fff", + segmentTextColor: platform === "ios" ? "#007aff" : "#fff", + segmentActiveTextColor: platform === "ios" ? "#fff" : "#3F51B5", + segmentBorderColor: platform === "ios" ? "#007aff" : "#fff", + segmentBorderColorMain: platform === "ios" ? "#a7a6ab" : "#3F51B5", + + // Spinner + defaultSpinnerColor: "#45D56E", + inverseSpinnerColor: "#1A191B", + + // Tab + tabDefaultBg: platform === "ios" ? "#F8F8F8" : "#3F51B5", + topTabBarTextColor: platform === "ios" ? "#6b6b6b" : "#b3c7f9", + topTabBarActiveTextColor: platform === "ios" ? "#007aff" : "#fff", + topTabBarBorderColor: platform === "ios" ? "#a7a6ab" : "#fff", + topTabBarActiveBorderColor: platform === "ios" ? "#007aff" : "#fff", + + // Tabs + tabBgColor: "#F8F8F8", + tabFontSize: 15, + + // Text + textColor: "#000", + inverseTextColor: "#fff", + noteFontSize: 14, + get defaultTextColor() { + return this.textColor; + }, + + // Title + titleFontfamily: platform === "ios" ? "System" : "Roboto_medium", + titleFontSize: platform === "ios" ? 17 : 19, + subTitleFontSize: platform === "ios" ? 11 : 14, + subtitleColor: platform === "ios" ? "#8e8e93" : "#FFF", + titleFontColor: platform === "ios" ? "#000" : "#FFF", + + // Other + borderRadiusBase: platform === "ios" ? 5 : 2, + borderWidth: 1 / PixelRatio.getPixelSizeForLayoutSize(1), + contentPadding: 10, + dropdownLinkColor: "#414142", + inputLineHeight: 24, + deviceWidth, + deviceHeight, + isIphoneX, + inputGroupRoundedBorderRadius: 30, + + //iPhoneX SafeArea + Inset: { + portrait: { + topInset: 24, + leftInset: 0, + rightInset: 0, + bottomInset: 34 + }, + landscape: { + topInset: 0, + leftInset: 44, + rightInset: 44, + bottomInset: 21 + } + } +}; diff --git a/EXPO/navigation/AppNavigator.js b/EXPO/navigation/AppNavigator.js index 895062a..0e5690f 100644 --- a/EXPO/navigation/AppNavigator.js +++ b/EXPO/navigation/AppNavigator.js @@ -1,10 +1,10 @@ -import React from 'react'; -import { createAppContainer, createSwitchNavigator } from 'react-navigation'; +import React from "react"; +import { createAppContainer, createSwitchNavigator } from "react-navigation"; -import MainTabNavigator from './MainTabNavigator'; +import MainTabNavigator from "./MainTabNavigator"; -export default createAppContainer(createSwitchNavigator({ - // You could add another route here for authentication. - // Read more at https://reactnavigation.org/docs/en/auth-flow.html - Main: MainTabNavigator, -})); \ No newline at end of file +export default createAppContainer( + createSwitchNavigator({ + Main: MainTabNavigator + }) +); diff --git a/EXPO/navigation/MainTabNavigator.js b/EXPO/navigation/MainTabNavigator.js index ce7efd1..de997b2 100644 --- a/EXPO/navigation/MainTabNavigator.js +++ b/EXPO/navigation/MainTabNavigator.js @@ -1,60 +1,72 @@ -import React from 'react'; -import { Platform } from 'react-native'; -import { createStackNavigator, createBottomTabNavigator } from 'react-navigation'; - -import TabBarIcon from '../components/TabBarIcon'; -import HomeScreen from '../screens/HomeScreen'; -import LinksScreen from '../screens/LinksScreen'; -import SettingsScreen from '../screens/SettingsScreen'; - +import React from "react"; +import { Platform,Image,TouchableOpacity } from "react-native"; +import { ScreenOrientation } from 'expo'; +import { + createStackNavigator, + createBottomTabNavigator, + createDrawerNavigator, +} from "react-navigation"; +import TabBarIcon from "../components/TabBarIcon"; +import HomeScreen from "../screens/HomeScreen/HomeScreen"; +import LinksScreen from "../screens/LinksScreen"; +import SettingsScreen from "../screens/SettingsScreen"; +import PaginatedList from '../screens/Pagination/PaginatedList'; +//import MapScreen from "../screens/MapScreen"; +import DrawerScreen from "../screens/DrawerScreen"; const HomeStack = createStackNavigator({ - Home: HomeScreen, + Home: HomeScreen }); HomeStack.navigationOptions = { - tabBarLabel: 'Home', + tabBarLabel: "Near by me", tabBarIcon: ({ focused }) => ( - ), + ), + }; const LinksStack = createStackNavigator({ Links: LinksScreen, + Grid: PaginatedList, + // Map: MapScreen }); LinksStack.navigationOptions = { - tabBarLabel: 'Links', + tabBarLabel: "Links", tabBarIcon: ({ focused }) => ( - ), + ) }; const SettingsStack = createStackNavigator({ - Settings: SettingsScreen, + Settings: SettingsScreen }); SettingsStack.navigationOptions = { - tabBarLabel: 'Settings', + tabBarLabel: "Settings", tabBarIcon: ({ focused }) => ( - ), + ) }; + export default createBottomTabNavigator({ HomeStack, LinksStack, SettingsStack, + }); diff --git a/EXPO/package-lock.json b/EXPO/package-lock.json index cbe729d..081e028 100644 --- a/EXPO/package-lock.json +++ b/EXPO/package-lock.json @@ -11,17 +11,17 @@ } }, "@babel/core": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.3.4.tgz", - "integrity": "sha512-jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.5.tgz", + "integrity": "sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA==", "requires": { "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.3.4", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.3.4", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.3.4", - "@babel/types": "^7.3.4", + "@babel/generator": "^7.4.4", + "@babel/helpers": "^7.4.4", + "@babel/parser": "^7.4.5", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.5", + "@babel/types": "^7.4.4", "convert-source-map": "^1.1.0", "debug": "^4.1.0", "json5": "^2.1.0", @@ -29,24 +29,14 @@ "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" - }, - "dependencies": { - "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", - "requires": { - "minimist": "^1.2.0" - } - } } }, "@babel/generator": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.4.tgz", - "integrity": "sha512-8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz", + "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==", "requires": { - "@babel/types": "^7.3.4", + "@babel/types": "^7.4.4", "jsesc": "^2.5.1", "lodash": "^4.17.11", "source-map": "^0.5.0", @@ -80,36 +70,36 @@ } }, "@babel/helper-call-delegate": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", - "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", + "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", "requires": { - "@babel/helper-hoist-variables": "^7.0.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.3.4.tgz", - "integrity": "sha512-uFpzw6L2omjibjxa8VGZsJUPL5wJH0zzGKpoz0ccBkzIa6C8kWNUbiBmQ0rgOKWlHJ6qzmfa6lTiGchiV8SC+g==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.4.tgz", + "integrity": "sha512-UbBHIa2qeAGgyiNR9RszVF7bUHEdgS4JAUNT8SiqrAN6YJVxlOxeLr5pBzb5kan302dejJ9nla4RyKcR1XT6XA==", "requires": { "@babel/helper-function-name": "^7.1.0", "@babel/helper-member-expression-to-functions": "^7.0.0", "@babel/helper-optimise-call-expression": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.3.4", - "@babel/helper-split-export-declaration": "^7.0.0" + "@babel/helper-replace-supers": "^7.4.4", + "@babel/helper-split-export-declaration": "^7.4.4" } }, "@babel/helper-define-map": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", - "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz", + "integrity": "sha512-IX3Ln8gLhZpSuqHJSnTNBWGDE9kdkTEWl21A/K7PQ00tseBwbqCHTvNLHSBd9M0R5rER4h5Rsvj9vw0R5SieBg==", "requires": { "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" + "@babel/types": "^7.4.4", + "lodash": "^4.17.11" } }, "@babel/helper-explode-assignable-expression": { @@ -140,11 +130,11 @@ } }, "@babel/helper-hoist-variables": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", - "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", + "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.4.4" } }, "@babel/helper-member-expression-to-functions": { @@ -164,16 +154,16 @@ } }, "@babel/helper-module-transforms": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz", - "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz", + "integrity": "sha512-3Z1yp8TVQf+B4ynN7WoHPKS8EkdTbgAEy0nU0rs/1Kw4pDgmvYH3rz3aI11KgxKCba2cn7N+tqzV1mY2HMN96w==", "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/helper-simple-access": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/template": "^7.2.2", - "@babel/types": "^7.2.2", - "lodash": "^4.17.10" + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/types": "^7.4.4", + "lodash": "^4.17.11" } }, "@babel/helper-optimise-call-expression": { @@ -190,11 +180,11 @@ "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" }, "@babel/helper-regex": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", - "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.4.4.tgz", + "integrity": "sha512-Y5nuB/kESmR3tKjU8Nkn1wMGEx1tjJX076HBMeL3XLQCu6vA/YRzuTW0bbb+qRnXvQGn+d6Rx953yffl8vEy7Q==", "requires": { - "lodash": "^4.17.10" + "lodash": "^4.17.11" } }, "@babel/helper-remap-async-to-generator": { @@ -210,14 +200,14 @@ } }, "@babel/helper-replace-supers": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.3.4.tgz", - "integrity": "sha512-pvObL9WVf2ADs+ePg0jrqlhHoxRXlOa+SHRHzAXIz2xkYuOHfGl+fKxPMaS4Fq+uje8JQPobnertBBvyrWnQ1A==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz", + "integrity": "sha512-04xGEnd+s01nY1l15EuMS1rfKktNF+1CkKmHoErDppjAAZL+IUBZpzT748x262HF7fibaQPhbvWUl5HeSt1EXg==", "requires": { "@babel/helper-member-expression-to-functions": "^7.0.0", "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.3.4", - "@babel/types": "^7.3.4" + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" } }, "@babel/helper-simple-access": { @@ -230,11 +220,11 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", - "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.4.4" } }, "@babel/helper-wrap-function": { @@ -249,13 +239,13 @@ } }, "@babel/helpers": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.3.1.tgz", - "integrity": "sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.4.tgz", + "integrity": "sha512-igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A==", "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.3.0" + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" } }, "@babel/highlight": { @@ -269,9 +259,9 @@ } }, "@babel/parser": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.4.tgz", - "integrity": "sha512-tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ==" + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.5.tgz", + "integrity": "sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew==" }, "@babel/plugin-external-helpers": { "version": "7.2.0", @@ -281,21 +271,31 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", + "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.2.0" + } + }, "@babel/plugin-proposal-class-properties": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.3.4.tgz", - "integrity": "sha512-lUf8D3HLs4yYlAo8zjuneLvfxN7qfKv1Yzbj5vjqaqMJxgJA3Ipwp4VUJ+OrOdz53Wbww6ahwB8UhB2HQyLotA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.4.tgz", + "integrity": "sha512-WjKTI8g8d5w1Bc9zgwSz2nfrsNQsXcCf9J9cdCvrJV6RF56yztwm4TmJC0MgJ9tvwO9gUA/mcYe89bLdGfiXFg==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.3.4", + "@babel/helper-create-class-features-plugin": "^7.4.4", "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-proposal-decorators": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.3.0.tgz", - "integrity": "sha512-3W/oCUmsO43FmZIqermmq6TKaRSYhmh/vybPfVFwQWdSb8xwki38uAIvknCRzuyHRuYfCYmJzL9or1v0AffPjg==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz", + "integrity": "sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.3.0", + "@babel/helper-create-class-features-plugin": "^7.4.4", "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-syntax-decorators": "^7.2.0" } @@ -309,19 +309,28 @@ "@babel/plugin-syntax-export-default-from": "^7.2.0" } }, - "@babel/plugin-proposal-nullish-coalescing-operator": { + "@babel/plugin-proposal-json-strings": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.2.0.tgz", - "integrity": "sha512-QXj/YjFuFJd68oDvoc1e8aqLr2wz7Kofzvp6Ekd/o7MWZl+nZ0/cpStxND+hlZ7DpRWAp7OmuyT2areZ2V3YUA==", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", + "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.2.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.4.4.tgz", + "integrity": "sha512-Amph7Epui1Dh/xxUxS2+K22/MUi6+6JVTvy3P58tja3B6yKTSjwwx0/d83rF7551D6PVSSoplQb8GCwqec7HRw==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.2.0" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.4.tgz", - "integrity": "sha512-j7VQmbbkA+qrzNqbKHrBsW3ddFnOeva6wzSe/zB7T+xaxGc+RCpwo44wCmRixAIGRoIpmVgvzFzNJqQcO3/9RA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz", + "integrity": "sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-syntax-object-rest-spread": "^7.2.0" @@ -345,6 +354,24 @@ "@babel/plugin-syntax-optional-chaining": "^7.2.0" } }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", + "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", + "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, "@babel/plugin-syntax-decorators": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz", @@ -377,6 +404,14 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-syntax-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", + "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, "@babel/plugin-syntax-jsx": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", @@ -434,36 +469,44 @@ } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.3.4.tgz", - "integrity": "sha512-Y7nCzv2fw/jEZ9f678MuKdMo99MFDJMT/PvD9LisrR5JDFcJH6vYeH6RnjVt3p5tceyGRvTtEN0VOlU+rgHZjA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.4.tgz", + "integrity": "sha512-YiqW2Li8TXmzgbXw+STsSqPBPFnGviiaSp6CYOq55X8GQ2SGVLrXB6pNid8HkqkZAzOH6knbai3snhP7v0fNwA==", "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-remap-async-to-generator": "^7.1.0" } }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", + "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, "@babel/plugin-transform-block-scoping": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.3.4.tgz", - "integrity": "sha512-blRr2O8IOZLAOJklXLV4WhcEzpYafYQKSGT3+R26lWG41u/FODJuBggehtOwilVAcFu393v3OFj+HmaE6tVjhA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz", + "integrity": "sha512-jkTUyWZcTrwxu5DD4rWz6rDB5Cjdmgz6z7M7RLXOJyCUkFBawssDGcGh8M/0FTSB87avyJI1HsTwUXp9nKA1PA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", "lodash": "^4.17.11" } }, "@babel/plugin-transform-classes": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.3.4.tgz", - "integrity": "sha512-J9fAvCFBkXEvBimgYxCjvaVDzL6thk0j0dBvCeZmIUDBwyt+nv6HfbImsSrWsYXfDNDivyANgJlFXDUWRTZBuA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz", + "integrity": "sha512-/e44eFLImEGIpL9qPxSRat13I5QNRgBLu2hOQJCF7VLy/otSM/sypV1+XaIw5+502RX/+6YaSAPmldk+nhHDPw==", "requires": { "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.1.0", + "@babel/helper-define-map": "^7.4.4", "@babel/helper-function-name": "^7.1.0", "@babel/helper-optimise-call-expression": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.3.4", - "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/helper-replace-supers": "^7.4.4", + "@babel/helper-split-export-declaration": "^7.4.4", "globals": "^11.1.0" } }, @@ -476,9 +519,27 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.3.2.tgz", - "integrity": "sha512-Lrj/u53Ufqxl/sGxyjsJ2XNtNuEjDyjpqdhMNh5aZ+XFOdThL46KBj27Uem4ggoezSYBxKWAil6Hu8HtwqesYw==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz", + "integrity": "sha512-/aOx+nW0w8eHiEHm+BTERB2oJn5D127iye/SUQl7NjHy0lf+j7h4MKMMSOwdazGq9OxgiNADncE+SRJkCxjZpQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", + "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz", + "integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } @@ -493,26 +554,26 @@ } }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.3.4.tgz", - "integrity": "sha512-PmQC9R7DwpBFA+7ATKMyzViz3zCaMNouzZMPZN2K5PnbBbtL3AXFYTkDk+Hey5crQq2A90UG5Uthz0mel+XZrA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz", + "integrity": "sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-syntax-flow": "^7.2.0" } }, "@babel/plugin-transform-for-of": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", - "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", + "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-function-name": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", - "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", + "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", "requires": { "@babel/helper-function-name": "^7.1.0", "@babel/helper-plugin-utils": "^7.0.0" @@ -526,16 +587,67 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, - "@babel/plugin-transform-modules-commonjs": { + "@babel/plugin-transform-member-expression-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", + "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-amd": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", - "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz", + "integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==", "requires": { "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz", + "integrity": "sha512-4sfBOJt58sEo9a2BQXnZq+Q3ZTSAUXyK3E30o36BOGnJ+tvJ6YSxF0PG6kERvbeISgProodWuI9UVG3/FMY6iw==", + "requires": { + "@babel/helper-module-transforms": "^7.4.4", "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-simple-access": "^7.1.0" } }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz", + "integrity": "sha512-MSiModfILQc3/oqnG7NrP1jHaSPryO6tA2kOMmAQApz5dayPxWiHqmq4sWH2xF5LcQK56LlbKByCd8Aah/OIkQ==", + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", + "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz", + "integrity": "sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==", + "requires": { + "regexp-tree": "^0.1.6" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", + "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, "@babel/plugin-transform-object-assign": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.2.0.tgz", @@ -544,16 +656,33 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-transform-object-super": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", + "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0" + } + }, "@babel/plugin-transform-parameters": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.3.3.tgz", - "integrity": "sha512-IrIP25VvXWu/VlBWTpsjGptpomtIkYrN/3aDp4UKm7xK6UxZY88kcJ1UwETbzHAlwN21MnNfwlar0u8y3KpiXw==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", + "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", "requires": { - "@babel/helper-call-delegate": "^7.1.0", + "@babel/helper-call-delegate": "^7.4.4", "@babel/helper-get-function-arity": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-transform-property-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", + "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, "@babel/plugin-transform-react-display-name": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", @@ -582,17 +711,25 @@ } }, "@babel/plugin-transform-regenerator": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.3.4.tgz", - "integrity": "sha512-hvJg8EReQvXT6G9H2MvNPXkv9zK36Vxa1+csAVTpE1J3j0zlHplw76uudEbJxgvqZzAq9Yh45FLD4pk5mKRFQA==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", + "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", "requires": { - "regenerator-transform": "^0.13.4" + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", + "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-runtime": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.3.4.tgz", - "integrity": "sha512-PaoARuztAdd5MgeVjAxnIDAIUet5KpogqaefQvPOmPYCxYoaPhautxDh3aO8a4xHsKgT/b9gSxR0BKK1MIewPA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.4.4.tgz", + "integrity": "sha512-aMVojEjPszvau3NRg+TIH14ynZLvPewH4xhlCW1w6A3rkxTS1m4uwzRclYR9oS+rl/dr+kT+pzbfHuAWP/lc7Q==", "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", @@ -626,56 +763,113 @@ } }, "@babel/plugin-transform-template-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", - "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", + "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", "requires": { "@babel/helper-annotate-as-pure": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", + "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, "@babel/plugin-transform-typescript": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.3.2.tgz", - "integrity": "sha512-Pvco0x0ZSCnexJnshMfaibQ5hnK8aUHSvjCQhC1JR8eeg+iBwt0AtCO7gWxJ358zZevuf9wPSO5rv+WJcbHPXQ==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.4.5.tgz", + "integrity": "sha512-RPB/YeGr4ZrFKNwfuQRlMf2lxoCUaU01MTw39/OFE/RiL8HDjtn68BwEPft1P7JN4akyEmjGWAMNldOV7o9V2g==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-syntax-typescript": "^7.2.0" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", - "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", + "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" + } + }, + "@babel/preset-env": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.4.5.tgz", + "integrity": "sha512-f2yNVXM+FsR5V8UwcFeIHzHWgnhXg3NpRmy0ADvALpnhB0SLbCvrCRr4BLOUYbQNLS+Z0Yer46x9dJXpXewI7w==", "requires": { + "@babel/helper-module-imports": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0", - "regexpu-core": "^4.1.3" + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.4.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.4.4", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.4.4", + "@babel/plugin-transform-classes": "^7.4.4", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/plugin-transform-duplicate-keys": "^7.2.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.4.4", + "@babel/plugin-transform-function-name": "^7.4.4", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-member-expression-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.2.0", + "@babel/plugin-transform-modules-commonjs": "^7.4.4", + "@babel/plugin-transform-modules-systemjs": "^7.4.4", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5", + "@babel/plugin-transform-new-target": "^7.4.4", + "@babel/plugin-transform-object-super": "^7.2.0", + "@babel/plugin-transform-parameters": "^7.4.4", + "@babel/plugin-transform-property-literals": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.4.5", + "@babel/plugin-transform-reserved-words": "^7.2.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.4.4", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" } }, "@babel/register": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.0.0.tgz", - "integrity": "sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.4.4.tgz", + "integrity": "sha512-sn51H88GRa00+ZoMqCVgOphmswG4b7mhf9VOB0LUBAieykq2GnRFerlN+JQkO/ntT7wz4jaHNSRPg9IdMPEUkA==", "requires": { - "core-js": "^2.5.7", - "find-cache-dir": "^1.0.0", - "home-or-tmp": "^3.0.0", - "lodash": "^4.17.10", + "core-js": "^3.0.0", + "find-cache-dir": "^2.0.0", + "lodash": "^4.17.11", "mkdirp": "^0.5.1", "pirates": "^4.0.0", "source-map-support": "^0.5.9" }, "dependencies": { "core-js": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", - "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==" - }, - "home-or-tmp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-3.0.0.tgz", - "integrity": "sha1-V6j+JM8zzdUkhgoVgh3cJchmcfs=" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.1.3.tgz", + "integrity": "sha512-PWZ+ZfuaKf178BIAg+CRsljwjIMRV8MY00CbZczkR6Zk5LfkSkjGoaab3+bqRQWVITNZxQB7TFYz+CFcyuamvA==" }, "source-map": { "version": "0.6.1", @@ -683,9 +877,9 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-support": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", - "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", + "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -694,43 +888,43 @@ } }, "@babel/runtime": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.4.tgz", - "integrity": "sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz", + "integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==", "requires": { - "regenerator-runtime": "^0.12.0" + "regenerator-runtime": "^0.13.2" } }, "@babel/template": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", - "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", + "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", "requires": { "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/parser": "^7.4.4", + "@babel/types": "^7.4.4" } }, "@babel/traverse": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.3.4.tgz", - "integrity": "sha512-TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.5.tgz", + "integrity": "sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A==", "requires": { "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.3.4", + "@babel/generator": "^7.4.4", "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.3.4", - "@babel/types": "^7.3.4", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.4.5", + "@babel/types": "^7.4.4", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.11" } }, "@babel/types": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.4.tgz", - "integrity": "sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", "requires": { "esutils": "^2.0.2", "lodash": "^4.17.11", @@ -767,16 +961,14 @@ } }, "@react-navigation/core": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-3.1.1.tgz", - "integrity": "sha512-vVPUIpCWO3VKVvE5zYDDR/lOy5hHvRm60rQAHTF19vmt3Jqnbs3qqgYovfUAnTBm0crGLcuIwzOuprRIhC4bfQ==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-3.4.2.tgz", + "integrity": "sha512-7G+iDzLSTeOUU4vVZeRZKJ+Bd7ds7ZxYNqZcB8i0KlBeQEQfR74Ounfu/p0KIEq2RiNnaE3QT7WVP3C87sebzw==", "requires": { - "create-react-context": "0.2.2", - "hoist-non-react-statics": "^3.0.1", + "hoist-non-react-statics": "^3.3.0", "path-to-regexp": "^1.7.0", - "query-string": "^6.2.0", - "react-is": "^16.5.2", - "react-lifecycles-compat": "^3.0.4" + "query-string": "^6.4.2", + "react-is": "^16.8.6" }, "dependencies": { "hoist-non-react-statics": { @@ -790,13 +982,12 @@ } }, "@react-navigation/native": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-3.1.5.tgz", - "integrity": "sha512-sDqgNCx98XmiJR4lF8xCMVdADR4NBrx10TkTYbYcwFJ6SJ2LzrfxAW+FwUsESXr5TcSu3/6rGrLGr4rTGjkvRQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-3.5.0.tgz", + "integrity": "sha512-TmGOis++ejEXG3sqNJhCSKqB0/qLu3FQgDtO959qpqif36R/diR8SQwJqeSdofoEiK3CepdhFlTCeHdS1/+MsQ==", "requires": { "hoist-non-react-statics": "^3.0.1", - "react-native-gesture-handler": "~1.0.14", - "react-native-safe-area-view": "^0.13.0", + "react-native-safe-area-view": "^0.14.1", "react-native-screens": "^1.0.0 || ^1.0.0-alpha" }, "dependencies": { @@ -821,9 +1012,9 @@ "integrity": "sha512-lRVw09gOvgviOfeUrKc/pmTiRZ7g7oDOU6OAutyuSHpm1/o2RaBQvRhgK8QEdu+FFuw/wnWb29A/iuxv9i8OpQ==" }, "@types/lodash": { - "version": "4.14.122", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.122.tgz", - "integrity": "sha512-9IdED8wU93ty8gP06ninox+42SBSJHp2IAamsSYMUY76mshRTeUsid/gtbl8ovnOwy8im41ib4cxTiIYMXGKew==" + "version": "4.14.132", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.132.tgz", + "integrity": "sha512-RNUU1rrh85NgUJcjOOr96YXr+RHwInGbaQCZmlitqOaCKXffj8bh+Zxwuq5rjDy5OgzFldDVoqk4pyLEDiwxIw==" }, "@types/lodash.zipobject": { "version": "4.1.6", @@ -834,9 +1025,9 @@ } }, "@types/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-47kAAs3yV/hROraCTQYDMh4p/6zI9+gtssjD0kq9OWsGdLcBge59rl49FnCuJ+iWxEKiqFz6KXzeGH5DRVjNJA==" + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-Jugo5V/1bS0fRhy2z8+cUAHEyWOATaz4rbyLVvcFs7+dXp5HfwpEwzF1Q11bB10ApUqHf+yTauxI0UXQDwGrbA==" }, "@types/uuid-js": { "version": "0.7.2", @@ -848,6 +1039,25 @@ "resolved": "https://registry.npmjs.org/@types/websql/-/websql-0.0.27.tgz", "integrity": "sha1-Yhpman8CAY58u0q6uVaiVzbCfXE=" }, + "@unimodules/core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@unimodules/core/-/core-1.0.0.tgz", + "integrity": "sha512-vITn6SLpeHzbao6kyv9yFjuLkADvZw7pMjEBeKIu2p5U3yd5PLj2PMOTpEPQCvEFswkVHoxXk25TXJoRHkwcOw==", + "requires": { + "compare-versions": "^3.4.0" + } + }, + "@unimodules/react-native-adapter": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@unimodules/react-native-adapter/-/react-native-adapter-1.0.2.tgz", + "integrity": "sha512-qlsvx6VPj/w0tQ31t707Iu8N0Tu2aO26LMNikugaR4EDXaBiSq3MfN3hP7NnYr+NlPihbeJ3zxWQxsXhBuh9wQ==", + "requires": { + "invariant": "^2.2.4", + "lodash.omit": "^4.5.0", + "lodash.pick": "^4.4.0", + "prop-types": "^15.6.1" + } + }, "abab": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", @@ -860,12 +1070,12 @@ "integrity": "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c=" }, "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" + "mime-types": "~2.1.24", + "negotiator": "0.6.2" } }, "acorn": { @@ -875,9 +1085,9 @@ "dev": true }, "acorn-globals": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz", - "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.2.tgz", + "integrity": "sha512-BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ==", "dev": true, "requires": { "acorn": "^6.0.1", @@ -1502,6 +1712,11 @@ "ms": "2.0.0" } }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -1624,6 +1839,54 @@ "babel-template": "^6.24.1" } }, + "babel-install": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/babel-install/-/babel-install-2.1.0.tgz", + "integrity": "sha1-6HXY+dqeQKYChF67pY6VIyU9fWI=", + "dev": true, + "requires": { + "in-publish": "2.0.0", + "yargs-parser": "1.1.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "yargs-parser": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-1.1.0.tgz", + "integrity": "sha1-OVrIR+sQyCmMtsVUe0vISEw8Cpo=", + "dev": true, + "requires": { + "camelcase": "^2.0.1", + "find-up": "^1.1.0", + "pkg-conf": "^1.1.1" + } + } + } + }, "babel-jest": { "version": "23.6.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-23.6.0.tgz", @@ -1680,6 +1943,11 @@ "resolve": "^1.4.0" } }, + "babel-plugin-react-native-web": { + "version": "0.9.13", + "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.9.13.tgz", + "integrity": "sha512-cgHJcA+jDIcEH0g0JSCjRxGlKIMVR5GWCgVSFwfjIP1HCvjFOtjUWGHPEnlMShp9mHl/WtL2v59sRWzVnoK3CA==" + }, "babel-plugin-syntax-class-properties": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", @@ -1923,12 +2191,15 @@ } }, "babel-preset-expo": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-5.0.0.tgz", - "integrity": "sha512-pDtkAIafvQLAZ5dQ/6I9okkiZLw9IBR8ItRzAyUO4j2rUMB9ey6yZTTE77AKWq5HhxhY53Hic8Zl0vSDMTXI0A==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-5.1.1.tgz", + "integrity": "sha512-aboINGtepZW4s5IKu9dpNY7RUzTlM4S55xw2cuQ39DiEWY1fr8TsbLyK4lMC5LXrGhoTGypnn85/Y4yPEdnK5g==", "requires": { + "@babel/core": "^7.1.0", "@babel/plugin-proposal-decorators": "^7.1.0", + "@babel/preset-env": "^7.3.1", "babel-plugin-module-resolver": "^3.1.1", + "babel-plugin-react-native-web": "^0.9.6", "metro-react-native-babel-preset": "^0.49.0" } }, @@ -1992,9 +2263,9 @@ }, "dependencies": { "core-js": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", - "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==" + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" } } }, @@ -2008,9 +2279,9 @@ }, "dependencies": { "core-js": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", - "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==" + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" }, "regenerator-runtime": { "version": "0.11.1", @@ -2178,9 +2449,9 @@ } }, "big-integer": { - "version": "1.6.42", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.42.tgz", - "integrity": "sha512-3UQFKcRMx+5Z+IK5vYTMYK2jzLRJkt+XqyDdacgWgtMjjuifKpKTFneJLEgeBElOE2/lXZ1LcMcb5s8pwG2U8Q==" + "version": "1.6.43", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.43.tgz", + "integrity": "sha512-9dULc9jsKmXl0Aeunug8wbF+58n+hQoFjqClN7WeZwGLh0XJUWyJJ9Ee+Ep+Ql/J9fRsTVaeThp8MhiCCrY0Jg==" }, "big.js": { "version": "5.2.2", @@ -2245,6 +2516,16 @@ } } }, + "browserslist": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.0.tgz", + "integrity": "sha512-Jk0YFwXBuMOOol8n6FhgkDzn3mY9PYLYGk29zybF05SbRTsMgPqmTNeQQhOghCxq5oFqAXE3u4sYddr4C0uRhg==", + "requires": { + "caniuse-lite": "^1.0.30000967", + "electron-to-chromium": "^1.3.133", + "node-releases": "^1.1.19" + } + }, "bser": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", @@ -2331,6 +2612,11 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" }, + "caniuse-lite": { + "version": "1.0.30000971", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000971.tgz", + "integrity": "sha512-TQFYFhRS0O5rdsmSbF1Wn+16latXYsQJat66f7S7lizXW1PVpWJeZw9wqqVLIjuxDRz7s7xRUj13QCfd8hKn6g==" + }, "capture-exit": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", @@ -2489,47 +2775,52 @@ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" }, "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "requires": { "delayed-stream": "~1.0.0" } }, "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, + "compare-versions": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.4.0.tgz", + "integrity": "sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg==" + }, "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, "compressible": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.16.tgz", - "integrity": "sha512-JQfEOdnI7dASwCuSPWIeVYwc/zMsu/+tRhoUvEfXz2gxOA2DNjmG5vhtFdBlhWPPGo+RdT9S3tgc/uH5qgDiiA==", + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", + "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", "requires": { - "mime-db": ">= 1.38.0 < 2" + "mime-db": ">= 1.40.0 < 2" } }, "compression": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", - "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "requires": { "accepts": "~1.3.5", "bytes": "3.0.0", - "compressible": "~2.0.14", + "compressible": "~2.0.16", "debug": "2.6.9", - "on-headers": "~1.0.1", + "on-headers": "~1.0.2", "safe-buffer": "5.1.2", "vary": "~1.1.2" }, @@ -2566,13 +2857,13 @@ } }, "connect": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", - "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "requires": { "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "~1.3.2", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", "utils-merge": "1.0.1" }, "dependencies": { @@ -2609,20 +2900,41 @@ "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" }, + "core-js-compat": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.1.3.tgz", + "integrity": "sha512-EP018pVhgwsKHz3YoN1hTq49aRe+h017Kjz0NQz3nXV0cCRMvH3fLQl+vEPGr4r4J5sk4sU3tUC7U1aqTCeJeA==", + "requires": { + "browserslist": "^4.6.0", + "core-js-pure": "3.1.3", + "semver": "^6.1.0" + }, + "dependencies": { + "semver": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.0.tgz", + "integrity": "sha512-kCqEOOHoBcFs/2Ccuk4Xarm/KiWRSLEX9CAZF8xkJ6ZPlIoTZ8V5f7J16vYLJqDbR7KrxTJpR2lqjIEm2Qx9cQ==" + } + } + }, + "core-js-pure": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.1.3.tgz", + "integrity": "sha512-k3JWTrcQBKqjkjI0bkfXS0lbpWPxYuHWfMMjC1VDmzU4Q58IwSbuXSo99YO/hUHlw/EB4AlfA2PVxOGkrIq6dA==" + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.1.0.tgz", - "integrity": "sha512-kCNPvthka8gvLtzAxQXvWo4FxqRB+ftRZyPZNuab5ngvM9Y7yw7hbEysglptLgpkGX9nAOKTBVkHUAe8xtYR6Q==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "requires": { "import-fresh": "^2.0.0", "is-directory": "^0.3.1", - "js-yaml": "^3.9.0", - "lodash.get": "^4.4.2", + "js-yaml": "^3.13.1", "parse-json": "^4.0.0" }, "dependencies": { @@ -2647,15 +2959,6 @@ "object-assign": "^4.1.1" } }, - "create-react-context": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.2.tgz", - "integrity": "sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A==", - "requires": { - "fbjs": "^0.8.0", - "gud": "^1.0.0" - } - }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -2675,9 +2978,9 @@ "dev": true }, "cssstyle": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.1.tgz", - "integrity": "sha512-7DYm8qe+gPx/h77QlCyFmX80+fGaE/6A/Ekl0zaszYOubvySO2saYFdQ78P29D0UsULxFKCetDGNaNRUdSF+2A==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.2.tgz", + "integrity": "sha512-43wY3kl1CVQSvL7wUY1qXkxVGkStjpkDmVjiIKX8R97uhajy8Bybay78uOtqvh7Q5GK75dNPfW0geWjE6qQQow==", "dev": true, "requires": { "cssom": "0.3.x" @@ -2745,6 +3048,11 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, + "deepmerge": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.2.0.tgz", + "integrity": "sha512-6+LuZGU7QCNUnAJyX8cIrlzoEgggTM6B7mm+znKOX4t5ltluT9KLjN6g61ECMS0LTsLW7yDpNoxhix5FZcrIow==" + }, "default-require-extensions": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", @@ -2895,6 +3203,11 @@ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, + "electron-to-chromium": { + "version": "1.3.137", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.137.tgz", + "integrity": "sha512-kGi32g42a8vS/WnYE7ELJyejRT7hbr3UeOOu0WeuYuQ29gCpg9Lrf6RdcTQVXSt/v0bjCfnlb/EWOOsiKpTmkw==" + }, "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", @@ -2927,11 +3240,11 @@ } }, "errorhandler": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.0.tgz", - "integrity": "sha1-6rpkyl1UKjEayUX1gt78M2Fl2fQ=", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", "requires": { - "accepts": "~1.3.3", + "accepts": "~1.3.7", "escape-html": "~1.0.3" } }, @@ -3025,9 +3338,9 @@ "integrity": "sha1-qG5e5r2qFgVEddp5fM3fDFVphJE=" }, "eventemitter3": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", - "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" }, "exec-sh": { "version": "0.2.2", @@ -3175,6 +3488,25 @@ "serialize-error": "^2.1.0", "uuid-js": "^0.7.5", "whatwg-fetch": "^2.0.4" + }, + "dependencies": { + "expo-local-authentication": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/expo-local-authentication/-/expo-local-authentication-2.0.0.tgz", + "integrity": "sha512-okW+EeLXgIG6xNfxl99bjJDrzmrx44fzYmSRKFspCH6JJQNqGFUgyMjqOsiSlEjPxr3S7Y2aYU0pHgoeoajGjw==", + "requires": { + "expo-core": "~2.0.0", + "invariant": "^2.2.4" + } + }, + "expo-location": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/expo-location/-/expo-location-2.0.1.tgz", + "integrity": "sha512-hd1lZ1yPh+q50AihNqdeAumr3R64fp7qKlJ/5Ry1ap519Gy3uA1y+XOw5HHNXDw+/fbO9O1xBLpAuJUbZxVk8w==", + "requires": { + "invariant": "^2.2.4" + } + } } }, "expo-ads-admob": { @@ -3386,11 +3718,10 @@ } }, "expo-local-authentication": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/expo-local-authentication/-/expo-local-authentication-2.0.0.tgz", - "integrity": "sha512-okW+EeLXgIG6xNfxl99bjJDrzmrx44fzYmSRKFspCH6JJQNqGFUgyMjqOsiSlEjPxr3S7Y2aYU0pHgoeoajGjw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/expo-local-authentication/-/expo-local-authentication-5.0.0.tgz", + "integrity": "sha512-4DnQekHEMef/V4R4/Rm5xzs/6tTvmKr14nBR/zf9/pyTslPE+zr01h74p0FoFK+YFjerxooft0ovGIOqvDEXOQ==", "requires": { - "expo-core": "~2.0.0", "invariant": "^2.2.4" } }, @@ -3406,9 +3737,9 @@ } }, "expo-location": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/expo-location/-/expo-location-2.0.1.tgz", - "integrity": "sha512-hd1lZ1yPh+q50AihNqdeAumr3R64fp7qKlJ/5Ry1ap519Gy3uA1y+XOw5HHNXDw+/fbO9O1xBLpAuJUbZxVk8w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/expo-location/-/expo-location-4.0.0.tgz", + "integrity": "sha512-csJBvH4jztugPyb3pXuCmxOBEBursoL+ve8NB7Eq+XjwWe/1weUiVqMrHzdtWpVqhHaUu2EDyhPt8x3OZ+j/jA==", "requires": { "invariant": "^2.2.4" } @@ -3496,6 +3827,20 @@ "expo-permissions-interface": "~2.0.0" } }, + "expo-sqlite": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/expo-sqlite/-/expo-sqlite-4.0.0.tgz", + "integrity": "sha512-ikx2bCC+n1tTCOI26fk92hUrWN4Y5gRgEwsKmZjeNzQx2ogiIZHCvJF10BSgw0QSupl6/x4TqyMwpHEA8b/+5w==", + "requires": { + "@expo/websql": "^1.0.1", + "@types/websql": "^0.0.27" + } + }, + "expo-sqlite-orm": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/expo-sqlite-orm/-/expo-sqlite-orm-1.4.1.tgz", + "integrity": "sha512-Ste24Ew7zYiMtzTNcn5eQo7AuPzBd3uF66itHXveZwpOXCsgAluMBakq+qlqbPcXPQgV1hFUBXHeQZBT8crEBA==" + }, "expo-task-manager": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/expo-task-manager/-/expo-task-manager-1.0.0.tgz", @@ -3627,9 +3972,9 @@ }, "dependencies": { "core-js": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", - "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==" + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" }, "cross-spawn": { "version": "5.1.0", @@ -3679,16 +4024,16 @@ } }, "finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.1", + "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", "unpipe": "~1.0.0" }, "dependencies": { @@ -3714,16 +4059,23 @@ "requires": { "json5": "^0.5.1", "path-exists": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + } } }, "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "requires": { "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" } }, "find-up": { @@ -3793,13 +4145,13 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", - "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" }, "dependencies": { "abbrev": { @@ -3866,11 +4218,11 @@ "optional": true }, "debug": { - "version": "2.6.9", + "version": "4.1.1", "bundled": true, "optional": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "deep-extend": { @@ -4021,22 +4373,22 @@ } }, "ms": { - "version": "2.0.0", + "version": "2.1.1", "bundled": true, "optional": true }, "needle": { - "version": "2.2.4", + "version": "2.3.0", "bundled": true, "optional": true, "requires": { - "debug": "^2.1.2", + "debug": "^4.1.0", "iconv-lite": "^0.4.4", "sax": "^1.2.4" } }, "node-pre-gyp": { - "version": "0.10.3", + "version": "0.12.0", "bundled": true, "optional": true, "requires": { @@ -4062,12 +4414,12 @@ } }, "npm-bundled": { - "version": "1.0.5", + "version": "1.0.6", "bundled": true, "optional": true }, "npm-packlist": { - "version": "1.2.0", + "version": "1.4.1", "bundled": true, "optional": true, "requires": { @@ -4189,7 +4541,7 @@ "optional": true }, "semver": { - "version": "5.6.0", + "version": "5.7.0", "bundled": true, "optional": true }, @@ -4316,9 +4668,9 @@ } }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -4355,9 +4707,9 @@ } }, "globals": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", - "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==" + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, "graceful-fs": { "version": "4.1.15", @@ -4369,30 +4721,18 @@ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" }, - "gud": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", - "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" - }, "handlebars": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.0.tgz", - "integrity": "sha512-l2jRuU1NAWK6AW5qqcTATWQJvNPEwkM7NEKSiv/gqOsoSQbVoWyqVEY5GS+XPQ88zLNmqASRpzfdm8d79hJS+w==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", + "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", "dev": true, "requires": { - "async": "^2.5.0", + "neo-async": "^2.6.0", "optimist": "^0.6.1", "source-map": "^0.6.1", "uglify-js": "^3.1.4" }, "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true, - "optional": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -4400,13 +4740,13 @@ "dev": true }, "uglify-js": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "version": "3.5.15", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.15.tgz", + "integrity": "sha512-fe7aYFotptIddkwcm6YuA0HmknBZ52ZzOsUxZEdhhkSsz7RfjHDX2QDxwKTiv4JQ5t5NhfmpgAK+J7LiDhKSqg==", "dev": true, "optional": true, "requires": { - "commander": "~2.17.1", + "commander": "~2.20.0", "source-map": "~0.6.1" } } @@ -4544,21 +4884,15 @@ } }, "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", "requires": { "depd": "~1.1.2", "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "dependencies": { - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - } + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" } }, "http-signature": { @@ -4607,6 +4941,17 @@ "requires": { "pkg-dir": "^2.0.0", "resolve-cwd": "^2.0.0" + }, + "dependencies": { + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + } } }, "imurmurhash": { @@ -4614,6 +4959,12 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -5139,9 +5490,9 @@ } }, "jest-expo": { - "version": "32.0.0", - "resolved": "https://registry.npmjs.org/jest-expo/-/jest-expo-32.0.0.tgz", - "integrity": "sha512-976qA3FwRrd3ppC5p3wNvqLmV9W8TlHZfNU8sGyhSBFyEp+jrPBhy7511mt+wW8NjCVaIwjpWSO213V1XQxRTA==", + "version": "32.0.1", + "resolved": "https://registry.npmjs.org/jest-expo/-/jest-expo-32.0.1.tgz", + "integrity": "sha512-FnqfaQ0LuzOgG3/qJh6G+pard5SnWnTfJ7Ad+NFl6CEyZhLp/sCu01fl+CGpal2LFSPODChheIaLYebgw69d+g==", "dev": true, "requires": { "@babel/core": "^7.1.0", @@ -5247,15 +5598,6 @@ "sane": "^2.0.0" } }, - "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -5447,9 +5789,9 @@ "dev": true }, "source-map-support": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", - "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", + "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -5530,9 +5872,9 @@ } }, "write-file-atomic": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.2.tgz", - "integrity": "sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "dev": true, "requires": { "graceful-fs": "^4.1.11", @@ -5649,15 +5991,20 @@ "merge-stream": "^1.0.1" } }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==" + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "3.12.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.2.tgz", - "integrity": "sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -5756,9 +6103,12 @@ "dev": true }, "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "requires": { + "minimist": "^1.2.0" + } }, "jsonfile": { "version": "2.4.0", @@ -5884,11 +6234,6 @@ "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" - }, "lodash.map": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", @@ -5949,9 +6294,9 @@ } }, "lottie-ios": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/lottie-ios/-/lottie-ios-2.5.0.tgz", - "integrity": "sha1-VcgI54XUppM7DBCzlVMLFwmLBd4=" + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/lottie-ios/-/lottie-ios-2.5.3.tgz", + "integrity": "sha512-oBtLkPJ4JkaUqUTOsmFPbSK2/fW6iBezcH5UKBgODaGMpZXCjogArXcvmG7KRNEnPiYMhgqSCKd8tDyDrwQp7Q==" }, "lottie-react-native": { "version": "2.5.0", @@ -5974,17 +6319,18 @@ } }, "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "requires": { - "pify": "^3.0.0" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "dependencies": { "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" } } }, @@ -6192,9 +6538,9 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "node-fetch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", - "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" }, "supports-color": { "version": "2.0.0", @@ -6243,9 +6589,9 @@ }, "dependencies": { "core-js": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", - "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==" + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" } } }, @@ -6400,21 +6746,21 @@ } }, "mime": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", - "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==" + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.3.tgz", + "integrity": "sha512-QgrPRJfE+riq5TPZMcHZOtm8c6K/yYrMbKIoRfapfiGLxS8OTeIfRhUGW5LU7MlRa52KOAGCfUNruqLrIBvWZw==" }, "mime-db": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", - "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==" + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" }, "mime-types": { - "version": "2.1.22", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", - "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", "requires": { - "mime-db": "~1.38.0" + "mime-db": "1.40.0" } }, "mimic-fn": { @@ -6483,9 +6829,9 @@ "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" }, "moment-timezone": { - "version": "0.5.23", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.23.tgz", - "integrity": "sha512-WHFH85DkCfiNMDX5D3X7hpNH3/PUhjTGcD0U1SgfBGZxJ3qUmJh5FdvaFjcClxOvB3rzdfj4oRffbI38jEnC1w==", + "version": "0.5.25", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.25.tgz", + "integrity": "sha512-DgEaTyN/z0HFaVcVbSyVCUU6HeFdnNC3vE4c9cgu2dgMTvjBUBdBzWfasTBmAW45u5OIMeCJtU8yNjM22DHucw==", "requires": { "moment": ">= 2.9.0" } @@ -6528,9 +6874,9 @@ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" }, "nan": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", - "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", "optional": true }, "nanomatch": { @@ -6592,9 +6938,15 @@ "dev": true }, "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true }, "nice-try": { "version": "1.0.5", @@ -6632,6 +6984,14 @@ "which": "^1.3.0" } }, + "node-releases": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.21.tgz", + "integrity": "sha512-TwnURTCjc8a+ElJUjmDqU6+12jhli1Q61xOQmdZ7ECZVBZuQpN/1UnembiIHDM1wCcfLvh5wrWXUF5H6ufX64Q==", + "requires": { + "semver": "^5.3.0" + } + }, "noop-fn": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/noop-fn/-/noop-fn-1.0.0.tgz", @@ -6685,9 +7045,9 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "nwsapi": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.1.tgz", - "integrity": "sha512-T5GaA1J/d34AC8mkrFD2O0DR17kwJ702ZOtJOsS8RpbsQZVOC2/xYFb1i/cw+xdM54JIlMuojjDOYct8GIWtwg==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz", + "integrity": "sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==", "dev": true }, "oauth-sign": { @@ -6730,9 +7090,9 @@ } }, "object-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", - "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, "object-visit": { @@ -6813,6 +7173,11 @@ "mimic-fn": "^1.0.0" } }, + "opencollective-postinstall": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==" + }, "opn": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz", @@ -6938,15 +7303,20 @@ "dev": true }, "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" }, + "path-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.0.tgz", + "integrity": "sha512-Hkavx/nY4/plImrZPHRk2CL9vpOymZLgEbMNX1U0bjcBL7QN9wODxyx0yaMZURSQaUtSEvDrfAvxa9oPb0at9g==" + }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", @@ -7029,12 +7399,107 @@ "node-modules-regexp": "^1.0.0" } }, + "pkg-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-1.1.3.tgz", + "integrity": "sha1-N45W1v0T6Iv7b0ol33qD+qvduls=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "load-json-file": "^1.1.0", + "object-assign": "^4.0.1", + "symbol": "^0.2.1" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "requires": { - "find-up": "^2.1.0" + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", + "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + } } }, "pkg-up": { @@ -7159,9 +7624,9 @@ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "psl": { - "version": "1.1.31", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", - "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", + "version": "1.1.32", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.32.tgz", + "integrity": "sha512-MHACAkHpihU/REGGPLj4sEfc/XKW2bheigvHO1dUqjaKigMp1C8+WLQYRGgeKFMsw5PMfegZcaN8IDXK/cD0+g==", "dev": true }, "punycode": { @@ -7170,19 +7635,25 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "qs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.6.0.tgz", - "integrity": "sha512-KIJqT9jQJDQx5h5uAVPimw6yVg2SekOKu959OCtktD3FjzbpvaPr8i4zzg07DOMz+igA4W/aNM7OV8H37pFYfA==" + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" }, "query-string": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.3.0.tgz", - "integrity": "sha512-jkpCkoHiAA2BYZvni5GieU3x860QDfkh2+M6bPnrYUywqOWbGwPq5VzntTS06ixX4GVHEiq2ZhlmGy/e9LQ3zA==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.5.0.tgz", + "integrity": "sha512-TYC4hDjZSvVxLMEucDMySkuAS9UIzSbAiYGyA9GWCjLKB8fQpviFbjd20fD7uejCDxZS+ftSdBKE6DS+xucJFg==", "requires": { "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", "strict-uri-encode": "^2.0.0" } }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" + }, "randomatic": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", @@ -7206,9 +7677,9 @@ } }, "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "react": { "version": "16.5.0", @@ -7258,9 +7729,9 @@ } }, "react-is": { - "version": "16.8.4", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.4.tgz", - "integrity": "sha512-PVadd+WaUDOAciICm/J1waJaSvgq+4rHE/K70j0PFqKhkTBsPv/82UGQJNXAngz1fOQLLxI6z1sEDmJDQhCTAA==" + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz", + "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==" }, "react-lifecycles-compat": { "version": "3.0.4", @@ -7360,9 +7831,9 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "node-fetch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", - "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" }, "pretty-format": { "version": "4.3.1", @@ -7401,11 +7872,69 @@ } } }, + "react-native-android-location-enabler": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/react-native-android-location-enabler/-/react-native-android-location-enabler-1.0.8.tgz", + "integrity": "sha512-gMb5pldxumR7VKVWwoTHOaeoeoFdHM5VN/bqPM+4dVHCm/sTLBmLiCEfsrc/36usVYe1p8m2Xi7K0ru3r83bPw==" + }, + "react-native-android-location-services-dialog-box": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/react-native-android-location-services-dialog-box/-/react-native-android-location-services-dialog-box-2.8.1.tgz", + "integrity": "sha512-q9jIR1CbjTXZsW5UUrqyGDC6Kt+oQ8mnFvCwYBSusrB7aVZdIimawSVHBJr14A043DZ6d1DpxIXbZEHzkchRXg==" + }, + "react-native-android-open-settings": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-native-android-open-settings/-/react-native-android-open-settings-1.3.0.tgz", + "integrity": "sha512-h4FTWRtTLRVNS7RK4Bg2gAXe8G5bFZL8Jtmfk2rG2a/N/wJR+v1rAY2BxRkC48lQTqwQCIAQRbWgLVkJ8XmaLQ==" + }, + "react-native-async-image-animated": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/react-native-async-image-animated/-/react-native-async-image-animated-4.3.0.tgz", + "integrity": "sha512-UOwjuWu7qyD8T1AkWqOe1TRV8Wm21udQZ/7HkGODJ4gW9kpLq8ymh6NBOFw8zpGcXZRxT73rmf+y69WxIjO+og==" + }, "react-native-branch": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/react-native-branch/-/react-native-branch-2.2.5.tgz", "integrity": "sha1-QHTdY7SXPmOX2c5Q6XtXx3pRjp0=" }, + "react-native-elements": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-1.1.0.tgz", + "integrity": "sha512-n1eOL0kUdlH01zX7bn1p7qhYXn7kquqxYQ0oWlxoAck9t5Db/KeK5ViOsAk8seYSvAG6Pe7OxgzRFnMfFhng0Q==", + "requires": { + "color": "^3.1.0", + "deepmerge": "^3.1.0", + "hoist-non-react-statics": "^3.1.0", + "opencollective-postinstall": "^2.0.0", + "prop-types": "^15.5.8", + "react-native-ratings": "^6.3.0", + "react-native-status-bar-height": "^2.2.0" + }, + "dependencies": { + "color": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.1.tgz", + "integrity": "sha512-PvUltIXRjehRKPSy89VnDWFKY58xyhTLyxIg21vwQBI6qLwZNPmC8k3C1uytIgFKEpOIzN4y32iPm8231zFHIg==", + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "hoist-non-react-statics": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", + "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", + "requires": { + "react-is": "^16.7.0" + } + } + } + }, + "react-native-geocoding": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/react-native-geocoding/-/react-native-geocoding-0.3.0.tgz", + "integrity": "sha512-Z5KM+PiwxF3BSq89WvRrIVpNhFAxiF/ftkwesfH+1U59a0oD9XCzEumKPHeP0Ymr1Bhrro4zFZnrQ3PHm4bjsg==" + }, "react-native-gesture-handler": { "version": "1.0.17", "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.17.tgz", @@ -7416,24 +7945,56 @@ "prop-types": "^15.5.10" } }, + "react-native-gps-state": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/react-native-gps-state/-/react-native-gps-state-2.0.3.tgz", + "integrity": "sha512-gWFpxO5ztNSuwiIYL9Cf6iRuQiCz2B5esGdtX1m8oFSt5k6qJgLwEL79N0jnh2asRREqCqaB/LdJ74sxBuAVaA==" + }, "react-native-maps": { "version": "github:expo/react-native-maps#e6f98ff7272e5d0a7fe974a41f28593af2d77bb2", "from": "github:expo/react-native-maps#v0.22.1-exp.0" }, + "react-native-orientation": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/react-native-orientation/-/react-native-orientation-3.1.3.tgz", + "integrity": "sha512-A0h0E+2f95X4avmhaBG1ZT8WDxBACA/q//JN2eF1E7kq8AJVxt5XDiavv+aSBkBlqFsfF3bIS+T/DB5mXmnxuA==" + }, + "react-native-parallax-scroll-view": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/react-native-parallax-scroll-view/-/react-native-parallax-scroll-view-0.21.3.tgz", + "integrity": "sha512-oVbZPijNGYGcpU2z7k/ZOOnl0vYxch7qtVvaJpH4+wLVnEP49NC2diCzjFGz8PE0yEcgyeTdkpdUK8RTD3QEew==", + "requires": { + "prop-types": "^15.6.0" + } + }, + "react-native-permissions": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-1.1.1.tgz", + "integrity": "sha512-t0Ujm177bagjUOSzhpmkSz+LqFW04HnY9TeZFavDCmV521fQvFz82aD+POXqWsAdsJVOK3umJYBNNqCjC3g0hQ==" + }, "react-native-platform-touchable": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/react-native-platform-touchable/-/react-native-platform-touchable-1.1.1.tgz", "integrity": "sha1-/eSsxl7qWF0osWTQw3FqQhKaaOQ=" }, + "react-native-ratings": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/react-native-ratings/-/react-native-ratings-6.3.1.tgz", + "integrity": "sha512-+WEtk4wPvnoN5YbfWcmyM4LpKOlvkrFlpQe0KrqeWBAOkN6OXOZYBtiCh97dCIb8Ovpm7goOEcTf3T1MGCi2LA==", + "requires": { + "lodash": "^4.17.4", + "prop-types": "^15.5.10" + } + }, "react-native-reanimated": { "version": "1.0.0-alpha.11", "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-1.0.0-alpha.11.tgz", "integrity": "sha512-lDakjY8CXmZiSN71hyc276b3d7M9mKV9ZyYw4W/rTnnJbgBFaqdIxSHq4S4LxSbVqpAoQMfUJqPTE0BKbAz7Aw==" }, "react-native-safe-area-view": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.13.1.tgz", - "integrity": "sha512-d/pu2866jApSwLtK/xWAvMXZkNTIQcFrjjbcTATBrmIfFNnu8TNFUcMRFpfJ+eOn5nmx7uGmDvs9B53Ft7JGpQ==", + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.14.4.tgz", + "integrity": "sha512-ypDQVoAyNHBhMR1IGfadm8kskNzPg5czrDAzQEu5MXG9Ahoi5f1cL/rT2KO+R9f6xRjf6b1IjY53m0B0xHRd0A==", "requires": { "hoist-non-react-statics": "^2.3.1" } @@ -7451,6 +8012,98 @@ "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-1.0.0-alpha.22.tgz", "integrity": "sha512-kSyAt0AeVU6N7ZonfV6dP6iZF8B7Bce+tk3eujXhzBGsLg0VSLnU7uE9VqJF0xdQrHR91ZjGgVMieo/8df9KTA==" }, + "react-native-sqlite-storage": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/react-native-sqlite-storage/-/react-native-sqlite-storage-3.3.10.tgz", + "integrity": "sha512-t9NYXtiNz4C42og+gtJwTh+9K26Fl3qsUiLGresMxZrqvX5UR+M8nbnN69akTYW7KaSmOrebGI7npPKQ2WimJQ==", + "requires": { + "xcode": "0.8.9" + }, + "dependencies": { + "base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=" + }, + "bplist-creator": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.4.tgz", + "integrity": "sha1-SsBJZ4LhJ6hcHSAmpPXrIqev+ZE=", + "requires": { + "stream-buffers": "~0.2.3" + } + }, + "bplist-parser": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz", + "integrity": "sha1-ONo0cYF9+dRKs4kuJ3B7u9daEbk=" + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + }, + "node-uuid": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", + "integrity": "sha1-baWhdmjEs91ZYjvaEc9/pMH2Cm8=" + }, + "pegjs": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.9.0.tgz", + "integrity": "sha1-9q76LjzlYWkgjlIXnf5B+JFBo2k=" + }, + "plist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-1.2.0.tgz", + "integrity": "sha1-CEtQk93JJQbiWfh0uNmxr7jHlZM=", + "requires": { + "base64-js": "0.0.8", + "util-deprecate": "1.0.2", + "xmlbuilder": "4.0.0", + "xmldom": "0.1.x" + } + }, + "simple-plist": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-0.1.4.tgz", + "integrity": "sha1-EOtRtH4zxVbrjsRtXuZNZOcX210=", + "requires": { + "bplist-creator": "0.0.4", + "bplist-parser": "0.0.6", + "plist": "1.2.0" + } + }, + "stream-buffers": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-0.2.6.tgz", + "integrity": "sha1-GBwI1bs2kARfaUAbmuanoM8zE/w=" + }, + "xcode": { + "version": "0.8.9", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-0.8.9.tgz", + "integrity": "sha1-7Gdl9w6dzMzJ9umlubTn6BS0zzU=", + "requires": { + "node-uuid": "1.4.7", + "pegjs": "0.9.0", + "simple-plist": "0.1.4" + } + }, + "xmlbuilder": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz", + "integrity": "sha1-mLj2UcowqmJANvEn0RzGbce5B6M=", + "requires": { + "lodash": "^3.5.0" + } + } + } + }, + "react-native-status-bar-height": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/react-native-status-bar-height/-/react-native-status-bar-height-2.3.1.tgz", + "integrity": "sha512-m9nGKYfFn6ljF1abafzF5cFaD9JCzXwj7kNE9CuF+g0TgtItH70eY2uHaCV9moENTftqd5XIS3Cx0mf4WfistA==" + }, "react-native-svg": { "version": "8.0.10", "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-8.0.10.tgz", @@ -7462,13 +8115,75 @@ } }, "react-native-tab-view": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.3.2.tgz", - "integrity": "sha512-2U+HxDQdjzExoC6gZ+wUhC8v8JjntppsFVU4v4pRvC/1dkN7DJv1k8UEy9+p7ucEaNrcAzu/j5N09Jf4qG36vw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.4.1.tgz", + "integrity": "sha512-Bke8KkDcDhvB/z0AS7MnQKMD2p6Kwfc1rSKlMOvg9CC5CnClQ2QEnhPSbwegKDYhUkBI92iH/BYy7hNSm5kbUQ==", "requires": { "prop-types": "^15.6.1" } }, + "react-native-unimodules": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/react-native-unimodules/-/react-native-unimodules-0.3.1.tgz", + "integrity": "sha512-4fOig5HEFfVb+NUs+0IsmwWeVF9XC8m2HdOKQscu38RGcaj0xoOTAC/v2Cxyz4feX+siUPVz8Buj9A4CC64Q/Q==", + "requires": { + "@unimodules/core": "~1.0.0", + "@unimodules/react-native-adapter": "~1.0.0", + "chalk": "^2.4.2", + "expo-app-loader-provider": "~4.0.0", + "expo-asset": "~4.0.0", + "expo-constants": "~4.0.0", + "expo-file-system": "~4.0.0", + "expo-permissions": "~4.0.0", + "unimodules-barcode-scanner-interface": "~1.0.0", + "unimodules-camera-interface": "~1.0.0", + "unimodules-constants-interface": "~1.0.0", + "unimodules-face-detector-interface": "~1.0.0", + "unimodules-file-system-interface": "~1.0.0", + "unimodules-font-interface": "~1.0.0", + "unimodules-image-loader-interface": "~1.0.0", + "unimodules-permissions-interface": "~1.0.0", + "unimodules-sensors-interface": "~1.0.0", + "unimodules-task-manager-interface": "~1.0.0" + }, + "dependencies": { + "expo-app-loader-provider": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/expo-app-loader-provider/-/expo-app-loader-provider-4.0.0.tgz", + "integrity": "sha512-0NYm/wFgyTcZP9OFl622xCdaWCZaW2Sl9wtpoCG5Sri/85/gLAA3SQGiS8PAqFTCENs9DEuENf1qPs85wh9xYA==" + }, + "expo-asset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-4.0.0.tgz", + "integrity": "sha512-oFIaq1V3D23wos3Lc1+3ABAAbXTytVDCXF0lTSDNsCEGHk+rt2WUedD0FL+RNw+C4zG7aqxI6cPaDNc+4lyKdA==", + "requires": { + "path-browserify": "^1.0.0", + "url-parse": "^1.4.4" + } + }, + "expo-constants": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-4.0.0.tgz", + "integrity": "sha512-bMzEgPJ431up3gOA9+MToGU09qG1UrX1MG99xP1w6eRjIb3XX4Fp0jx2eF5AfsS5gosMb78gLShwhdMbcbR8Sw==", + "requires": { + "ua-parser-js": "^0.7.19" + } + }, + "expo-file-system": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-4.0.0.tgz", + "integrity": "sha512-t/DFoZ43AIjMUq06/ntK2+3gQwnfaJW1nmnAocCwccHh2Eo+Cer3qVMjJ5vcqmonkrcQ7Ycuv4hw/btqtVhCYQ==", + "requires": { + "uuid-js": "^0.7.5" + } + }, + "expo-permissions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/expo-permissions/-/expo-permissions-4.0.0.tgz", + "integrity": "sha512-OdO5qXnC1oU4bF3ItTatOEbeIGU1986OuT2bUO8dxu8/1ycc+s7w9ayOguFTFWGLINrKmjI7StDxl5KnaW6j3Q==" + } + } + }, "react-native-vector-icons": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-6.0.0.tgz", @@ -7485,39 +8200,39 @@ "integrity": "sha512-xFJA+N7wh8Ik/17I4QB24e0a0L3atg1ScVehvtYR5UBTgHdzTFA0ZylvXp9gkZt7V+AT5Pni0H3NQItpqSKFoQ==" }, "react-navigation": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/react-navigation/-/react-navigation-3.3.2.tgz", - "integrity": "sha512-XETRxwPGHvJh3LKkAhX5b2sg2u9QiMegmEd0H5O0GWjqYrfJ7LcwzeM0273OfwcpR5lyl+hkCVPMkM+i1xFnVw==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/react-navigation/-/react-navigation-3.11.0.tgz", + "integrity": "sha512-wlPcDtNiIdPeYxNQ/MN4arY5Xe9EphD2QVpRuvvuPWW+BamF3AJaIy060r3Yz59DODAoWllscabat/yqnih8Tg==", "requires": { - "@react-navigation/core": "3.1.1", - "@react-navigation/native": "3.1.5", - "react-navigation-drawer": "1.2.0", - "react-navigation-stack": "1.0.10", - "react-navigation-tabs": "1.0.2" + "@react-navigation/core": "~3.4.1", + "@react-navigation/native": "~3.5.0", + "react-navigation-drawer": "~1.2.1", + "react-navigation-stack": "~1.4.0", + "react-navigation-tabs": "~1.1.4" } }, "react-navigation-drawer": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/react-navigation-drawer/-/react-navigation-drawer-1.2.0.tgz", - "integrity": "sha512-78idNMJpOGzn0jHej69yTIiqJWdCVdMy2sBtppcdnT+DHeZXQDamTuGurjluf/2WyNB2xAXipIk4N4NnvqRfvw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/react-navigation-drawer/-/react-navigation-drawer-1.2.1.tgz", + "integrity": "sha512-T2kaBjY2c4/3I6noWFnaf/c18ntNH5DsST38i+pdc2NPxn5Yi5lkK+ZZTeKuHSFD4a7G0jWY9OGf1iRkHWLMAQ==", "requires": { "react-native-tab-view": "^1.2.0" } }, "react-navigation-stack": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/react-navigation-stack/-/react-navigation-stack-1.0.10.tgz", - "integrity": "sha512-p+1oJ6lQYzblidOopIX0Tt+0ZvzaTyoPrBU9erMI04LEoa37BovYpWd1NXBIkV5+wfRt/o5R2x+RZ3LUeWpjeA==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/react-navigation-stack/-/react-navigation-stack-1.4.0.tgz", + "integrity": "sha512-zEe9wCA0Ot8agarYb//0nSWYW1GM+1R0tY/nydUV0EizeJ27At0EklYVWvYEuYU6C48va6cu8OPL7QD/CcJACw==" }, "react-navigation-tabs": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-1.0.2.tgz", - "integrity": "sha512-ffWPVdo+L0GLbQlLAzH7ITYqh9V9NdqT/juj8QtESH5/2yUqfvqTxQoSowvFIrtiIHHFH6tLoQy1sZZciTxmeg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-1.1.4.tgz", + "integrity": "sha512-py2hLCRxPwXOzmY1W9XcY1rWXxdK6RGW/aXh56G9gIf8cpHNDhy/bJV4e46/JrVcse3ybFaN0liT09/DM/NdwQ==", "requires": { "hoist-non-react-statics": "^2.5.0", "prop-types": "^15.6.1", "react-lifecycles-compat": "^3.0.4", - "react-native-tab-view": "^1.0.0" + "react-native-tab-view": "^1.4.1" } }, "react-proxy": { @@ -7530,15 +8245,15 @@ } }, "react-test-renderer": { - "version": "16.8.4", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.8.4.tgz", - "integrity": "sha512-jQ9Tf/ilIGSr55Cz23AZ/7H3ABEdo9oy2zF9nDHZyhLHDSLKuoILxw2ifpBfuuwQvj4LCoqdru9iZf7gwFH28A==", + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.8.6.tgz", + "integrity": "sha512-H2srzU5IWYT6cZXof6AhUcx/wEyJddQ8l7cLM/F7gDXYyPr4oq+vCIxJYXVGhId1J706sqziAjuOEjyNkfgoEw==", "dev": true, "requires": { "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "react-is": "^16.8.4", - "scheduler": "^0.13.4" + "react-is": "^16.8.6", + "scheduler": "^0.13.6" } }, "react-timer-mixin": { @@ -7603,22 +8318,22 @@ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" }, "regenerate-unicode-properties": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.0.1.tgz", - "integrity": "sha512-HTjMafphaH5d5QDHuwW8Me6Hbc/GhXg8luNqTkPVwZ/oCZhnoifjWhGYsu2BzepMELTlbnoVcXvV0f+2uDDvoQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", "requires": { "regenerate": "^1.4.0" } }, "regenerator-runtime": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", - "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", + "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==" }, "regenerator-transform": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.4.tgz", - "integrity": "sha512-T0QMBjK3J0MtxjPmdIMXm72Wvj2Abb0Bd4HADdfijwMdoIsyQZ6fWC7kDFhk2YinBBEMZDL7Y7wh0J1sGx3S4A==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.0.tgz", + "integrity": "sha512-rtOelq4Cawlbmq9xuMR5gdFmv7ku/sFoB7sRiywx7aq53bc52b4j6zvH7Te1Vt/X2YveDKnCGUbioieU7FEL3w==", "requires": { "private": "^0.1.6" } @@ -7659,13 +8374,18 @@ } } }, + "regexp-tree": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.10.tgz", + "integrity": "sha512-K1qVSbcedffwuIslMwpe6vGlj+ZXRnGkvjAtFHfDZZZuEdA/h0dxljAPu9vhUo6Rrx2U2AwJ+nSQ6hK+lrP5MQ==" + }, "regexpu-core": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.3.tgz", - "integrity": "sha512-LON8666bTAlViVEPXMv65ZqiaR3rMNLz36PIaQ7D+er5snu93k0peR7FSvO0QteYbZ3GOkvfHKbGr/B1xDu9FA==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.4.tgz", + "integrity": "sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ==", "requires": { "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.0.1", + "regenerate-unicode-properties": "^8.0.2", "regjsgen": "^0.5.0", "regjsparser": "^0.6.0", "unicode-match-property-ecmascript": "^1.0.4", @@ -7797,15 +8517,20 @@ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, "reselect": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz", "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=" }, "resolve": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", + "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", "requires": { "path-parse": "^1.0.6" } @@ -7851,6 +8576,25 @@ "glob": "^7.1.3" } }, + "rn-placeholder": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rn-placeholder/-/rn-placeholder-1.3.3.tgz", + "integrity": "sha512-QNW+t5UzAX9Syx9oROrrPusuDrU7flR/DTQoa3RCDJxzoNLWp1d1WqA0BdHGStuyA3f6sVaLNkl0vFDg/6bACw==", + "requires": { + "prop-types": "15.6.2" + }, + "dependencies": { + "prop-types": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", + "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", + "requires": { + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + } + } + }, "rsvp": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", @@ -8212,9 +8956,9 @@ } }, "scheduler": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.4.tgz", - "integrity": "sha512-cvSOlRPxOHs5dAhP9yiS/6IDmVAVxmk33f0CtTJRkmUWcb1Us+t7b1wqdzoC0REw2muC9V5f1L/w5R5uKGaepA==", + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", + "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -8232,14 +8976,14 @@ } }, "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==" }, "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "requires": { "debug": "2.6.9", "depd": "~1.1.2", @@ -8248,12 +8992,12 @@ "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "range-parser": "~1.2.1", + "statuses": "~1.5.0" }, "dependencies": { "debug": { @@ -8262,22 +9006,19 @@ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } } }, "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" } } }, @@ -8287,14 +9028,14 @@ "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=" }, "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" + "parseurl": "~1.3.3", + "send": "0.17.1" } }, "set-blocking": { @@ -8329,9 +9070,9 @@ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" }, "shebang-command": { "version": "1.2.0", @@ -8604,9 +9345,14 @@ } }, "spdx-license-ids": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", - "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==" + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", + "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==" + }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" }, "split-string": { "version": "3.1.0", @@ -8664,9 +9410,12 @@ "dev": true }, "stacktrace-parser": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.4.tgz", - "integrity": "sha1-ATl5IuX2Ls8whFUiyVxP4dJefU4=" + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.6.tgz", + "integrity": "sha512-wXhu0Z8YgCGigUtHQq+J7pjXCppk3Um5DwH4qskOKHMlJmKwuuUSm+wDAgU7t4sbVjvuDTNGwOfFKgjMEqSflA==", + "requires": { + "type-fest": "^0.3.0" + } }, "static-extend": { "version": "0.1.2", @@ -8688,9 +9437,9 @@ } }, "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, "stealthy-require": { "version": "1.1.1", @@ -8798,6 +9547,12 @@ "has-flag": "^3.0.0" } }, + "symbol": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/symbol/-/symbol-0.2.3.tgz", + "integrity": "sha1-O5hzuKkB5Hxu/iFSajrDcu8ou8c=", + "dev": true + }, "symbol-tree": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", @@ -9030,6 +9785,11 @@ } } }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", @@ -9078,6 +9838,11 @@ "prelude-ls": "~1.1.2" } }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -9138,6 +9903,56 @@ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==" }, + "unimodules-barcode-scanner-interface": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unimodules-barcode-scanner-interface/-/unimodules-barcode-scanner-interface-1.0.0.tgz", + "integrity": "sha512-7kYof5jsr0ur9NwQuqu5Hzf69F+/p5TbtSy02sHyOu81nHVUt0Ewr4V8babcgMhl9Wf9uYmAplrh53UsMmtySw==" + }, + "unimodules-camera-interface": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unimodules-camera-interface/-/unimodules-camera-interface-1.0.0.tgz", + "integrity": "sha512-AFPOxe8KFroYnkC8lqlKx2NpGvnOM+LTBLuTFtFOUOx6aBCVZerBqY1X6bLBQAdo3MJw9aaJU2lb6EtE0TychQ==" + }, + "unimodules-constants-interface": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unimodules-constants-interface/-/unimodules-constants-interface-1.0.0.tgz", + "integrity": "sha512-iTMKEqFWWaxoV6rjP3hLdH2/7psDI1Fz++YXNK+TXR0/dk73Sy7gqbm9rbwAqJN4potHpatPFprStY+Pgmy3qA==" + }, + "unimodules-face-detector-interface": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unimodules-face-detector-interface/-/unimodules-face-detector-interface-1.0.0.tgz", + "integrity": "sha512-sSBqU52ZAw2UK9Gh2wd4dfK8aX58BQabewZjJ7zMDAf2PV1vzGZb9b43Rn9j4B8m2KXd1UBE1PLrGvZc1i5qLA==" + }, + "unimodules-file-system-interface": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unimodules-file-system-interface/-/unimodules-file-system-interface-1.0.0.tgz", + "integrity": "sha512-d8ymqi1i+XYARJ512vM4I74F51X8b8Xf4boiMpKVkkdu6ZSxGcyYRiKSuvBrjHYXoAKFaYDlFtSPfGrBuq7VPA==" + }, + "unimodules-font-interface": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unimodules-font-interface/-/unimodules-font-interface-1.0.0.tgz", + "integrity": "sha512-pPxBDM3eVMUc2Jf0aF+Z42Lax9+s6hhJk+cSdNhYXtXXI1uTkEnacCGSUouiTXtUctOen77ETOvuWOEV4Euusg==" + }, + "unimodules-image-loader-interface": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unimodules-image-loader-interface/-/unimodules-image-loader-interface-1.0.0.tgz", + "integrity": "sha512-w6sILa8zxXgj1BPzNMZjbjhiuIfvBPHhojNKUK+HyrG12VpQz/NLvozzag5YAgpODwgMw+7wyfF5RX1MjEKCoA==" + }, + "unimodules-permissions-interface": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unimodules-permissions-interface/-/unimodules-permissions-interface-1.0.0.tgz", + "integrity": "sha512-fPc8tmhU4y0ohnZeFOm8BkRabA46eXnELyWIHs0XXNOUrwnlK7KU4pfK7xw6bVuC3Tdu67eQkr3B1y6AMQBxAg==" + }, + "unimodules-sensors-interface": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unimodules-sensors-interface/-/unimodules-sensors-interface-1.0.0.tgz", + "integrity": "sha512-TgeQIQ3NKEn5x0VuPcbWT96uWW2uz9Tseuu+HagjC2/ybryD5SqifvbjFxF9st2dmHxhADyvFndvpWeFBOs0Ag==" + }, + "unimodules-task-manager-interface": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unimodules-task-manager-interface/-/unimodules-task-manager-interface-1.0.0.tgz", + "integrity": "sha512-Bsl4d6MaDX+ff57TUk6uxN91ic/1lygTOstS8iIpzmBunh99Fq3X3LZlPVrrEZOSYTGkyHiYlusX83HLmuGzeg==" + }, "union-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", @@ -9254,6 +10069,15 @@ "schema-utils": "^1.0.0" } }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", diff --git a/EXPO/package.json b/EXPO/package.json index 0c3b6c2..3b2c88e 100644 --- a/EXPO/package.json +++ b/EXPO/package.json @@ -13,11 +13,29 @@ "dependencies": { "@expo/samples": "2.1.1", "expo": "^32.0.0", + "expo-local-authentication": "^5.0.0", + "expo-location": "^4.0.0", + "expo-sqlite": "^4.0.0", + "expo-sqlite-orm": "^1.4.1", "react": "16.5.0", "react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz", - "react-navigation": "^3.0.9" + "react-native-android-location-enabler": "^1.0.8", + "react-native-android-location-services-dialog-box": "^2.8.1", + "react-native-android-open-settings": "^1.3.0", + "react-native-async-image-animated": "^4.3.0", + "react-native-elements": "^1.1.0", + "react-native-geocoding": "^0.3.0", + "react-native-gps-state": "^2.0.3", + "react-native-orientation": "^3.1.3", + "react-native-parallax-scroll-view": "^0.21.3", + "react-native-permissions": "^1.1.1", + "react-native-sqlite-storage": "^3.3.10", + "react-native-unimodules": "^0.3.1", + "react-navigation": "^3.7.1", + "rn-placeholder": "^1.3.3" }, "devDependencies": { + "babel-install": "2.1.0", "babel-preset-expo": "^5.0.0", "jest-expo": "^32.0.0" }, diff --git a/EXPO/reset/.expo/packager-info.json b/EXPO/reset/.expo/packager-info.json new file mode 100644 index 0000000..0c248ba --- /dev/null +++ b/EXPO/reset/.expo/packager-info.json @@ -0,0 +1,3 @@ +{ + "devToolsPort": 19002 +} \ No newline at end of file diff --git a/EXPO/reset/.expo/settings.json b/EXPO/reset/.expo/settings.json new file mode 100644 index 0000000..8e4fcd2 --- /dev/null +++ b/EXPO/reset/.expo/settings.json @@ -0,0 +1,7 @@ +{ + "hostType": "lan", + "lanType": "ip", + "dev": true, + "minify": false, + "urlRandomness": null +} \ No newline at end of file diff --git a/EXPO/screens/.expo/packager-info.json b/EXPO/screens/.expo/packager-info.json new file mode 100644 index 0000000..2420b48 --- /dev/null +++ b/EXPO/screens/.expo/packager-info.json @@ -0,0 +1,3 @@ +{ + "devToolsPort": 19003 +} \ No newline at end of file diff --git a/EXPO/screens/.expo/settings.json b/EXPO/screens/.expo/settings.json new file mode 100644 index 0000000..8e4fcd2 --- /dev/null +++ b/EXPO/screens/.expo/settings.json @@ -0,0 +1,7 @@ +{ + "hostType": "lan", + "lanType": "ip", + "dev": true, + "minify": false, + "urlRandomness": null +} \ No newline at end of file diff --git a/EXPO/screens/Constants.js b/EXPO/screens/Constants.js new file mode 100644 index 0000000..7930e4f --- /dev/null +++ b/EXPO/screens/Constants.js @@ -0,0 +1,86 @@ +import {AsyncStorage} from 'react-native'; +import { SecureStore } from 'expo'; + + export var localDB = { + dbName : 'reactDemoInfoDB.db', + tableName : { + tblUser: 'tblUser', + } + } + + export var URICONST = { + NearBy_Icon: 'https://img.icons8.com/ios/50/000000/3-star-hotel.png', + PlaceHolder_Icon: 'https://img.icons8.com/color/100/000000/4-star-hotel.png', + DRAWER_ICON: 'https://png.icons8.com/ios/2x/menu-filled.png', + NOTIFICATION_ICON: 'https://img.icons8.com/ios/50/000000/bell.png', + USER_ICON: 'https://img.icons8.com/ios/150/000000/user-male-circle.png', + IOS_SETTINGS : 'app-settings:' + } + + export var KeyConst = { + ASYNCH_STORE_Key: 'profileImage', + SECURE_STORE_Key: 'ProfilePic', + GOOGLEAPI_KEY: 'AIzaSyD7JZmztK5wE-80P8t-_IOHZQinVtx4Dio', + + } + +/* Asynch Storage */ + + export const storeDataInAsynch = async (key,values) => { + + const stringValues = JSON.stringify(values) + console.log("Stored value"+stringValues); + + try { + await AsyncStorage.setItem(key, stringValues); + } catch (error) { + // Error saving data + console.log("Exception in Async Storage"+error); + } + + } + + export const fetchDataFromAsynch = async (key) => { + + try { + const value = await AsyncStorage.getItem(key); + if (value === null) { + return null; + } + const item = JSON.parse(value); + console.log(item); + return item + + } catch (error) { + console.log("Exception in Fetch Async Storage"+error); + } + return null + } + +/****************************** SecureStore DB ******************************/ + + export const storeDataInSecureStore = async (key, value) => { + try { + await SecureStore.setItemAsync(key, value) + }catch(error) { + console.log("Exception in storeDataInSecureStore"+error); + } + } + + + export const fetchDataFromSecureStore = async (key) => { + + try { + const profileData = SecureStore.getItemAsync(key) + if (profileData === null) { return null } + console.log("getDataFromSecureStore : "+profileData); + return profileData + + }catch(error) { + console.log("Exception in getDataFromSecureStore"+error); + } + + return null + + } + diff --git a/EXPO/screens/DemoList.js b/EXPO/screens/DemoList.js new file mode 100644 index 0000000..1eb6d32 --- /dev/null +++ b/EXPO/screens/DemoList.js @@ -0,0 +1,87 @@ +import React from "react"; +import { StyleSheet, Image, Text, View,Button } from "react-native"; +import { WebBrowser } from "expo"; +import { Ionicons } from "@expo/vector-icons"; +import Touchable from "react-native-platform-touchable"; +import { ScreenOrientation } from 'expo'; + import {ListItemView} from '../components/ListItemView'; +const modelArr = [ + { + 'id': 1, + 'name': 'demo1', + 'avator':'avator.png' + }, { + 'id': 2, + 'name': 'demo2', + 'avator':'avator.png' + }, { + 'id': 3, + 'name': 'demo3', + 'avator':'avator.png' + }, { + 'id': 4, + 'name': 'demo4', + 'avator':'avator.png' + }, { + 'id': 5, + 'name': 'demo5', + 'avator':'avator.png' + } +] +export default class DemoList extends React.Component { + static navigationOptions = { + title: 'DemoList ', + drawerIcon: ({tintColor}) => ( + + ) + }; + + + + + render() { + return( + + { + return + } + + } + + /> + ) + } + + +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + paddingTop: 15 + }, + optionsTitleText: { + fontSize: 16, + marginLeft: 15, + marginTop: 9, + marginBottom: 12 + }, + optionIconContainer: { + marginRight: 9 + }, + option: { + backgroundColor: "#fdfdfd", + paddingHorizontal: 15, + paddingVertical: 15, + borderBottomWidth: StyleSheet.hairlineWidth, + borderBottomColor: "#EDEDED" + }, + optionText: { + fontSize: 15, + marginTop: 1 + } +}); diff --git a/EXPO/screens/DrawerScreen.js b/EXPO/screens/DrawerScreen.js new file mode 100644 index 0000000..dbdfa83 --- /dev/null +++ b/EXPO/screens/DrawerScreen.js @@ -0,0 +1,67 @@ +import React, {Component} from 'react'; +import {NavigationActions} from 'react-navigation'; +import PropTypes from 'prop-types'; +import {ScrollView, Text, View, Image} from 'react-native'; +import { DrawerActions } from 'react-navigation'; +//import styles from '../../styles/index'; +import {StyleSheet, Platform} from 'react-native'; +import LinksScreen from "../screens/LinksScreen"; +import HomeScreen from "../screens/Notifications"; +//import NearByHotel from "../screens/NearByHotel" + +class DrawerScreen extends Component { + navigateToScreen = (route) => () => { + const navigateAction = NavigationActions.navigate({ + routeName: route + }); + this.props.navigation.dispatch(navigateAction); + this.props.navigation.dispatch(DrawerActions.closeDrawer()) + } + + render () { + return ( + + + + + + Home + + + + + Link + + + + + + + ); + } +} + +DrawerScreen.propTypes = { + navigation: PropTypes.object +}; + +export default DrawerScreen; + +const styles = StyleSheet.create({ + container: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: '#fff', + }, + heading: { + fontSize: 20, + textAlign: 'center', + margin: 10, + }, + menuItem:{ + padding: 10, + borderWidth: 0.5, + borderColor: '#d6d7da' + } +}); diff --git a/EXPO/screens/HomeScreen.js b/EXPO/screens/HomeScreen.js deleted file mode 100644 index 0d3548e..0000000 --- a/EXPO/screens/HomeScreen.js +++ /dev/null @@ -1,188 +0,0 @@ -import React from 'react'; -import { - Image, - Platform, - ScrollView, - StyleSheet, - Text, - TouchableOpacity, - View, -} from 'react-native'; -import { WebBrowser } from 'expo'; - -import { MonoText } from '../components/StyledText'; - -export default class HomeScreen extends React.Component { - static navigationOptions = { - header: null, - }; - - render() { - return ( - - - - - - - - {this._maybeRenderDevelopmentModeWarning()} - - Get started by opening - - - screens/HomeScreen.js - - - - Change this text and your app will automatically reload. - - - - - - Help, it didn’t automatically reload! - - - - - - This is a tab bar. You can edit it in: - - - navigation/MainTabNavigator.js - - - - ); - } - - _maybeRenderDevelopmentModeWarning() { - if (__DEV__) { - const learnMoreButton = ( - - Learn more - - ); - - return ( - - Development mode is enabled, your app will be slower but you can use useful development - tools. {learnMoreButton} - - ); - } else { - return ( - - You are not in development mode, your app will run at full speed. - - ); - } - } - - _handleLearnMorePress = () => { - WebBrowser.openBrowserAsync('https://docs.expo.io/versions/latest/guides/development-mode'); - }; - - _handleHelpPress = () => { - WebBrowser.openBrowserAsync( - 'https://docs.expo.io/versions/latest/guides/up-and-running.html#can-t-see-your-changes' - ); - }; -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#fff', - }, - developmentModeText: { - marginBottom: 20, - color: 'rgba(0,0,0,0.4)', - fontSize: 14, - lineHeight: 19, - textAlign: 'center', - }, - contentContainer: { - paddingTop: 30, - }, - welcomeContainer: { - alignItems: 'center', - marginTop: 10, - marginBottom: 20, - }, - welcomeImage: { - width: 100, - height: 80, - resizeMode: 'contain', - marginTop: 3, - marginLeft: -10, - }, - getStartedContainer: { - alignItems: 'center', - marginHorizontal: 50, - }, - homeScreenFilename: { - marginVertical: 7, - }, - codeHighlightText: { - color: 'rgba(96,100,109, 0.8)', - }, - codeHighlightContainer: { - backgroundColor: 'rgba(0,0,0,0.05)', - borderRadius: 3, - paddingHorizontal: 4, - }, - getStartedText: { - fontSize: 17, - color: 'rgba(96,100,109, 1)', - lineHeight: 24, - textAlign: 'center', - }, - tabBarInfoContainer: { - position: 'absolute', - bottom: 0, - left: 0, - right: 0, - ...Platform.select({ - ios: { - shadowColor: 'black', - shadowOffset: { height: -3 }, - shadowOpacity: 0.1, - shadowRadius: 3, - }, - android: { - elevation: 20, - }, - }), - alignItems: 'center', - backgroundColor: '#fbfbfb', - paddingVertical: 20, - }, - tabBarInfoText: { - fontSize: 17, - color: 'rgba(96,100,109, 1)', - textAlign: 'center', - }, - navigationFilename: { - marginTop: 5, - }, - helpContainer: { - marginTop: 15, - alignItems: 'center', - }, - helpLink: { - paddingVertical: 15, - }, - helpLinkText: { - fontSize: 14, - color: '#2e78b7', - }, -}); diff --git a/EXPO/screens/HomeScreen/HomeScreen.StyleSheet.js b/EXPO/screens/HomeScreen/HomeScreen.StyleSheet.js new file mode 100644 index 0000000..0bed609 --- /dev/null +++ b/EXPO/screens/HomeScreen/HomeScreen.StyleSheet.js @@ -0,0 +1,55 @@ +import React, { Component } from "react"; +import AsyncImageAnimated from 'react-native-async-image-animated'; + +import {StyleSheet,Platform } from "react-native"; +import { Constants } from "expo"; + +export const homestyles = StyleSheet.create({ + container: { + flex: 1, + alignItems: "center", + justifyContent: "center", + paddingTop: Constants.statusBarHeight, + backgroundColor: "#ecf0f1" + },paragraph: { + margin: 24, + fontSize: 18, + textAlign: "center" + },buttonContainer: { + width: 100, + height: 60, + marginLeft: 180, + marginBottom:15, + alignItems: 'flex-end', + marginRight: 50, + paddingTop: ( Platform.OS === 'ios' ) ? 20 : 0 + },textContainer: { + borderBottomWidth:1.5, + borderBottomColor: "black", + width: 200, + height: 60, + marginLeft: 15, + marginBottom:15, + alignItems: 'flex-start', + marginRight: 20, + paddingTop: ( Platform.OS === 'ios' ) ? 20 : 0 + },distanceStyle: { + flexDirection: 'column', + justifyContent: 'flex-start', + marginRight: 5, + backgroundColor: 'white' + },hotelTitleStyle: { + flex:1, + justifyContent: 'center', + marginLeft: 5, + backgroundColor: 'white' + },viewCardStyle: { + flex:1, + flexDirection: 'row', + height: 120, + marginBottom: 5, + borderBottomColor: '#D3D3D3', + borderBottomWidth: 1,margin: 8 + } + }); + diff --git a/EXPO/screens/HomeScreen/HomeScreen.TestCases.js b/EXPO/screens/HomeScreen/HomeScreen.TestCases.js new file mode 100644 index 0000000..e69de29 diff --git a/EXPO/screens/HomeScreen/HomeScreen.js b/EXPO/screens/HomeScreen/HomeScreen.js new file mode 100644 index 0000000..b611d3e --- /dev/null +++ b/EXPO/screens/HomeScreen/HomeScreen.js @@ -0,0 +1,602 @@ + +import React, { Component } from "react"; +import AsyncImageAnimated from 'react-native-async-image-animated'; +import AndroidOpenSettings from 'react-native-android-open-settings'; +import STRING_CONSTANTS from '../../constants/STRING_CONSTANTS'; + +import { + Button, + Linking, + Platform, + Text, + View, + Image, + ActivityIndicator, + Dimensions, + Alert, + PermissionsAndroid +} from "react-native"; +import { Constants, Location, MapView, ScreenOrientation,IntentLauncherAndroid,IntentLauncher,Permissions } from "expo"; +import { PROVIDER_GOOGLE, Marker } from "react-native-maps"; +import Geocoder from 'react-native-geocoding'; +import { URICONST, KeyConst } from '../Constants'; +import RequestManager from '../RequestManager'; +import { createDrawerNavigator,createAppContainer } from "react-navigation"; +import ParallaxScrollView from 'react-native-parallax-scroll-view'; +import LinksScreen from "../LinksScreen"; +import Notifications from "../Notifications"; +import DemoList from '../DemoList'; +import {homestyles} from '../../screens/HomeScreen/HomeScreen.StyleSheet'; +import Utility from '../../constants/Utility' +import {APIConst} from '../../constants/APIConst' + +const {width, height} = Dimensions.get('window'); + +class HomeScreen extends Component { + static navigationOptions = { + drawerLabel: STRING_CONSTANTS.NEARBY_ME_TITLE , + drawerIcon:({tintColor}) => ( + + ) + }; + + state = { + mapRegion: { latitude: 37.78825, longitude: -122.4324, latitudeDelta: 0.0922, longitudeDelta: 0.0421 }, + text: null, + location: null, + errorMessage: null, + loading: true, + latLng: { + latitude: null, + longitude: null + }, + hotelsList: [], + latlongArr: [], + permisionsStatus: false + }; + + mapStyle = [ + { + elementType: "geometry", + stylers: [ + { + color: "#ebe3cd" + } + ] + }, + { + elementType: "labels.text.fill", + stylers: [ + { + color: "#523735" + } + ] + }, + { + elementType: "labels.text.stroke", + stylers: [ + { + color: "#f5f1e6" + } + ] + }, + { + featureType: "administrative", + elementType: "geometry.stroke", + stylers: [ + { + color: "#c9b2a6" + } + ] + }, + { + featureType: "administrative.land_parcel", + elementType: "geometry.stroke", + stylers: [ + { + color: "#dcd2be" + } + ] + }, + { + featureType: "administrative.land_parcel", + elementType: "labels.text.fill", + stylers: [ + { + color: "#ae9e90" + } + ] + }, + { + featureType: "landscape.natural", + elementType: "geometry", + stylers: [ + { + color: "#dfd2ae" + } + ] + }, + { + featureType: "poi", + elementType: "geometry", + stylers: [ + { + color: "#dfd2ae" + } + ] + }, + { + featureType: "poi", + elementType: "labels.text.fill", + stylers: [ + { + color: "#93817c" + } + ] + }, + { + featureType: "poi.park", + elementType: "geometry.fill", + stylers: [ + { + color: "#a5b076" + } + ] + }, + { + featureType: "poi.park", + elementType: "labels.text.fill", + stylers: [ + { + color: "#447530" + } + ] + }, + { + featureType: "road", + elementType: "geometry", + stylers: [ + { + color: "#f5f1e6" + } + ] + }, + { + featureType: "road.arterial", + elementType: "geometry", + stylers: [ + { + color: "#fdfcf8" + } + ] + }, + { + featureType: "road.highway", + elementType: "geometry", + stylers: [ + { + color: "#f8c967" + } + ] + }, + { + featureType: "road.highway", + elementType: "geometry.stroke", + stylers: [ + { + color: "#e9bc62" + } + ] + }, + { + featureType: "road.highway.controlled_access", + elementType: "geometry", + stylers: [ + { + color: "#e98d58" + } + ] + }, + { + featureType: "road.highway.controlled_access", + elementType: "geometry.stroke", + stylers: [ + { + color: "#db8555" + } + ] + }, + { + featureType: "road.local", + elementType: "labels.text.fill", + stylers: [ + { + color: "#806b63" + } + ] + }, + { + featureType: "transit.line", + elementType: "geometry", + stylers: [ + { + color: "#dfd2ae" + } + ] + }, + { + featureType: "transit.line", + elementType: "labels.text.fill", + stylers: [ + { + color: "#8f7d77" + } + ] + }, + { + featureType: "transit.line", + elementType: "labels.text.stroke", + stylers: [ + { + color: "#ebe3cd" + } + ] + }, + { + featureType: "transit.station", + elementType: "geometry", + stylers: [ + { + color: "#dfd2ae" + } + ] + }, + { + featureType: "water", + elementType: "geometry.fill", + stylers: [ + { + color: "#b9d3c2" + } + ] + }, + { + featureType: "water", + elementType: "labels.text.fill", + stylers: [ + { + color: "#92998d" + } + ] + } + ]; + + + callNearByPlacesAPI(location) { + + const fullURL = APIConst.baseURL+JSON.stringify(location.coords.latitude)+','+JSON.stringify(location.coords.longitude)+APIConst.URNConst.nearByURN+APIConst.apiKey + //console.log("FInal URL- "+fullURL); + RequestManager.requestGET(fullURL).then(res => res.json()).then(data => { + //console.log("API Response :: "+JSON.stringify(data.results)); + this.setState({ + location: location, + hotelsList: data.results, + }); + }) + .catch(function(error) { + console.log("There has been a problem with your fetch operation: " + error ); + throw error; + }); + } + + pinPointSearchedLocation(location) { + this.setState({ + latLng: { + latitude: location.latitude, + longitude: location.longitude + } + }); + } + + + + componentDidMount() { + Geocoder.init(KeyConst.GOOGLEAPI_KEY); + ScreenOrientation.allowAsync(ScreenOrientation.Orientation.ALL); + if (Platform.OS === "android" && !Constants.isDevice) { + this.setState({ + errorMessage: + "Oops, this will not work on Sketch in an Android emulator. Try it on your device!" + }); + } else { + this._getLocationAsync() + } + + } + + + + _getLocationAsync = async () => { + let { status } = await Permissions.askAsync(Permissions.LOCATION); + + if (status !== "granted") { + + Alert.alert( + STRING_CONSTANTS.GRANT_PERMISSION, + STRING_CONSTANTS.APPLOCATION_ACCESS, + [ + {text: STRING_CONSTANTS.CANCEL_TITLE, onPress: () => this.props.navigation.goBack(null) , style: 'cancel'}, + {text: STRING_CONSTANTS.OK_TITLE, onPress: async () => { + const { status } = await Expo.Permissions.askAsync(Expo.Permissions.LOCATION); + //console.log("STATUS ALERT"+status); + if (status === "granted") { + + let { status } = await Permissions.askAsync(Permissions.LOCATION); + ////console.log("Permission Status expo1"+status); + if (status === "granted") { + this._callLocatioWithAPI(); + this.setState({ permisionsStatus: true }); + }else { + this.setState({ permisionsStatus: false }); + } + + } else { + let { status } = await Permissions.askAsync(Permissions.LOCATION); + //console.log("Permission Status expo1"+status); + if (status === "granted") { + this._callLocatioWithAPI(); + this.setState({ permisionsStatus: true }); + }else { + + if (Utility.sharedInstance().isAndroid()) { + AndroidOpenSettings.locationSourceSettings() + + }else { + Linking.canOpenURL(URICONST.IOS_SETTINGS).then(supported => { + if (!supported) { + console.log('Can\'t handle url: ' + url); + } else { + return Linking.openURL(url) + } + }).catch(err => console.error('An error occurred', err)); + } + + } + + + } + }}, + ], + { cancelable: false } + ) + + this.setState({ + errorMessage: "Permission to access location was not granted" + }); + }else if (status === "denied") { + this.setState({ + errorMessage: "Permission to access location was denied" + // permisionsStatus:false + }); + } + let location = await Location.getCurrentPositionAsync({}); + console.log("First Location"+JSON.stringify(location)); + this.callNearByPlacesAPI(location); + this.setState({ location: location }); + }; + + + _callLocatioWithAPI = async () => { + let location= await Location.getCurrentPositionAsync({}); + this.callNearByPlacesAPI(location); + this.setState({ location: location, permisionsStatus:true }); + } + + _handleMapRegionChange = mapRegion => { + //console.log("Map chnage lat"+this.state.latLng.latitude); + // this.setState({ mapRegion }); + }; + + callSettingsUI() { + + if (Platform.OS === 'ios') { + //console.log("ios platfrom"); + const url = 'app-settings:' + Linking.canOpenURL(url).then(supported => { + if (!supported) { + //console.log('Can\'t handle url: ' + url); + } else { + return Linking.openURL(url) + } + }).catch(err => console.error('An error occurred', err)); + + }else { + + IntentLauncherAndroid.startActivityAsync( + IntentLauncherAndroid.ACTION_APPLICATION_DETAILS_SETTINGS, + {}, + 'package:' + Constants.manifest.android.package + ) + // AndroidOpenSettings.locationSourceSettings() + + + } + } + + callPermissionAlert() { + Alert.alert(STRING_CONSTANTS.GRANT_PERMISSION, + STRING_CONSTANTS.ALLOW_LOCATION_PERMISSION, + [ + {text: STRING_CONSTANTS.CANCEL_TITLE, onPress: () => { + //console.log("Cancel tapped"); + this.setState({ + permisionsStatus: false + }); + + } , style: 'cancel'}, + {text: STRING_CONSTANTS.OK_TITLE, onPress: async () => { + //console.log("OK pressed"); + const { status } = await Expo.Permissions.askAsync(Expo.Permissions.LOCATION); + //console.log("OK allowed"+status); + if (status === "granted") { + //console.log("12vbOK allowed"+status); + + const locatio = await Expo.Location.watchPositionAsync( + { enableHighAccuracy: true }, + callback + ); + return locatio; + } else { + //console.log("callPermissionAlert else"); + this.callPermissionAlert(); + + } + }}, + ], + { cancelable: false } + ) + } + + render() { + let text = STRING_CONSTANTS.WAITING; + + if (this.state.errorMessage) { + text = this.state.errorMessage; + } else if (this.state.location) { + text = JSON.stringify(this.state.location); + } + if (this.state.location ) { + return ( + + ( + + + + + + + )}> + + {this.state.hotelsList.map(hotelItem => { + const distanceValue = Utility.sharedInstance().calculateDistanceBetLatAndLong(this.state.location.coords.latitude,this.state.location.coords.longitude,hotelItem.geometry.location.lat,hotelItem.geometry.location.lng,'KM') + const distanceMtr = parseFloat(distanceValue.toPrecision(2)); + const imgeURL = 'https://maps.googleapis.com/maps/api/place/photo?photoreference='+encodeURIComponent(hotelItem.photos[0].photo_reference)+'&sensor=false&maxheight=100&maxwidth=100&key='+APIConst.apiKey + return ( + + + + + {hotelItem.name} + {hotelItem.vicinity} + + + {STRING_CONSTANTS.DISTANCE} {distanceMtr}km + + + ) + })} + + + + + ); + }else if (this.state.permisionsStatus === false) { + return ( +