From 9a79c55aefa972ed62eba5dcfa7ecec22165b7bf Mon Sep 17 00:00:00 2001 From: Nishant Kohli Date: Tue, 28 Sep 2021 05:16:33 +0530 Subject: [PATCH] Victory-Charts * first commit * name change wip * ios run successful * add husky * wip * clipboard & pressable * rn-config * rn-action-view * rn-contacts to start * wip * rn-contacts done * wip * razorpay done * permissions screen * location wip * wip * ios-permissions wip * rm rn-permissions * geolocation svc done * update README * minor changes * minor changes * intial setup android * fixes after merge * razorpay now works * getcontacts wip * contacts android done * location & contacts done * remove unused libs * remove netinfo * run prettier * ios app start changes * add basic rn-chart-wrapper * wip * separate chart modules for android & ios * add more datapoints to radar chart * update readme * add basic victory charts * wip * list view * polar chart basic done * polar chart wip * wip Co-authored-by: nish --- .babelrc | 1 + README.md | 2 + app/constants/ListRoutes.js | 32 ++ app/navigation/DrawerLayout.js | 13 + app/navigation/DrawerNav.js | 29 ++ app/screens/charts/LineChartScreen.js | 37 ++ app/screens/charts/RadarChartScreen.js | 111 +++++ app/screens/charts/VictoryBarChart.js | 49 +++ app/screens/charts/VictoryPolarChart.js | 122 ++++++ app/screens/charts/index.js | 17 + app/screens/permissions/index.js | 62 +-- app/shared/RenderListRoutes.js | 69 +++ ios/Podfile.lock | 6 + package.json | 5 +- yarn.lock | 551 +++++++++++++++++++++++- 15 files changed, 1047 insertions(+), 59 deletions(-) create mode 100644 app/constants/ListRoutes.js create mode 100644 app/screens/charts/LineChartScreen.js create mode 100644 app/screens/charts/RadarChartScreen.js create mode 100644 app/screens/charts/VictoryBarChart.js create mode 100644 app/screens/charts/VictoryPolarChart.js create mode 100644 app/screens/charts/index.js create mode 100644 app/shared/RenderListRoutes.js diff --git a/.babelrc b/.babelrc index 585233e..84a9bed 100644 --- a/.babelrc +++ b/.babelrc @@ -9,6 +9,7 @@ "extensions": [".js", ".ios.js", ".android.js"], "alias": { "_App": "./app", + "_Constants": "./app/constants", "_Fonts": "./app/assets/fonts", "_Images": "./app/assets/images", "_I18N": "./app/assets/i18n", diff --git a/README.md b/README.md index 5c594c4..307b9e1 100644 --- a/README.md +++ b/README.md @@ -28,10 +28,12 @@ ## Main Libraries Used - [@react-native-community/clipboard](https://www.npmjs.com/package/@react-native-community/clipboard) +- [react-native-charts-wrapper](https://www.npmjs.com/package/react-native-charts-wrapper) ( Only Android, iOS was breaking on my M1 Mac ) - [react-native-config](https://www.npmjs.com/package/react-native-config) - [react-native-contacts](https://www.npmjs.com/package/react-native-contacts) - [react-native-geolocation-service](https://www.npmjs.com/package/react-native-geolocation-service) - [react-native-razorpay](https://www.npmjs.com/package/react-native-razorpay) +- [victory-native](https://www.npmjs.com/package/victory-native) # Other Libaries not used here diff --git a/app/constants/ListRoutes.js b/app/constants/ListRoutes.js new file mode 100644 index 0000000..1baa287 --- /dev/null +++ b/app/constants/ListRoutes.js @@ -0,0 +1,32 @@ +export const PermissionsList = [ + { + navigateRoute: 'ContactsList', + iconName: 'person-outline', + label: 'Contacts', + }, + { + navigateRoute: 'Location', + iconName: 'location-outline', + label: 'Location', + }, +]; + +export const ChartsList = [ + { + navigateRoute: 'VictoryBarChart', + label: 'Victory BarChart', + }, + { + navigateRoute: 'VictoryPolarChart', + label: 'Victory PolarChart', + }, + /* No iOS code for these 2 pages, so they're at the bottom of the list */ + { + navigateRoute: 'LineChartScreen', + label: 'Line Chart', + }, + { + navigateRoute: 'RadarChartScreen', + label: 'Radar Chart', + }, +]; diff --git a/app/navigation/DrawerLayout.js b/app/navigation/DrawerLayout.js index 4ac742a..b6cd5b0 100644 --- a/app/navigation/DrawerLayout.js +++ b/app/navigation/DrawerLayout.js @@ -77,6 +77,19 @@ const DrawerLayout = () => { navigation.navigate('Razorpay'); }} /> + ( + + )} + label={() => Charts} + onPress={() => { + navigation.navigate('Charts'); + }} + /> ( diff --git a/app/navigation/DrawerNav.js b/app/navigation/DrawerNav.js index 5ac6cc6..aa6adac 100644 --- a/app/navigation/DrawerNav.js +++ b/app/navigation/DrawerNav.js @@ -1,14 +1,22 @@ import React from 'react'; +import { Platform } from 'react-native'; import { createDrawerNavigator } from '@react-navigation/drawer'; import DrawerLayout from './DrawerLayout'; import Home from '_Screens/home/Home'; import Settings from '_Screens/settings/Settings'; import Razorpay from '_Screens/razorpay/Razorpay'; + import Permissions from '_Screens/permissions'; import ContactsList from '_Screens/permissions/contacts/ContactsList'; import Location from '_Screens/permissions/location/Location'; +import Charts from '_Screens/charts'; +import LineChartScreen from '_Screens/charts/LineChartScreen'; +import RadarChartScreen from '_Screens/charts/RadarChartScreen'; +import VictoryBarChart from '_Screens/charts/VictoryBarChart'; +import VictoryPolarChart from '_Screens/charts/VictoryPolarChart'; + const Drawer = createDrawerNavigator(); const NavDrawer = () => { @@ -22,7 +30,28 @@ const NavDrawer = () => { +<<<<<<< HEAD + {/* Chart Screens */} + + + + {Platform.OS === 'android' && ( + <> + + + + )} + + {/* Permission Screens */} +======= {/* Permission Related Screens */} +>>>>>>> origin/main diff --git a/app/screens/charts/LineChartScreen.js b/app/screens/charts/LineChartScreen.js new file mode 100644 index 0000000..935b927 --- /dev/null +++ b/app/screens/charts/LineChartScreen.js @@ -0,0 +1,37 @@ +import React from 'react'; +import { StyleSheet } from 'react-native'; +import { LineChart } from 'react-native-charts-wrapper'; +import { ThemedContainer, ThemedBody, ThemedCard } from '_Shared/Comps.themed'; +import Header from '_Shared/Header'; + +const LineChartScreen = () => { + return ( + +
+ + + + + + + ); +}; + +const styles = StyleSheet.create({ + chart: { + width: 300, + height: 600, + }, +}); + +export default LineChartScreen; diff --git a/app/screens/charts/RadarChartScreen.js b/app/screens/charts/RadarChartScreen.js new file mode 100644 index 0000000..387d72a --- /dev/null +++ b/app/screens/charts/RadarChartScreen.js @@ -0,0 +1,111 @@ +import React from 'react'; +import { StyleSheet, View, processColor } from 'react-native'; +import { RadarChart } from 'react-native-charts-wrapper'; + +import { + ThemedContainer, + ThemedBody, + ThemedCard, + ThemedText, +} from '_Shared/Comps.themed'; +import Header from '_Shared/Header'; + +const RadarChartScreen = () => { + const legend = { + enabled: true, + textSize: 14, + form: 'CIRCLE', + wordWrapEnabled: true, + }; + + const xAxis = { + valueFormatter: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'], + zeroLine: { + enabled: true, + lineWidth: 1.5, + }, + }; + + const data = { + dataSets: [ + { + values: [ + { value: 90 }, + { value: 110 }, + { value: 125 }, + { value: 115 }, + { value: 110 }, + { value: 130 }, + { value: 107 }, + { value: 126 }, + { value: 104 }, + { value: 109 }, + ], + label: 'Some stat', + config: { + color: processColor('#FF8C9D'), + drawFilled: true, + fillColor: processColor('#FF8C9D'), + fillAlpha: 100, + lineWidth: 2, + }, + }, + ], + }; + + const [selectedEntry, setSelectedEntry] = React.useState(''); + + const handleSelect = event => { + let entry = event.nativeEvent; + if (entry === null) { + setSelectedEntry(''); + } else { + setSelectedEntry(JSON.stringify(entry)); + } + console.log(event.nativeEvent); + }; + + return ( + +
+ + + + selected entry + {selectedEntry} + + + + handleSelect(e)} + onChange={event => console.log(event.nativeEvent)} + /> + + + + + ); +}; + +const styles = StyleSheet.create({ + chart: { + width: 300, + height: 500, + }, + textView: { height: 80 }, +}); + +export default RadarChartScreen; diff --git a/app/screens/charts/VictoryBarChart.js b/app/screens/charts/VictoryBarChart.js new file mode 100644 index 0000000..97a4955 --- /dev/null +++ b/app/screens/charts/VictoryBarChart.js @@ -0,0 +1,49 @@ +import React from 'react'; +import { + VictoryBar, + VictoryChart, + VictoryTheme, + VictoryLabel, +} from 'victory-native'; +import { ThemedContainer, ThemedBody, ThemedCard } from '_Shared/Comps.themed'; +import Header from '_Shared/Header'; + +const data = [ + /* Label is optional */ + { quarter: 1, earnings: 13000, label: 'Q1' }, + { quarter: 2, earnings: 16500, label: 'Q2' }, + { quarter: 3, earnings: 14250, label: 'Q3' }, + { quarter: 4, earnings: 19000, label: 'Q4' }, +]; + +const VictoryBarChart = () => { + return ( + +
+ + + + + } + /> + + + + + ); +}; + +export default VictoryBarChart; diff --git a/app/screens/charts/VictoryPolarChart.js b/app/screens/charts/VictoryPolarChart.js new file mode 100644 index 0000000..9a6c8fe --- /dev/null +++ b/app/screens/charts/VictoryPolarChart.js @@ -0,0 +1,122 @@ +import React from 'react'; +import { + VictoryChart, + VictoryTheme, + VictoryLabel, + VictoryGroup, + VictoryArea, + VictoryPolarAxis, +} from 'victory-native'; + +import { ThemedContainer, ThemedBody, ThemedCard } from '_Shared/Comps.themed'; +import Header from '_Shared/Header'; + +/* + Dedicated Example link -> + https://formidable.com/open-source/victory/gallery/radar-chart/ +*/ + +const VictoryPolarChart = () => { + const characterData = [ + { + key1: 56, + key2: 80, + key3: 45, + key4: 60, + key5: 36, + key6: 80, + key7: 24, + key8: 38, + key9: 52, + }, + ]; + + const getMaxima = data => { + const groupedData = Object.keys(data[0]).reduce((memo, key) => { + memo[key] = data.map(d => d[key]); + return memo; + }, {}); + return Object.keys(groupedData).reduce((memo, key) => { + memo[key] = 100; //Math.max(...groupedData[key]); + return memo; + }, {}); + }; + + const processData = data => { + const maxByGroup = getMaxima(data); + + const makeDataArray = d => { + return Object.keys(d).map(key => { + return { x: key, y: d[key] / maxByGroup[key] }; + }); + }; + + return data.map(datum => makeDataArray(datum)); + }; + + const data = processData(characterData); + const maxima = getMaxima(characterData); + + return ( + +
+ + + + + {data.map((data, i) => { + return ; + })} + + {Object.keys(maxima).map((key, i) => { + return ( + + } + labelPlacement="perpendicular" + axisValue={i + 1} + label={key} + tickFormat={t => Math.ceil(t * maxima[key])} + tickValues={[0.2, 0.4, 0.6, 0.8]} + /> + ); + })} + ''} + style={{ + axis: { stroke: 'grey' }, + grid: { stroke: 'red', opacity: 0.8 }, + }} + /> + + + + + ); +}; + +export default VictoryPolarChart; diff --git a/app/screens/charts/index.js b/app/screens/charts/index.js new file mode 100644 index 0000000..cd50178 --- /dev/null +++ b/app/screens/charts/index.js @@ -0,0 +1,17 @@ +import React from 'react'; +import { Platform } from 'react-native'; +import RenderListRoutes from '_Shared/RenderListRoutes'; +import { ChartsList } from '_Constants/ListRoutes'; + +const Charts = () => { + return ( + + ); +}; + +export default Charts; diff --git a/app/screens/permissions/index.js b/app/screens/permissions/index.js index 762471b..e3f2faf 100644 --- a/app/screens/permissions/index.js +++ b/app/screens/permissions/index.js @@ -1,65 +1,15 @@ import React from 'react'; -import { TouchableOpacity, StyleSheet } from 'react-native'; -import { useNavigation } from '@react-navigation/native'; -import IoniconsI from 'react-native-vector-icons/Ionicons'; -import { - ThemedContainer, - ThemedBody, - ThemedHeading, - ThemedCard, - ThemedText, -} from '_Shared/Comps.themed'; -import Header from '_Shared/Header'; -import { useThemeStore } from '_Store/theme.store'; -import CommonStyles from '_Themes/CommonStyles'; +import RenderListRoutes from '_Shared/RenderListRoutes'; +import { PermissionsList } from '_Constants/ListRoutes'; const Permissions = () => { - const navigation = useNavigation(); - const { themeObj } = useThemeStore(); - return ( - -
- - - Click on any of the items to proceed further - - - navigation.navigate('ContactsList')}> - - - {' '} - Contacts - - - - - navigation.navigate('Location')}> - - - {' '} - Location - - - - - + ); }; -const styles = StyleSheet.create({ - card: { marginTop: 30, alignItems: 'center' }, -}); - export default Permissions; diff --git a/app/shared/RenderListRoutes.js b/app/shared/RenderListRoutes.js new file mode 100644 index 0000000..4b24e71 --- /dev/null +++ b/app/shared/RenderListRoutes.js @@ -0,0 +1,69 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { TouchableOpacity, StyleSheet } from 'react-native'; +import { useNavigation } from '@react-navigation/native'; +import IoniconsI from 'react-native-vector-icons/Ionicons'; + +import { + ThemedContainer, + ThemedBody, + ThemedHeading, + ThemedCard, + ThemedText, +} from '_Shared/Comps.themed'; +import Header from '_Shared/Header'; +import { useThemeStore } from '_Store/theme.store'; +import CommonStyles from '_Themes/CommonStyles'; + +const RenderListRoutes = ({ headerTitle, routesArr }) => { + const navigation = useNavigation(); + const { themeObj } = useThemeStore(); + + return ( + +
+ + + Click on any of the items to proceed further + + + {routesArr.map((routeName, index) => ( + + navigation.navigate(routeName.navigateRoute) + }> + + + {routeName.iconName && ( + + )}{' '} + {routeName.label} + + + + ))} + + + ); +}; + +const styles = StyleSheet.create({ + card: { marginTop: 30, alignItems: 'center' }, +}); + +RenderListRoutes.propTypes = { + headerTitle: PropTypes.string, + routesArr: PropTypes.array, +}; + +RenderListRoutes.defaultProps = { + headerTitle: 'headerTitle', + routesArr: [], +}; + +export default RenderListRoutes; diff --git a/ios/Podfile.lock b/ios/Podfile.lock index eb02bb4..3cfa70b 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -378,6 +378,8 @@ PODS: - RNScreens (3.6.0): - React-Core - React-RCTImage + - RNSVG (12.1.1): + - React - RNVectorIcons (8.1.0): - React-Core - Yoga (1.14.0) @@ -449,6 +451,7 @@ DEPENDENCIES: - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) - RNReanimated (from `../node_modules/react-native-reanimated`) - RNScreens (from `../node_modules/react-native-screens`) + - RNSVG (from `../node_modules/react-native-svg`) - RNVectorIcons (from `../node_modules/react-native-vector-icons`) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) @@ -551,6 +554,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-reanimated" RNScreens: :path: "../node_modules/react-native-screens" + RNSVG: + :path: "../node_modules/react-native-svg" RNVectorIcons: :path: "../node_modules/react-native-vector-icons" Yoga: @@ -612,6 +617,7 @@ SPEC CHECKSUMS: RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 RNReanimated: 514a11da3a2bcc6c3dfd9de32b38e2b9bf101926 RNScreens: eb0dfb2d6b21d2d7f980ad46b14eb306d2f1062e + RNSVG: 551acb6562324b1d52a4e0758f7ca0ec234e278f RNVectorIcons: 31cebfcf94e8cf8686eb5303ae0357da64d7a5a4 Yoga: aa0cb45287ebe1004c02a13f279c55a95f1572f4 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a diff --git a/package.json b/package.json index 17ba91b..9f55c0c 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "react": "17.0.2", "react-i18next": "^11.11.4", "react-native": "0.65.1", + "react-native-charts-wrapper": "^0.5.7", "react-native-config": "^1.4.4", "react-native-contacts": "^7.0.2", "react-native-geolocation-service": "^5.3.0-beta.2", @@ -43,9 +44,11 @@ "react-native-reanimated": "1.13.3", "react-native-safe-area-context": "^3.3.1", "react-native-screens": "^3.6.0", + "react-native-svg": "^12.1.1", "react-native-vector-icons": "^8.1.0", "react-native-web": "^0.17.1", - "styled-components": "^5.3.1" + "styled-components": "^5.3.1", + "victory-native": "^35.5.5" }, "devDependencies": { "@babel/core": "^7.12.9", diff --git a/yarn.lock b/yarn.lock index f8d1eee..e222979 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1916,6 +1916,11 @@ big-integer@^1.6.44: resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e" integrity sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w== +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + bplist-creator@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.8.tgz#56b2a6e79e9aec3fc33bf831d09347d73794e79c" @@ -2385,6 +2390,16 @@ css-in-js-utils@^2.0.0: hyphenate-style-name "^1.0.2" isobject "^3.0.1" +css-select@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + css-to-react-native@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.0.0.tgz#62dbe678072a824a689bcfee011fc96e02a7d756" @@ -2394,6 +2409,19 @@ css-to-react-native@^3.0.0: css-color-keywords "^1.0.0" postcss-value-parser "^4.0.2" +css-tree@^1.0.0-alpha.39: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== + cssom@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" @@ -2411,6 +2439,90 @@ cssstyle@^2.3.0: dependencies: cssom "~0.3.6" +d3-array@^1.2.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f" + integrity sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw== + +d3-array@~2.3.0: + version "2.3.3" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.3.3.tgz#e90c39fbaedccedf59fc30473092f99a0e14efa2" + integrity sha512-syv3wp0U5aB6toP2zb2OdBkhTy1MWDsCAaYk6OXJZv+G4u7bSWEmYgxLoFyc88RQUhZYGCebW9a9UD1gFi5+MQ== + +d3-collection@1: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e" + integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A== + +d3-color@1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.4.1.tgz#c52002bf8846ada4424d55d97982fef26eb3bc8a" + integrity sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q== + +d3-ease@^1.0.0: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.7.tgz#9a834890ef8b8ae8c558b2fe55bd57f5993b85e2" + integrity sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ== + +d3-format@1: + version "1.4.5" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.4.5.tgz#374f2ba1320e3717eb74a9356c67daee17a7edb4" + integrity sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ== + +d3-interpolate@1, d3-interpolate@^1.1.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.4.0.tgz#526e79e2d80daa383f9e0c1c1c7dcc0f0583e987" + integrity sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA== + dependencies: + d3-color "1" + +d3-path@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.9.tgz#48c050bb1fe8c262493a8caf5524e3e9591701cf" + integrity sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg== + +d3-scale@^1.0.0: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-1.0.7.tgz#fa90324b3ea8a776422bd0472afab0b252a0945d" + integrity sha512-KvU92czp2/qse5tUfGms6Kjig0AhHOwkzXG0+PqIJB3ke0WUv088AHMZI0OssO9NCkXt4RP8yju9rpH8aGB7Lw== + dependencies: + d3-array "^1.2.0" + d3-collection "1" + d3-color "1" + d3-format "1" + d3-interpolate "1" + d3-time "1" + d3-time-format "2" + +d3-shape@^1.0.0, d3-shape@^1.2.0: + version "1.3.7" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.7.tgz#df63801be07bc986bc54f63789b4fe502992b5d7" + integrity sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw== + dependencies: + d3-path "1" + +d3-time-format@2: + version "2.3.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.3.0.tgz#107bdc028667788a8924ba040faf1fbccd5a7850" + integrity sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ== + dependencies: + d3-time "1" + +d3-time@1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.1.0.tgz#b1e19d307dae9c900b7e5b25ffc5dcc249a8a0f1" + integrity sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA== + +d3-timer@^1.0.0: + version "1.0.10" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.10.tgz#dfe76b8a91748831b13b6d9c793ffbd508dd9de5" + integrity sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw== + +d3-voronoi@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.4.tgz#dd3c78d7653d2bb359284ae478645d95944c8297" + integrity sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg== + data-urls@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" @@ -2505,6 +2617,18 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" +delaunator@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-4.0.1.tgz#3d779687f57919a7a418f8ab947d3bddb6846957" + integrity sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag== + +delaunay-find@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/delaunay-find/-/delaunay-find-0.0.6.tgz#2ed017a79410013717fa7d9422e082c2502d4ae3" + integrity sha512-1+almjfrnR7ZamBk0q3Nhg6lqSe6Le4vL0WJDSMx4IDbQwTpUTXPjxC00lqLBT8MYsJpPCbI16sIkw9cPsbi7Q== + dependencies: + delaunator "^4.0.0" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -2549,6 +2673,24 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +domelementtype@1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + domexception@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" @@ -2556,6 +2698,14 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" +domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -2607,6 +2757,11 @@ enquirer@^2.3.5: dependencies: ansi-colors "^4.1.1" +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + envinfo@^7.7.2: version "7.8.1" resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" @@ -4417,6 +4572,11 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" @@ -4588,7 +4748,7 @@ lodash.throttle@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.7.0: +lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -4657,6 +4817,11 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + merge-options@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-3.0.4.tgz#84709c2aa2a4b24c1981f66c179fe5565cc6dbb7" @@ -5186,6 +5351,13 @@ npm-run-path@^4.0.0: dependencies: path-key "^3.0.0" +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + nullthrows@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" @@ -5597,7 +5769,7 @@ prompts@^2.0.1, prompts@^2.4.0: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@^15.6.0, prop-types@^15.7.2: +prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -5647,6 +5819,11 @@ react-devtools-core@^4.6.0: shell-quote "^1.6.1" ws "^7" +react-fast-compare@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" + integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw== + react-i18next@^11.11.4: version "11.11.4" resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.11.4.tgz#f6f9a1c827e7a5271377de2bf14db04cb1c9e5ce" @@ -5665,6 +5842,14 @@ react-is@^16.13.0, react-is@^16.7.0, react-is@^16.8.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== +react-native-charts-wrapper@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/react-native-charts-wrapper/-/react-native-charts-wrapper-0.5.7.tgz#13cdb387ede67f4292b92c8b03a8f15de3a7a2f7" + integrity sha512-d1lOSN47YRUqFGOht4uBP+P7N7OvtRrhgwTOdTNlXC+ZmoveBIIE+bl65uwGkS08kUUBudRBugsCRkf5MB/p2w== + dependencies: + prop-types "^15.5.10" + react "16.8.3" + react-native-codegen@^0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.7.tgz#86651c5c5fec67a8077ef7f4e36f7ed459043e14" @@ -5745,6 +5930,14 @@ react-native-screens@^3.6.0: dependencies: warn-once "^0.1.0" +react-native-svg@^12.1.1: + version "12.1.1" + resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-12.1.1.tgz#5f292410b8bcc07bbc52b2da7ceb22caf5bcaaee" + integrity sha512-NIAJ8jCnXGCqGWXkkJ1GTzO4a3Md5at5sagYV8Vh4MXYnL4z5Rh428Wahjhh+LIjx40EE5xM5YtwyJBqOIba2Q== + dependencies: + css-select "^2.1.0" + css-tree "^1.0.0-alpha.39" + react-native-vector-icons@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/react-native-vector-icons/-/react-native-vector-icons-8.1.0.tgz#e8ee2b17bc4d9f636da1c6f67feee8e2a850c3d8" @@ -5831,6 +6024,16 @@ react-test-renderer@17.0.2: react-shallow-renderer "^16.13.1" scheduler "^0.20.2" +react@16.8.3: + version "16.8.3" + resolved "https://registry.yarnpkg.com/react/-/react-16.8.3.tgz#c6f988a2ce895375de216edcfaedd6b9a76451d9" + integrity sha512-3UoSIsEq8yTJuSu0luO1QQWYbgGEILm+eJl2QN/VLDi7hL+EN18M3q3oVZwmVzzBJ3DkM7RMdRwBmZZ+b4IzSA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.13.3" + react@17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" @@ -6111,6 +6314,14 @@ saxes@^5.0.1: dependencies: xmlchars "^2.2.0" +scheduler@^0.13.3: + version "0.13.6" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.6.tgz#466a4ec332467b31a91b9bf74e5347072e4cd889" + integrity sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" @@ -6945,6 +7156,342 @@ vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= +victory-area@^35.11.3, victory-area@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-area/-/victory-area-35.11.4.tgz#a8cc8193c72fc91b9cd75f5cfac8c83253a9c42c" + integrity sha512-i3rN4Jvn1uwA3YvCuv3EIPEcK2SWSOq3c+TvLvVj1BKFQug11C06UjyQje+3EEzffZ/EMkvGqj2+YudIjrGEzA== + dependencies: + d3-shape "^1.2.0" + lodash "^4.17.19" + prop-types "^15.5.8" + victory-core "^35.11.4" + +victory-axis@^35.11.3, victory-axis@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-axis/-/victory-axis-35.11.4.tgz#5145184e0ca3368d573b624d190b125eeab378ba" + integrity sha512-KmPXC/vgbiiWckhK0LruZvsFQqESg6BflhIqS/Xemc50ymWetqbT9VZhjPWbU0arOIP5E8xcFnGUimDN//Jffw== + dependencies: + lodash "^4.17.19" + prop-types "^15.5.8" + victory-core "^35.11.4" + +victory-bar@^35.11.3, victory-bar@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-bar/-/victory-bar-35.11.4.tgz#94da9511062462ef814f4c1f78f3e56eab9a86be" + integrity sha512-EZC+6VGwHkIcOYEppVFBIC5JymYnfF+RLF+NM0Uys7q5+AwaLx36LS9a2xBUBYO/gx20Wd1HVH8kjSHzw1rTqQ== + dependencies: + d3-shape "^1.2.0" + lodash "^4.17.19" + prop-types "^15.5.8" + victory-core "^35.11.4" + +victory-box-plot@^35.11.3, victory-box-plot@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-box-plot/-/victory-box-plot-35.11.4.tgz#19367ad6eb694f49761c87f0cb4360ef9b754673" + integrity sha512-rYfE64lVRBgWewwbKRKwKOGqA2AWtPB3aRgNAG4GabvTMUTxBfKUm8ByE6DQ7e56o5Jcwwu4cUbSFZPowB48RQ== + dependencies: + d3-array "^1.2.0" + lodash "^4.17.19" + prop-types "^15.5.8" + victory-core "^35.11.4" + +victory-brush-container@^35.11.3, victory-brush-container@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-brush-container/-/victory-brush-container-35.11.4.tgz#499c1d16cdaf26fce9d734fb18fc2ce7f8334fb0" + integrity sha512-KpFYU2LxKbLIjZDhXTdveok1SWLFlG5s2R214IRq+ukYRz21CoxlvZCWhFL60lSPilD+ZD1Udv3sK/RW9CFMxA== + dependencies: + lodash "^4.17.19" + prop-types "^15.5.8" + react-fast-compare "^2.0.0" + victory-core "^35.11.4" + +victory-brush-line@^35.11.3, victory-brush-line@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-brush-line/-/victory-brush-line-35.11.4.tgz#c29e942c69cd19f6c32790705112d0f680a285c6" + integrity sha512-rVBIWlRf+jwveEeTuL9A0+feedKwse8C/yB1hMa3PiT2LgBS1a8d4KK+rCT25ihyyX61+cqSsV4xB6aXuAYMjQ== + dependencies: + lodash "^4.17.19" + prop-types "^15.5.8" + react-fast-compare "^2.0.0" + victory-core "^35.11.4" + +victory-candlestick@^35.11.3, victory-candlestick@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-candlestick/-/victory-candlestick-35.11.4.tgz#7aa436d3c555d28429e26ed97b6e53816c3c284d" + integrity sha512-2sBWjtGIB5ln8Dd3/T3itdLkpGd7oRSSly3FPKF+blp7UpXdc9RXhChnX8MMIT/D0vjhcC8zNmtXNWbuaEEnrg== + dependencies: + lodash "^4.17.19" + prop-types "^15.5.8" + victory-core "^35.11.4" + +victory-chart@^35.11.3, victory-chart@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-chart/-/victory-chart-35.11.4.tgz#1d729be0f7891d257396daa371e34770ac8cc303" + integrity sha512-oBTjx6ytp+/s6zswCuOUQotiISePQKuDUdOsjnbINBPSNvJuE2W9GXHD+B7ibDkCh4ZWXm8obHz7mnrRGbCGFQ== + dependencies: + lodash "^4.17.19" + prop-types "^15.5.8" + react-fast-compare "^2.0.0" + victory-axis "^35.11.4" + victory-core "^35.11.4" + victory-polar-axis "^35.11.4" + victory-shared-events "^35.11.4" + +victory-core@^35.11.3, victory-core@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-core/-/victory-core-35.11.4.tgz#0f7d4b26140f14a53695d8be452e42567a2bafe5" + integrity sha512-PuqrOIn/a6GQgsp/DKvACiJBAJo71P77jltn56mlDZjAAzz+58BL4E0hx7x908GdodLXo2n9gEeuDdjOAlOt0Q== + dependencies: + d3-ease "^1.0.0" + d3-interpolate "^1.1.1" + d3-scale "^1.0.0" + d3-shape "^1.2.0" + d3-timer "^1.0.0" + lodash "^4.17.21" + prop-types "^15.5.8" + react-fast-compare "^2.0.0" + +victory-create-container@^35.11.3, victory-create-container@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-create-container/-/victory-create-container-35.11.4.tgz#66107c6ff5e9971b4ecb7cb510711192424b2cd0" + integrity sha512-baDLO4GSk/7eTVEYkhikwgwV5BtrSMuNPjKZBjZrIA3Ka9Fn5shklRG9PWg+26JIBFxqZdM6zOvpF7xhjxi37Q== + dependencies: + lodash "^4.17.19" + victory-brush-container "^35.11.4" + victory-core "^35.11.4" + victory-cursor-container "^35.11.4" + victory-selection-container "^35.11.4" + victory-voronoi-container "^35.11.4" + victory-zoom-container "^35.11.4" + +victory-cursor-container@^35.11.3, victory-cursor-container@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-cursor-container/-/victory-cursor-container-35.11.4.tgz#5d3bb6bd62d9f615c86a600eb3f5682fca342989" + integrity sha512-gs6bwRd/qbGTN78w2QgshIFxlyOsss5qWOMdCcY9i0Oi99l9OJ6UFQDBzSgKsgD53KGs7JxiKevmUqc3qSZZBg== + dependencies: + lodash "^4.17.19" + prop-types "^15.5.8" + victory-core "^35.11.4" + +victory-errorbar@^35.11.3, victory-errorbar@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-errorbar/-/victory-errorbar-35.11.4.tgz#585a3067e1e06aa5d54a4bb7a391e306a7d78c4a" + integrity sha512-7hU6apnxCIiVx47A10il1C75EOVFq9CKJmxAn+3x5V3M9QJBDueS+dhsmz83iAss+x5XDhxXIb9RmMjkjDsr3w== + dependencies: + lodash "^4.17.19" + prop-types "^15.5.8" + victory-core "^35.11.4" + +victory-group@^35.11.3, victory-group@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-group/-/victory-group-35.11.4.tgz#6e6c0be195b24bfff466950bd5ae0691d265b9a3" + integrity sha512-ceFBll9h1sPpdMjNcvdgEhnYELVHfx9ymmk8iMEjOKpxa4fVvapMhegPmL0/zTemJ/NCu71W2xIr0VqyqK0DaA== + dependencies: + lodash "^4.17.19" + prop-types "^15.5.8" + react-fast-compare "^2.0.0" + victory-core "^35.11.4" + victory-shared-events "^35.11.4" + +victory-histogram@^35.11.3, victory-histogram@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-histogram/-/victory-histogram-35.11.4.tgz#998ebab643c8629e3766ec327ce3af6cb4de6f59" + integrity sha512-TfyIGLBel09ZM7PPqWOxMSJ6wOzvYh8aN8qKHfA73z8ZXYKLSwQHtqHog41m3qnyotxJgHG5EfYxY3U7khNR+w== + dependencies: + d3-array "~2.3.0" + d3-scale "^1.0.0" + lodash "^4.17.19" + prop-types "^15.5.8" + react-fast-compare "^2.0.0" + victory-bar "^35.11.4" + victory-core "^35.11.4" + +victory-legend@^35.11.3, victory-legend@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-legend/-/victory-legend-35.11.4.tgz#da22dd5ac26650382ec1914f27a405627ed3756a" + integrity sha512-JZzQARjxYorWlNf9RmZRPAzlgPjukiUV1aTBaeC8YA2S4PhP4PWhNwO/Pb3aCdkifpumpgsm3JULpJiCGOPdBQ== + dependencies: + lodash "^4.17.19" + prop-types "^15.5.8" + victory-core "^35.11.4" + +victory-line@^35.11.3, victory-line@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-line/-/victory-line-35.11.4.tgz#f8b8a4b098d7a8123845b0fcf102a23b08febb53" + integrity sha512-uKX6/1b1OmlqJZOsVDCCDlyc9QItgb39vRssTwP4CJX1NLU4Sfgq2i4VVUbHXCo/I2sMEczjf3cdnxdZtC6IFA== + dependencies: + d3-shape "^1.2.0" + lodash "^4.17.19" + prop-types "^15.5.8" + victory-core "^35.11.4" + +victory-native@^35.5.5: + version "35.5.5" + resolved "https://registry.yarnpkg.com/victory-native/-/victory-native-35.5.5.tgz#9dd764902f72f9b0989076815e5ca5e5e53576c8" + integrity sha512-i8+SbYDFlDn4IZpzrho4yC3UBD70GN17RLiugvIiTMRRulM6AyqFasoVh/i6D9B4oPk8y7lGKBbIV4Xu415wPQ== + dependencies: + lodash "^4.17.19" + prop-types "^15.5.10" + react-fast-compare "^2.0.0" + victory "^35.11.3" + victory-area "^35.11.3" + victory-axis "^35.11.3" + victory-bar "^35.11.3" + victory-box-plot "^35.11.3" + victory-brush-container "^35.11.3" + victory-brush-line "^35.11.3" + victory-candlestick "^35.11.3" + victory-chart "^35.11.3" + victory-core "^35.11.3" + victory-create-container "^35.11.3" + victory-cursor-container "^35.11.3" + victory-errorbar "^35.11.3" + victory-group "^35.11.3" + victory-histogram "^35.11.3" + victory-legend "^35.11.3" + victory-line "^35.11.3" + victory-pie "^35.11.3" + victory-polar-axis "^35.11.3" + victory-scatter "^35.11.3" + victory-selection-container "^35.11.3" + victory-shared-events "^35.11.3" + victory-stack "^35.11.3" + victory-tooltip "^35.11.3" + victory-voronoi "^35.11.3" + victory-voronoi-container "^35.11.3" + victory-zoom-container "^35.11.3" + +victory-pie@^35.11.3, victory-pie@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-pie/-/victory-pie-35.11.4.tgz#2fb8a37fd37826f5a6654b0e43ebf472cc2c8d95" + integrity sha512-EruxP3PIkrTPTzsC5YhiRKg2s+0UtaRU1ZHZUWK8qi+zlbMDFKYg2AlHqsEnctu5AOdOWLLiye6qUG3oxjiURg== + dependencies: + d3-shape "^1.0.0" + lodash "^4.17.19" + prop-types "^15.5.8" + victory-core "^35.11.4" + +victory-polar-axis@^35.11.3, victory-polar-axis@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-polar-axis/-/victory-polar-axis-35.11.4.tgz#1b362c37bbe961f123a621ad61a764a57a0285af" + integrity sha512-mnIRpfARn36TG6ZdCgKR+oWY+pIX6wLHYS0un5xM1TTObKk4IyAR3dnQhEp+3KM1SGoLg0mENFR1Ac8xrus6nQ== + dependencies: + lodash "^4.17.19" + prop-types "^15.5.8" + victory-core "^35.11.4" + +victory-scatter@^35.11.3, victory-scatter@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-scatter/-/victory-scatter-35.11.4.tgz#fbd4f3cf12e64d75d6903cd8ae29b30fb09ee8b7" + integrity sha512-8n9rmXmVju2SqA6Xd90rRTmboaU7WStOnj1QUg4q96DDiAVf6kGPdolzCwbUBbiECLyluGoFNJ043WLXztGpiA== + dependencies: + lodash "^4.17.19" + prop-types "^15.5.8" + victory-core "^35.11.4" + +victory-selection-container@^35.11.3, victory-selection-container@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-selection-container/-/victory-selection-container-35.11.4.tgz#9311adea36d2da75d782dcd6da7e293b15f2e89b" + integrity sha512-Olxnjp9tvHUHeFr4zU/K1dzp0zbeqQRMr2Qqpr85Dd4pWV9bIReE/DanxGhjNg9s3KB5Vsn1GC46PXSTMM1XIQ== + dependencies: + lodash "^4.17.19" + prop-types "^15.5.8" + victory-core "^35.11.4" + +victory-shared-events@^35.11.3, victory-shared-events@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-shared-events/-/victory-shared-events-35.11.4.tgz#05a5dd960062010e7a1ffa0a042dcac04620b2f8" + integrity sha512-flvI27J9K+09BAbuVJf2w51D4OkXlDxE/5BlaHSKzM5jNDYsbcQ6djXa4pqa7NQtMGPOApTBkOSmVRyWRqVoYA== + dependencies: + json-stringify-safe "^5.0.1" + lodash "^4.17.19" + prop-types "^15.5.8" + react-fast-compare "^2.0.0" + victory-core "^35.11.4" + +victory-stack@^35.11.3, victory-stack@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-stack/-/victory-stack-35.11.4.tgz#b3f973a6aedf9d00de0cf81e30428766f214c320" + integrity sha512-fNTY50fN+DCHcK/9AgMUEq0uJ8IXGnMlRtkSCzMB9ZpEzB7Edx3jLM2Gl970zOkwVaDYXTlikPd1dwf+h3m0dA== + dependencies: + lodash "^4.17.19" + prop-types "^15.5.8" + react-fast-compare "^2.0.0" + victory-core "^35.11.4" + victory-shared-events "^35.11.4" + +victory-tooltip@^35.11.3, victory-tooltip@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-tooltip/-/victory-tooltip-35.11.4.tgz#3b69abc5e39422364012522c887930263539d699" + integrity sha512-B+UUqzryurtMghJGiE34tg5eI44vHxyOOcuPIM3IpJLujnNIJXVykBjgQZnFq1CT/63TtDCOlzPkOjSbecPtXQ== + dependencies: + lodash "^4.17.19" + prop-types "^15.5.8" + victory-core "^35.11.4" + +victory-voronoi-container@^35.11.3, victory-voronoi-container@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-voronoi-container/-/victory-voronoi-container-35.11.4.tgz#708d38d4d703a47926fbb48affc9413cfbe8849a" + integrity sha512-vmwHBm/+nZ9qdRcaNd7r08AVRkus/ER6UA4KAYWkKUe50ZT9NYjDxy0wW/Y7PHQldfL9q/VxAyIE/M6jSFWkEA== + dependencies: + delaunay-find "0.0.6" + lodash "^4.17.19" + prop-types "^15.5.8" + react-fast-compare "^2.0.0" + victory-core "^35.11.4" + victory-tooltip "^35.11.4" + +victory-voronoi@^35.11.3, victory-voronoi@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-voronoi/-/victory-voronoi-35.11.4.tgz#7bec833bb6d0fbd564948fc3ea265361dff383a8" + integrity sha512-NYywhzvGziCHoqn3sMLY/K1aa1PQ/uTfSjjQiyDd3pK0HzSxuY9OSyApYODFzf/8yY1p8wKVDanbGH/CtqGmwg== + dependencies: + d3-voronoi "^1.1.2" + lodash "^4.17.19" + prop-types "^15.5.8" + victory-core "^35.11.4" + +victory-zoom-container@^35.11.3, victory-zoom-container@^35.11.4: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory-zoom-container/-/victory-zoom-container-35.11.4.tgz#5fd6d29db4cd3b2eac22c59cd7c4d1bff48bbe89" + integrity sha512-8D4hTdvGZqyZdgWjkz/pDRVy/kijWhptFbK0KWl5J1Tt4YuCGiRC9oxQOpEjlqr8TSyeVnpyuF4QuIp9YOIrAw== + dependencies: + lodash "^4.17.19" + prop-types "^15.5.8" + victory-core "^35.11.4" + +victory@^35.11.3: + version "35.11.4" + resolved "https://registry.yarnpkg.com/victory/-/victory-35.11.4.tgz#877f61df99d3adb3948b6701cf948937e79e4f39" + integrity sha512-C1quDnS2pxUpabsHzjSVOeSJ8blRtxLcUCqLcFDYqgZkM0cnu5InoT16zlDM23zVcAQW6315FFxnpZaogW5UBA== + dependencies: + victory-area "^35.11.4" + victory-axis "^35.11.4" + victory-bar "^35.11.4" + victory-box-plot "^35.11.4" + victory-brush-container "^35.11.4" + victory-brush-line "^35.11.4" + victory-candlestick "^35.11.4" + victory-chart "^35.11.4" + victory-core "^35.11.4" + victory-create-container "^35.11.4" + victory-cursor-container "^35.11.4" + victory-errorbar "^35.11.4" + victory-group "^35.11.4" + victory-histogram "^35.11.4" + victory-legend "^35.11.4" + victory-line "^35.11.4" + victory-pie "^35.11.4" + victory-polar-axis "^35.11.4" + victory-scatter "^35.11.4" + victory-selection-container "^35.11.4" + victory-shared-events "^35.11.4" + victory-stack "^35.11.4" + victory-tooltip "^35.11.4" + victory-voronoi "^35.11.4" + victory-voronoi-container "^35.11.4" + victory-zoom-container "^35.11.4" + vlq@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.1.tgz#c003f6e7c0b4c1edd623fd6ee50bbc0d6a1de468"