diff --git a/example/package.json b/example/package.json index 729de84..809a4da 100644 --- a/example/package.json +++ b/example/package.json @@ -16,26 +16,28 @@ }, "dependencies": { "@react-native-community/segmented-control": "^2.1.2", - "expo": "^38.0.0", - "expo-font": "~8.2.1", - "expo-splash-screen": "^0.3.1", - "react": "16.11.0", - "react-dom": "16.11.0", - "react-native": "0.62.2", - "react-native-unimodules": "~0.10.1", - "react-native-web": "0.13" + "expo-status-bar": "^1.0.2", + "react-native-modal": "^11.5.6", + "expo": "^39.0.0", + "expo-font": "~8.3.0", + "expo-splash-screen": "~0.6.2", + "react": "16.13.1", + "react-dom": "16.13.1", + "react-native": "0.63.3", + "react-native-unimodules": "~0.11.0", + "react-native-web": "~0.13.7" }, "devDependencies": { "@babel/core": "^7.9.6", "@babel/runtime": "^7.9.6", - "@expo/webpack-config": "^0.12.27", + "@expo/webpack-config": "^0.12.16", "@storybook/addon-actions": "^6.0.21", "@storybook/addon-essentials": "^6.0.21", "@storybook/addon-links": "^6.0.21", "@storybook/react": "^6.0.21", "babel-loader": "^8.1.0", "babel-plugin-module-resolver": "^4.0.0", - "babel-preset-expo": "^8.2.3", + "babel-preset-expo": "^8.3.0", "expo-cli": "^3.21.12", "react-is": "^16.13.1" } diff --git a/example/src/App.tsx b/example/src/App.tsx index 3fee44b..999454c 100644 --- a/example/src/App.tsx +++ b/example/src/App.tsx @@ -1,10 +1,27 @@ -import React from 'react'; +import React, { useState } from 'react'; import { SafeAreaView, ScrollView, StyleSheet } from 'react-native'; -import Card from './components/Card'; -import Search from './components/Search'; -import { Column, ThemeProvider, useTheme } from './designSystem/theme'; +import NoteHeader from './components/NoteHeader/NoteHeader'; +import { + Box, + Column, + TextBlock, + ThemeProvider, + Touchable, + useTheme, +} from './designSystem/theme'; +import { useFonts } from 'expo-font'; +import { StatusBar } from 'expo-status-bar'; +import NoteCard from './components/NoteCard/NoteCard'; +import CreateNote from './components/CreateNote/CreateNote'; export default function App() { + const [loaded] = useFonts({ + poppinsMedium: require('./assets/fonts/Poppins-Medium.ttf'), + poppinsRegular: require('./assets/fonts/Poppins-Regular.ttf'), + }); + + if (!loaded) return null; + return ( @@ -14,29 +31,64 @@ export default function App() { function Home() { const theme = useTheme(); + const [openModal, setOpenModal] = useState(false); + return ( - - - - - - - - - - - + + {/* TODO: spacing property for the column doesn't work if we use inside scroll view */} + + + + + + + - - + + + setOpenModal(true) }}> + + + + + + + + ); } diff --git a/example/src/assets/fonts/Poppins-Medium.ttf b/example/src/assets/fonts/Poppins-Medium.ttf new file mode 100644 index 0000000..e90e87e Binary files /dev/null and b/example/src/assets/fonts/Poppins-Medium.ttf differ diff --git a/example/src/assets/fonts/Poppins-Regular.ttf b/example/src/assets/fonts/Poppins-Regular.ttf new file mode 100644 index 0000000..be06e7f Binary files /dev/null and b/example/src/assets/fonts/Poppins-Regular.ttf differ diff --git a/example/src/components/Card.tsx b/example/src/components/Card.tsx deleted file mode 100644 index 9f6519f..0000000 --- a/example/src/components/Card.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import React from 'react'; -import { Box, TextBlock, themeType } from '../designSystem/theme'; -import type { colorType } from 'react-native-typed-ui'; - -export interface cardProps { - backgroundColor: colorType; -} - -const Card = ({ backgroundColor }: cardProps) => { - return ( - - A simple card - - ); -}; - -export default Card; diff --git a/example/src/components/Category/Category.tsx b/example/src/components/Category/Category.tsx new file mode 100644 index 0000000..90c6362 --- /dev/null +++ b/example/src/components/Category/Category.tsx @@ -0,0 +1,26 @@ +import { Box, TextBlock } from '../../designSystem/theme'; +import React from 'react'; + +export interface CategoryProps { + text: string; +} + +const Category = ({ text }: CategoryProps) => { + return ( + + + {text} + + + ); +}; + +export default Category; diff --git a/example/src/components/CreateNote/CreateNote.tsx b/example/src/components/CreateNote/CreateNote.tsx new file mode 100644 index 0000000..d41d79e --- /dev/null +++ b/example/src/components/CreateNote/CreateNote.tsx @@ -0,0 +1,31 @@ +import { TextBlock } from '../../designSystem/theme'; +import React from 'react'; +import { View } from 'react-native'; +import Modal from 'react-native-modal'; + +export interface CreateNoteProps { + isVisible: boolean; + onClose: (arg0: boolean) => void; +} + +const CreateNote = ({ isVisible, onClose }: CreateNoteProps) => { + return ( + + onClose(false)} + swipeDirection="down" + onBackdropPress={() => onClose(false)} + coverScreen={true} + > + + + I am the modal content! + + + + + ); +}; + +export default CreateNote; diff --git a/example/src/components/NoteCard/NoteCard.tsx b/example/src/components/NoteCard/NoteCard.tsx new file mode 100644 index 0000000..f299ee1 --- /dev/null +++ b/example/src/components/NoteCard/NoteCard.tsx @@ -0,0 +1,52 @@ +import { Column, Row, TextBlock } from '../../designSystem/theme'; +import React from 'react'; +import Priority, { PriorityProps } from '../Priority/Priority'; +import Category from '../Category/Category'; +import TimeStamp from '../TimeStamp/TimeStamp'; +import ProfilePic from '../ProfilePic/ProfilePic'; + +export interface NoteCardProps { + note: string; + date: string; + priority: PriorityProps['priority']; + categories: string[]; + pictureUrl: string; +} + +const NoteCard = ({ + note, + date, + priority, + categories, + pictureUrl, +}: NoteCardProps) => { + return ( + + + + {note} + + + {categories.map((category: string) => ( + + ))} + + + + + ); +}; + +export default NoteCard; diff --git a/example/src/components/NoteHeader/NoteHeader.tsx b/example/src/components/NoteHeader/NoteHeader.tsx new file mode 100644 index 0000000..8a1a352 --- /dev/null +++ b/example/src/components/NoteHeader/NoteHeader.tsx @@ -0,0 +1,21 @@ +import { TextBlock } from '../../designSystem/theme'; +import React from 'react'; + +export interface NoteHeaderProps { + text: string; +} + +const NoteHeader = ({ text }: NoteHeaderProps) => { + return ( + + {text} + + ); +}; + +export default NoteHeader; diff --git a/example/src/components/Priority/Priority.tsx b/example/src/components/Priority/Priority.tsx new file mode 100644 index 0000000..bf4f410 --- /dev/null +++ b/example/src/components/Priority/Priority.tsx @@ -0,0 +1,48 @@ +import React from 'react'; +import { Box, ColorProp, TextBlock } from '../../designSystem/theme'; + +export interface PriorityProps { + priority: 'low' | 'medium' | 'high'; +} + +const Priority = ({ priority }: PriorityProps) => { + let fontColor: ColorProp; + let backgroundColor: ColorProp; + let text: string; + + switch (priority) { + case 'low': + fontColor = 'lowPriorityText'; + backgroundColor = 'lowPriorityBackground'; + text = 'Low'; + break; + case 'medium': + fontColor = 'mediumPriorityText'; + backgroundColor = 'mediumPriorityBackground'; + text = 'Medium'; + break; + case 'high': + default: + fontColor = 'highPriorityText'; + backgroundColor = 'highPriorityBackground'; + text = 'High'; + } + + return ( + + + {text} + + + ); +}; + +export default Priority; diff --git a/example/src/components/ProfilePic/ProfilePic.tsx b/example/src/components/ProfilePic/ProfilePic.tsx new file mode 100644 index 0000000..0a675e7 --- /dev/null +++ b/example/src/components/ProfilePic/ProfilePic.tsx @@ -0,0 +1,34 @@ +import React from 'react'; +import { Box } from '../../designSystem/theme'; +import { Image } from 'react-native'; + +export interface ProfilePicProps { + url: string; +} + +const ProfilePic = ({ url }: ProfilePicProps) => { + const customImageStyle = { + flex: 1, + }; + + return ( + + + + ); +}; + +export default ProfilePic; diff --git a/example/src/components/Search.tsx b/example/src/components/Search.tsx deleted file mode 100644 index b9969b1..0000000 --- a/example/src/components/Search.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; -import { Box, InputText } from '../designSystem/theme'; - -const Search = () => { - return ( - - - - ); -}; - -export default Search; diff --git a/example/src/components/TimeStamp/TimeStamp.tsx b/example/src/components/TimeStamp/TimeStamp.tsx new file mode 100644 index 0000000..2034fe2 --- /dev/null +++ b/example/src/components/TimeStamp/TimeStamp.tsx @@ -0,0 +1,16 @@ +import { TextBlock } from '../../designSystem/theme'; +import React from 'react'; + +export interface TimeStampProps { + date: string; +} + +const TimeStamp = ({ date }: TimeStampProps) => { + return ( + + {date} + + ); +}; + +export default TimeStamp; diff --git a/example/src/designSystem/darkTheme.tsx b/example/src/designSystem/darkTheme.tsx new file mode 100644 index 0000000..dee10bf --- /dev/null +++ b/example/src/designSystem/darkTheme.tsx @@ -0,0 +1,27 @@ +import lightTheme from './lightTheme'; + +const darkTheme = { + ...lightTheme, + colors: { + headerText: '#000000', + lowPriorityBackground: '#B8EBB0', + mediumPriorityBackground: '#F0CA81', + highPriorityBackground: '#DE1D3E', + noteText: '#221C1D', + lowPriorityText: '#221C1D', + mediumPriorityText: '#221C1D', + highPriorityText: '#ffffff', + categoryText: '#ffffff', + timeStampText: '#666666', + backgroundColor: '#F9F9F9', + noteCardBackground: '#ffffff', + categoryBackground01: '#DE1D6E', + categoryBackground02: '#4F1DDE', + noteCardBorder: '#666666', + profilePicBorder: '#000000', + addIconText: '#ffffff', + addIconBackground: '#3DA9FC', + }, +}; + +export default darkTheme; diff --git a/example/src/designSystem/lightTheme.tsx b/example/src/designSystem/lightTheme.tsx new file mode 100644 index 0000000..ff25bf7 --- /dev/null +++ b/example/src/designSystem/lightTheme.tsx @@ -0,0 +1,123 @@ +import type { TextStyle } from 'react-native'; + +const fontSizes = { + header: 16, + note: 12, + pill: 10, + timeStamp: 11, + addIcon: 48, +}; + +const lineHeights = { + note: 1.5, +}; + +const fonts = { + primary: 'poppinsRegular', + primaryMedium: 'poppinsMedium', +}; + +const fontWeights: { + normal: TextStyle['fontWeight']; + medium: TextStyle['fontWeight']; +} = { + medium: '500', + normal: 'normal', +}; + +const letterSpacings = {}; + +const spacing = { + 'none': 0, + '2xs': 2, + 'xs': 4, + 'sm': 6, + 'md': 8, + 'lg': 12, + 'xl': 16, + '2xl': 24, + '3xl': 32, + '4xl': 40, + '5xl': 48, + '6xl': 56, + '7xl': 64, +}; + +const zIndices = { + hide: -1, + base: 0, + docked: 10, + dropdown: 1000, + sticky: 1100, + banner: 1200, + overlay: 1300, + modal: 1400, + popover: 1500, + skipLink: 1600, + toast: 1700, + tooltip: 1800, +}; + +const iconSizes = {}; + +const borderRadius = { + noteCard: 4, + categoryPill: 4, + priorityPill: 20, + circle: 10000, +}; + +const colors = { + headerText: '#000000', + lowPriorityBackground: '#B8EBB0', + mediumPriorityBackground: '#F0CA81', + highPriorityBackground: '#DE1D3E', + noteText: '#221C1D', + lowPriorityText: '#221C1D', + mediumPriorityText: '#221C1D', + highPriorityText: '#ffffff', + categoryText: '#ffffff', + timeStampText: '#666666', + backgroundColor: '#F9F9F9', + noteCardBackground: '#ffffff', + categoryBackground01: '#DE1D6E', + categoryBackground02: '#4F1DDE', + noteCardBorder: '#666666', + profilePicBorder: '#000000', + addIconText: '#ffffff', + addIconBackground: '#3DA9FC', +}; + +const shadows: { + 'xs': 2; + 'sm': 4; + 'md': 6; + 'lg': 8; + 'xl': 12; + '2xl': 16; + '3xl': 24; +} = { + 'xs': 2, + 'sm': 4, + 'md': 6, + 'lg': 8, + 'xl': 12, + '2xl': 16, + '3xl': 24, +}; + +const lightTheme = { + colors, + fonts, + fontSizes, + fontWeights, + lineHeights, + letterSpacings, + spacing, + zIndices, + iconSizes, + borderRadius, + shadows, +}; + +export default lightTheme; diff --git a/example/src/designSystem/theme.tsx b/example/src/designSystem/theme.tsx index f1a06e4..0360f66 100644 --- a/example/src/designSystem/theme.tsx +++ b/example/src/designSystem/theme.tsx @@ -1,7 +1,6 @@ -import createThemeComponents, { - defaultDarkTheme, - defaultTheme, -} from 'react-native-typed-ui'; +import createThemeComponents from 'react-native-typed-ui'; +import darkTheme from './darkTheme'; +import lightTheme from './lightTheme'; export const { Box, @@ -15,6 +14,8 @@ export const { useThemeToggle, useChangeDarkTheme, useChangeLightTheme, -} = createThemeComponents(defaultTheme, defaultDarkTheme); +} = createThemeComponents(lightTheme, darkTheme); -export type themeType = ReturnType; +export type ThemeType = ReturnType; + +export type ColorProp = keyof ThemeType['colors']; diff --git a/example/src/stories/Row.stories.js b/example/src/stories/Row.stories.js index 23036f6..70cafd3 100644 --- a/example/src/stories/Row.stories.js +++ b/example/src/stories/Row.stories.js @@ -1,5 +1,5 @@ import React from 'react'; -import { Row, Box, TextBlock } from '../designSystem/theme'; +import { Row, TextBlock } from '../designSystem/theme'; import ThemeDecorator from './decorators/ThemeDecorator'; export default { diff --git a/example/src/stories/components/PhoneExample.tsx b/example/src/stories/components/PhoneExample.tsx index 1411607..6a48371 100644 --- a/example/src/stories/components/PhoneExample.tsx +++ b/example/src/stories/components/PhoneExample.tsx @@ -56,7 +56,7 @@ const PhoneExample = () => { return ( diff --git a/example/yarn.lock b/example/yarn.lock index d438a0f..751b2d7 100644 --- a/example/yarn.lock +++ b/example/yarn.lock @@ -539,7 +539,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": +"@babel/plugin-syntax-nullish-coalescing-operator@^7.0.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== @@ -567,7 +567,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-chaining@^7.8.0": +"@babel/plugin-syntax-optional-chaining@^7.0.0", "@babel/plugin-syntax-optional-chaining@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== @@ -810,6 +810,13 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-jsx" "^7.10.4" +"@babel/plugin-transform-react-jsx-self@^7.0.0": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.1.tgz#ef43cbca2a14f1bd17807dbe4376ff89d714cf28" + integrity sha512-FbpL0ieNWiiBB5tCldX17EtXgmzeEZjFrix72rQYeq9X6nUK38HCaxexzVQrZWXanxKJPKVVIU37gFjEQYkPkA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-react-jsx-self@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.10.4.tgz#cd301a5fed8988c182ed0b9d55e9bd6db0bd9369" @@ -1230,6 +1237,19 @@ "@babel/preset-env" "^7.4.4" "@babel/preset-typescript" "^7.3.3" +"@expo/babel-preset-cli@0.2.18": + version "0.2.18" + resolved "https://registry.yarnpkg.com/@expo/babel-preset-cli/-/babel-preset-cli-0.2.18.tgz#136acf8a0efe259e29ebc614b68552e5acb47d86" + integrity sha512-y2IZFynVtRxMQ4uxXYUnrnXZa+pvSH1R1aSUAfC6RsUb2UNOxC6zRehdLGSOyF4s9Wy+j3/CPm6fC0T5UJYoQg== + dependencies: + "@babel/core" "^7.4.5" + "@babel/plugin-proposal-class-properties" "^7.4.4" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.7.4" + "@babel/plugin-proposal-optional-chaining" "^7.7.5" + "@babel/plugin-transform-modules-commonjs" "^7.5.0" + "@babel/preset-env" "^7.4.4" + "@babel/preset-typescript" "^7.3.3" + "@expo/build-tools@^0.1.15": version "0.1.15" resolved "https://registry.yarnpkg.com/@expo/build-tools/-/build-tools-0.1.15.tgz#6374747ab6b1a8e3a4f84b16d89ddb7263fb9a5d" @@ -1270,6 +1290,11 @@ mv "~2" safe-json-stringify "~1" +"@expo/config-types@^40.0.0-beta.1": + version "40.0.0-beta.1" + resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-40.0.0-beta.1.tgz#4192b120edc9ec235147329a50bd0a7da16ae89c" + integrity sha512-hTp+6ZIKK57O8qhVoO+GBCkx0UCdOhwcWxaXfjpsELIR8LfXDGz8OmCxTzGvb7nnadcrGCccHBX5dO1NmPBbmg== + "@expo/config@3.2.21": version "3.2.21" resolved "https://registry.yarnpkg.com/@expo/config/-/config-3.2.21.tgz#786e998245a212b76235c3be82560060af832834" @@ -1289,10 +1314,33 @@ xcode "^2.1.0" xml2js "^0.4.23" -"@expo/configure-splash-screen@0.1.13": - version "0.1.13" - resolved "https://registry.yarnpkg.com/@expo/configure-splash-screen/-/configure-splash-screen-0.1.13.tgz#9f974146d716ffc03461e4d2deb7bfb22826e56a" - integrity sha512-1AYaHDJlAXfS7K/i2kI7U5+dELfKnFrXti97cIC5PkHOwEQVti8Uw1/KXO0+Pih7g8BNDvDPjHlMNDqn7AnBCA== +"@expo/config@3.3.15": + version "3.3.15" + resolved "https://registry.yarnpkg.com/@expo/config/-/config-3.3.15.tgz#8241eb575f3f9071dc0277b260906ab32eb9ca95" + integrity sha512-AxsmTd0JtJTiaYos+maWCMjQOAVcN/Z+edj0SUUh46O3003LBnr7SZCOysqmtwY2437MD5IkzU/YL9wkQYuWtw== + dependencies: + "@babel/core" "7.9.0" + "@expo/babel-preset-cli" "0.2.18" + "@expo/config-types" "^40.0.0-beta.1" + "@expo/configure-splash-screen" "0.2.1" + "@expo/image-utils" "0.3.7" + "@expo/json-file" "8.2.24" + "@expo/plist" "0.0.10" + fs-extra "9.0.0" + glob "7.1.6" + invariant "^2.2.4" + require-from-string "^2.0.2" + resolve-from "^5.0.0" + semver "^7.1.3" + slash "^3.0.0" + slugify "^1.3.4" + xcode "^2.1.0" + xml2js "^0.4.23" + +"@expo/configure-splash-screen@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@expo/configure-splash-screen/-/configure-splash-screen-0.2.0.tgz#84f9f71363259f16fd0073636a198c750a3cdd7c" + integrity sha512-2RG0NOeXZAGKNJXVEEA9wukDsxjmMdDTclZP9FPb15r3+siWI/GZaC36IqoQ8/mw4wzX5Y+OvZ2cHhc0J8t+0A== dependencies: "@react-native-community/cli-platform-android" "^4.10.0" "@react-native-community/cli-platform-ios" "^4.10.0" @@ -1301,14 +1349,15 @@ core-js "^3.6.5" deep-equal "^2.0.3" fs-extra "^9.0.0" + lodash "^4.17.15" pngjs "^5.0.0" xcode "^3.0.0" xml-js "^1.6.11" -"@expo/configure-splash-screen@~0.1.0": - version "0.1.14" - resolved "https://registry.yarnpkg.com/@expo/configure-splash-screen/-/configure-splash-screen-0.1.14.tgz#c55a537f9d7a19a5b576b67ef25a6f2e17e4154c" - integrity sha512-5Ex4AcqkGN/MNT2qmNiYzDG8/l+eQ5Zb6Fid+CCFOUdM84JUTdKW5GwYkPAMFwwqxWod2l/pY0nz+wvKX8ePRg== +"@expo/configure-splash-screen@0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@expo/configure-splash-screen/-/configure-splash-screen-0.2.1.tgz#de29b781990d32d9f48d630b912aaf017afccbf3" + integrity sha512-6n7ji1WKDCdLe2Mto4u4W72kTLhAbhXhC7ydVk1HxDYCcbewNLfgiwhchPtPGyUMnSDizVWph5aDoiKxqVHqNQ== dependencies: "@react-native-community/cli-platform-android" "^4.10.0" "@react-native-community/cli-platform-ios" "^4.10.0" @@ -1317,6 +1366,7 @@ core-js "^3.6.5" deep-equal "^2.0.3" fs-extra "^9.0.0" + lodash "^4.17.15" pngjs "^5.0.0" xcode "^3.0.0" xml-js "^1.6.11" @@ -1381,6 +1431,23 @@ semver "6.1.1" tempy "0.3.0" +"@expo/image-utils@0.3.7": + version "0.3.7" + resolved "https://registry.yarnpkg.com/@expo/image-utils/-/image-utils-0.3.7.tgz#48436a5f509818dc43a30f73dbfd4baed88a5f23" + integrity sha512-Vo1p5uv1JlRacgVIiVa+83oRoHfC7grSU8cypAtgvOYpbmdCWR8+3F4v+vaabHe6ktvIKRE78jh6vHMGwv2aOA== + dependencies: + "@expo/spawn-async" "1.5.0" + chalk "^4.0.0" + fs-extra "9.0.0" + getenv "0.7.0" + jimp "^0.9.6" + mime "^2.4.4" + node-fetch "^2.6.0" + parse-png "^2.1.0" + resolve-from "^5.0.0" + semver "6.1.1" + tempy "0.3.0" + "@expo/json-file@8.2.22": version "8.2.22" resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.2.22.tgz#779e9184d8b326252e4d7c97130bd83ec9f5736e" @@ -1392,6 +1459,17 @@ lodash "^4.17.15" write-file-atomic "^2.3.0" +"@expo/json-file@8.2.24": + version "8.2.24" + resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.2.24.tgz#02a9dd75c9ca6d70d4cc04729f0586eb80bcd1ba" + integrity sha512-i34lfcMVt5Wv2Cf5apZUj3o9JlFt8WOPSZjrECryunBQ9/BsQQYY5NHgGjhhZnnRE+6JFf0CPQTjXdoQ1w3w0w== + dependencies: + "@babel/code-frame" "^7.0.0-beta.44" + fs-extra "9.0.0" + json5 "^1.0.1" + lodash "^4.17.15" + write-file-atomic "^2.3.0" + "@expo/logger@0.0.13": version "0.0.13" resolved "https://registry.yarnpkg.com/@expo/logger/-/logger-0.0.13.tgz#757588e31d8dc9abd7d31a7009a17a8979fe829d" @@ -1514,6 +1592,15 @@ split "^1.0.1" sudo-prompt "9.1.1" +"@expo/plist@0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.0.10.tgz#e126a15543c6c67fd159947ca9e35969657a97f4" + integrity sha512-uKbi7ANPCNJqeAvxLa+ZcS/Qf0fTPOySMqw5T2L4TrycSAdiAxV1VUZ69IzIbUsWb7GdriUVR2i38M/xa6+BvA== + dependencies: + base64-js "^1.2.3" + xmlbuilder "^14.0.0" + xmldom "~0.1.31" + "@expo/plist@0.0.9": version "0.0.9" resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.0.9.tgz#7ada91d10bbc3d94b6646f57b5b805e763a27a4c" @@ -1585,7 +1672,7 @@ dependencies: lodash "^4.17.4" -"@expo/webpack-config@0.12.27", "@expo/webpack-config@^0.12.27": +"@expo/webpack-config@0.12.27": version "0.12.27" resolved "https://registry.yarnpkg.com/@expo/webpack-config/-/webpack-config-0.12.27.tgz#fbfa8ee43318cee3b35592d60190a610bdf4861d" integrity sha512-KBu8ycbpRWzcuK9OXPnAF/mC771inLOcFPZNFkCX2CIgXhg1jJOfADcJsCAxwTJ5RFIXdBHS4sDMi7c8E+D+KA== @@ -1623,6 +1710,45 @@ workbox-webpack-plugin "^3.6.3" worker-loader "^2.0.0" +"@expo/webpack-config@^0.12.16": + version "0.12.44" + resolved "https://registry.yarnpkg.com/@expo/webpack-config/-/webpack-config-0.12.44.tgz#5edeba131374ac5fdaed647839cf31be15ecebf3" + integrity sha512-68HRk1jj0viDoHv3jp/JeyLy77/Nuk47pp8qT6N8+RTkUhsnpbaYMeWOYWOxbAxkeREOC0vAmAbIEdIdjkUAEg== + dependencies: + "@babel/core" "7.9.0" + "@babel/runtime" "7.9.0" + "@expo/config" "3.3.15" + "@pmmmwh/react-refresh-webpack-plugin" "^0.3.3" + babel-loader "8.1.0" + chalk "^4.0.0" + clean-webpack-plugin "^3.0.0" + copy-webpack-plugin "~6.0.3" + css-loader "~3.6.0" + expo-pwa "0.0.50" + file-loader "~6.0.0" + find-yarn-workspace-root "~2.0.0" + getenv "^0.7.0" + html-loader "~1.1.0" + html-webpack-plugin "~4.3.0" + is-wsl "^2.0.0" + mini-css-extract-plugin "^0.5.0" + node-html-parser "^1.2.12" + optimize-css-assets-webpack-plugin "^5.0.3" + pnp-webpack-plugin "^1.5.0" + postcss-safe-parser "^4.0.2" + progress "^2.0.3" + react-dev-utils "10.2.1" + react-refresh "^0.8.2" + style-loader "~1.2.1" + terser-webpack-plugin "^3.0.6" + url-loader "~4.1.0" + webpack "4.43.0" + webpack-deep-scope-plugin "1.6.0" + webpack-manifest-plugin "~2.2.0" + webpackbar "^4.0.0" + workbox-webpack-plugin "^3.6.3" + worker-loader "^2.0.0" + "@expo/websql@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@expo/websql/-/websql-1.0.1.tgz#fff0cf9c1baa1f70f9e1d658b7c39a420d9b10a9" @@ -2371,7 +2497,18 @@ dependencies: serve-static "^1.13.1" -"@react-native-community/cli-platform-android@^4.10.0", "@react-native-community/cli-platform-android@^4.5.1": +"@react-native-community/cli-hermes@^4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-4.13.0.tgz#6243ed9c709dad5e523f1ccd7d21066b32f2899d" + integrity sha512-oG+w0Uby6rSGsUkJGLvMQctZ5eVRLLfhf84lLyz942OEDxFRa9U19YJxOe9FmgCKtotbYiM3P/XhK+SVCuerPQ== + dependencies: + "@react-native-community/cli-platform-android" "^4.13.0" + "@react-native-community/cli-tools" "^4.13.0" + chalk "^3.0.0" + hermes-profile-transformer "^0.0.6" + ip "^1.1.5" + +"@react-native-community/cli-platform-android@^4.10.0": version "4.11.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-4.11.0.tgz#0ce9b88ed8b6b0ef962af49d980eb53433c17a84" integrity sha512-BzqocGjOCjpDW0bM/LUrHMXw4nBvOhDXnHWxaoRp3eeUVsD2oSegoRn52kZo9yhPb9cCPkZJ3b+Web71Ue4j9w== @@ -2387,7 +2524,23 @@ slash "^3.0.0" xmldoc "^1.1.2" -"@react-native-community/cli-platform-ios@^4.10.0", "@react-native-community/cli-platform-ios@^4.5.0": +"@react-native-community/cli-platform-android@^4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-4.13.0.tgz#922681ec82ee1aadd993598b814df1152118be02" + integrity sha512-3i8sX8GklEytUZwPnojuoFbCjIRzMugCdzDIdZ9UNmi/OhD4/8mLGO0dgXfT4sMWjZwu3qjy45sFfk2zOAgHbA== + dependencies: + "@react-native-community/cli-tools" "^4.13.0" + chalk "^3.0.0" + execa "^1.0.0" + fs-extra "^8.1.0" + glob "^7.1.3" + jetifier "^1.6.2" + lodash "^4.17.15" + logkitty "^0.7.1" + slash "^3.0.0" + xmldoc "^1.1.2" + +"@react-native-community/cli-platform-ios@^4.10.0": version "4.11.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-4.11.0.tgz#5870bf5f2b3c01a0aa672a7c1f7f0fe13337c6b5" integrity sha512-/qkjnhhJ7BGBTNkHSS8a+z8UgWUQbU6YZOTuYxjNywGUzMiTsb/wlm2cWCY1VEAvWtY97c4plAZ5OferPJHaVA== @@ -2414,13 +2567,13 @@ serve-static "^1.13.1" ws "^1.1.0" -"@react-native-community/cli-server-api@^4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-4.11.0.tgz#93887ab8496c9d89b53817297974670184be1191" - integrity sha512-vrRaGq7ezsxyyUsFhAboEtA1CHLDa2UpJygOWHip30LaAluM+vopAJbau2NtHVX54vgQzXo438Tx8TXiRacPhA== +"@react-native-community/cli-server-api@^4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-4.13.0.tgz#ef0e53fe0edc7356d62bca725ca47cb368f748a5" + integrity sha512-ER138ChLc1YYX7j9yE6fDm4DdNdsHThr+pla/B6iZoKje1r7TwymDdKaUvOsYalG7sWG9glW3bofcCq+Yh0Dvw== dependencies: "@react-native-community/cli-debugger-ui" "^4.9.0" - "@react-native-community/cli-tools" "^4.11.0" + "@react-native-community/cli-tools" "^4.13.0" compression "^1.7.1" connect "^3.6.5" errorhandler "^1.5.0" @@ -2440,20 +2593,33 @@ open "^6.2.0" shell-quote "1.6.1" +"@react-native-community/cli-tools@^4.13.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-4.13.0.tgz#b406463d33af16cedc4305a9a9257ed32845cf1b" + integrity sha512-s4f489h5+EJksn4CfheLgv5PGOM0CDmK1UEBLw2t/ncWs3cW2VI7vXzndcd/WJHTv3GntJhXDcJMuL+Z2IAOgg== + dependencies: + chalk "^3.0.0" + lodash "^4.17.15" + mime "^2.4.1" + node-fetch "^2.6.0" + open "^6.2.0" + shell-quote "1.6.1" + "@react-native-community/cli-types@^4.10.1": version "4.10.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-4.10.1.tgz#d68a2dcd1649d3b3774823c64e5e9ce55bfbe1c9" integrity sha512-ael2f1onoPF3vF7YqHGWy7NnafzGu+yp88BbFbP0ydoCP2xGSUzmZVw0zakPTC040Id+JQ9WeFczujMkDy6jYQ== -"@react-native-community/cli@^4.5.1": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-4.12.0.tgz#42ca3eacd4b4ba2bd5126aba6a032952e66835b5" - integrity sha512-zIrKxgHsQ5EUGjZ+oIW54+qY2XqVwDJbGV3hzsVsCFXleos2QUAQWskR0BG9zf06P1HT8kfwuDuHs/p1Ywe0rg== +"@react-native-community/cli@^4.10.0": + version "4.13.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-4.13.0.tgz#04d5032f9b2b423c61ceef6be83b1bcc8a37db75" + integrity sha512-R+1VehIQ6VTLf+e7YOwzJk0F9tstfeSC4xy7oT6GSgB3FnXbTJGHFUp4siyO68Ae/gzGqt8SiUO145teWkP+ZA== dependencies: "@hapi/joi" "^15.0.3" "@react-native-community/cli-debugger-ui" "^4.9.0" - "@react-native-community/cli-server-api" "^4.11.0" - "@react-native-community/cli-tools" "^4.11.0" + "@react-native-community/cli-hermes" "^4.13.0" + "@react-native-community/cli-server-api" "^4.13.0" + "@react-native-community/cli-tools" "^4.13.0" "@react-native-community/cli-types" "^4.10.1" chalk "^3.0.0" command-exists "^1.2.8" @@ -2486,9 +2652,9 @@ wcwidth "^1.0.1" "@react-native-community/segmented-control@^2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@react-native-community/segmented-control/-/segmented-control-2.1.2.tgz#13dd38a2f1972f7c9061f74b9e8e9fd35cbfa6a8" - integrity sha512-2UEr+Dqk+VHcMaZPOcKSo0GqFZG91DjngeACy+DOB2gRvph/FGKjABV6HlQJqdhQeQs/4NgoycCjAH+Z8ilIVg== + version "2.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/segmented-control/-/segmented-control-2.2.1.tgz#5ca418d78c5f6051353c9586918458713b88a83c" + integrity sha512-BzxFbI9Iqv+31yVqEvCTzJYmwb8jOMTf/UPuC4Hj176tmEPqBpuDaGH+rkAFg1miOco3/43RQxiAZO+mkY40Fg== "@segment/loosely-validate-event@^2.0.0": version "2.0.0" @@ -3537,21 +3703,20 @@ dependencies: "@types/yargs-parser" "*" -"@unimodules/core@~5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@unimodules/core/-/core-5.3.0.tgz#c425e59b1f9c1e2c91b235b6192e5f622a47d833" - integrity sha512-uGpkYE2zI0F1LTv+p6drzCHAZo8UFITxedHUH6pjWQBHdpTtae5cU7l3F/CzQ4WYU6SWhkzaB90/Ydf3DNTuLw== +"@unimodules/core@~5.5.0", "@unimodules/core@~5.5.1": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@unimodules/core/-/core-5.5.1.tgz#82afe960568c58da62c76ea45ca77aa43a31ce13" + integrity sha512-4OADQJqQ52TsCzfK+xUGWjt3zZADYxRvBZe8JXrnx2qGMXhFFUUn2JMEZT3nDt4QwtM+rIp9BsrQCMIPlXCOHg== dependencies: compare-versions "^3.4.0" -"@unimodules/react-native-adapter@~5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@unimodules/react-native-adapter/-/react-native-adapter-5.4.0.tgz#6639a2b6df74806bc886933c99bb18408e54f7f0" - integrity sha512-2c3hDWzfBAyDWNCkBziyXphmxRZvZ5J8oSMLRDohvj6DnQiHvnlgr/A4oberkjPSEve5fN4GA+eybcJrec08AA== +"@unimodules/react-native-adapter@~5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@unimodules/react-native-adapter/-/react-native-adapter-5.6.0.tgz#7dc1227576eca20a28fc11d0c12d974c9fb4322e" + integrity sha512-X2bkueyzCw8QXyzCOD68uLurI4XFnzZzVtbRGiEgbd/x+JbyVhN0VqsOXXApfolh1vtO+KVj0rfQsYT1+nKp/A== dependencies: invariant "^2.2.4" lodash "^4.5.0" - prop-types "^15.6.1" "@webassemblyjs/ast@1.9.0": version "1.9.0" @@ -4213,7 +4378,7 @@ arrify@^2.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== -asap@^2.0.0, asap@~2.0.3: +asap@^2.0.0, asap@~2.0.3, asap@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= @@ -4602,10 +4767,10 @@ babel-plugin-react-docgen@^4.1.0: react-docgen "^5.0.0" recast "^0.14.7" -babel-plugin-react-native-web@^0.11.7: - version "0.11.7" - resolved "https://registry.yarnpkg.com/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.11.7.tgz#15b578c0731bd7d65d334f9c759d95e8e4a602e2" - integrity sha512-CxE7uhhqkzAFkwV2X7+Mc/UVPujQQDtja/EGxCXRJvdYRi72QTmaJYKbK1lV9qgTZuB+TDguU89coaA9Z1BNbg== +babel-plugin-react-native-web@~0.13.6: + version "0.13.18" + resolved "https://registry.yarnpkg.com/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.13.18.tgz#f0b640412b81acd02d8036b7a935ffb3ab446e4e" + integrity sha512-f8pAxyKqXBNRIh8l4Sqju055BNec+DQlItdtutByYxULU0iJ1F7evIYE3skPKAkTB/xJH17l+n3Z8dVabGIIGg== babel-plugin-syntax-jsx@^6.18.0: version "6.18.0" @@ -4689,16 +4854,16 @@ babel-plugin-transform-undefined-to-void@^6.9.4: resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz#be241ca81404030678b748717322b89d0c8fe280" integrity sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA= -babel-preset-expo@^8.2.3, babel-preset-expo@~8.2.3: - version "8.2.3" - resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-8.2.3.tgz#0e2726f578287e1b0278674abc0933eba9a493e6" - integrity sha512-DL8GU7XsPPQFmDHYHo1/sTfNiXeThwSba4v3vOLbmkrzLetVGJruKMcKy7Vv0D1WmSpMvVj1J7G8C0IQ9pIDxQ== +babel-preset-expo@^8.3.0, babel-preset-expo@~8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-8.3.0.tgz#d77065f6e079a64de6e6830e58770fdb9b3240fa" + integrity sha512-KmoFiEJ0A8QUH0OTh+mj3RBvv069FQsQ1hvZDi6tVMSzrW+Y/imsJMXgVboZN+XGOYnWFaGEKQ8BqNvBX+zKjA== dependencies: "@babel/plugin-proposal-decorators" "^7.6.0" "@babel/preset-env" "^7.6.3" babel-plugin-module-resolver "^3.2.0" - babel-plugin-react-native-web "^0.11.7" - metro-react-native-babel-preset "^0.58.0" + babel-plugin-react-native-web "~0.13.6" + metro-react-native-babel-preset "~0.59.0" babel-preset-fbjs@^3.2.0, babel-preset-fbjs@^3.3.0: version "3.3.0" @@ -6071,7 +6236,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-react-class@^15.6.2, create-react-class@^15.6.3: +create-react-class@^15.6.2: version "15.6.3" resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036" integrity sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg== @@ -7203,13 +7368,6 @@ escodegen@^1.12.0: optionalDependencies: source-map "~0.6.1" -eslint-plugin-relay@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-relay/-/eslint-plugin-relay-1.4.1.tgz#5af2ac13e24bd01ad17b6a4014204918d65021cd" - integrity sha512-yb+p+4AxZTi2gXN7cZRfXMBFlRa5j6TtiVeq3yHXyy+tlgYNpxi/dDrP1+tcUTNP9vdaJovnfGZ5jp6kMiH9eg== - dependencies: - graphql "^14.0.0" - eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" @@ -7331,10 +7489,10 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expo-asset@~8.1.7: - version "8.1.7" - resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-8.1.7.tgz#32618e51f85df56f1d7dd54c71eb486ae7f7674e" - integrity sha512-g0+a+Uc+GfOI7VtZ6d0WB78qq6Lu3vKqHN3TBfcsndcx893CSmo6ZVLcrlL9evdZwlbSO+9zLrLdzEw38a/gMA== +expo-asset@~8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-8.2.0.tgz#2f72491064c02d4de32e9187d474deb9cec33003" + integrity sha512-Z4D8jcN19GJ/pCqm6slP+Yhao1TP1RkSK/NIHpMKlkz36aqSh0V58J97zvwb1WdkYef5evAzj2uDGpH/VwLOdQ== dependencies: blueimp-md5 "^2.10.0" invariant "^2.2.4" @@ -7406,73 +7564,69 @@ expo-cli@^3.21.12: "@expo/traveling-fastlane-darwin" "1.15.1" "@expo/traveling-fastlane-linux" "1.15.1" -expo-constants@~9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-9.1.1.tgz#bca141ee3d4550e308798128f66c6d9c6a206ca1" - integrity sha512-zCa/wRARODHd6BSwxjBhidmao0AqQnKmLkl0tsVIoZlRyPDHsEaxNR/m+7wqGC7qiC+UpG1qRnvLOLwCGt2ihg== +expo-constants@~9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-9.2.0.tgz#e86a38793deaff9018878afac65bce2543c80a4c" + integrity sha512-WKwiEMvBgPrEPEyZKm21UUB2KWQux9OCWf6ZDORLTln7kO3rsbaJEprfWUWTP7AxyaLMYfN+/0WFHjZc25SZWQ== dependencies: fbjs "1.0.0" uuid "^3.3.2" -expo-error-recovery@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/expo-error-recovery/-/expo-error-recovery-1.2.1.tgz#a8fd68950235d4f22b30d901bfc90f7732720b93" - integrity sha512-QywpoDYfUCEJ62wv6xywY7JsLiMG31h22hjQ3HuBfj+cJNko5zSyJ7YKeXKGF2WiSVrSfA0HhqzNmsen9LMZrA== +expo-error-recovery@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/expo-error-recovery/-/expo-error-recovery-1.3.0.tgz#8f4ba957c766e4b9279493eee042d37a562fb3ea" + integrity sha512-iffxU1iiMjMZ84y7GPt3ScrFrESLB1gnH9s5/1HuDySch+y5NEgIY14yMR4Mp1iSebCM9Bp4f9dM7gV6AShafg== dependencies: fbjs "1.0.0" -expo-file-system@~9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-9.0.1.tgz#50a6a0b29fbc45413de9f7d38c0695503bf03d7e" - integrity sha512-xZKv7g0dhFNMjp49+XiZBnApOUu/WlLzwWaruNbBnSgi/HGnSwbHNyk7zuK1RdQ9NndvXu6uT4uW2i67pIrKig== +expo-file-system@~9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-9.2.0.tgz#e8efde36968a1e6d826236044a970e85bfe0aeee" + integrity sha512-GsDf+E6e1WyYqyUiXbcWthLk7oVO+WDticnHUGAzb17hVCgxJhlUbRriwY3kBkQAX1mr+Hq9lkgJPIRbV197Fw== dependencies: uuid "^3.4.0" -expo-font@~8.2.1: - version "8.2.2" - resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-8.2.2.tgz#c67ee8d3841921a907464d67e8098baeed92bacf" - integrity sha512-p/a7Ve+3LiR9ofn77U0UuuE6ZQiLVu3M1btiKUDe5efAp48D9GG41AevKQ7YnkfxTDdGJa0ACAtJAVsAD30jGA== +expo-font@~8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-8.3.0.tgz#f41955d1f1bbb2fe706bf97fc94aa89f7e599a0a" + integrity sha512-WK3Oh3JwLjH/y94w1GPhE1Ix59WEJ9hTUKJBuvsM9SYqdN4N0DDb2VKhCH218HPdLURfyZnhMi2KrVycUWIUEQ== dependencies: fbjs "1.0.0" fontfaceobserver "^2.1.0" -expo-image-loader@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/expo-image-loader/-/expo-image-loader-1.1.1.tgz#6c65bd1a41761c8acb91575060579e4864b93394" - integrity sha512-qI4opRO2D1MGRAbHxYnMBJ4LzKT17KfqbM5oTxNoMZCRNpzB0xsuJrWy5C+0UOkV0vnqQyjvCtynTSawhWnl9A== +expo-image-loader@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/expo-image-loader/-/expo-image-loader-1.2.0.tgz#1cf70fc14c45e8595c3d1a2b16f40a53810b4ba4" + integrity sha512-cftM8EonIPD4Tjydr5aFpFM1/GsNoIC79YV+ulVR3Zfn3RYcR4whwDcmzFCPuVFEO1Df4oBfEbdXfqlk96DR5Q== -expo-keep-awake@~8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-8.2.1.tgz#a7956ad0fa80eb6ac6a28bb7242408e87c493677" - integrity sha512-m644YH7R/3n6dcn03aZcmHGTk4hDDIiEiImTKsSjbXIIRuW5tfdRqLCHnja5DwBT+4sxUn58wTpK6QnTfXichA== +expo-keep-awake@~8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-8.3.0.tgz#11bb8073dfe453259926855c81d9f35db03a79b9" + integrity sha512-zrMsvZLHColfSex5Yf6h5vw3mgJiG48FX36+fOXUqq/erCtDkqY2NB7PmhDaj6lWRJ0OuXa90uYXNveXBJyhfA== -expo-linear-gradient@~8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/expo-linear-gradient/-/expo-linear-gradient-8.2.1.tgz#4b44649560e1dd694b6a540781c9214abe35b035" - integrity sha512-GY0N4DDxuIeFALtcLUmHyy/yS3uPvd7R03Qmch+vZKEL7pH+h8qAeuYpSiUXEWRqsMZf2DSMBxOhVFjyg/X7DA== - dependencies: - prop-types "15.7.2" +expo-linear-gradient@~8.3.0: + version "8.3.1" + resolved "https://registry.yarnpkg.com/expo-linear-gradient/-/expo-linear-gradient-8.3.1.tgz#5dd3878c0700035d55241a4a453c5e224acc60ff" + integrity sha512-zlWGua8vm7+af4otaSpJlzu0SYIr0aWbL0qICySCDUEKkqig6MqfuI69NYHC0w9ocWZuh2xyj6Rbfy01UqcVSg== -expo-linking@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/expo-linking/-/expo-linking-1.0.3.tgz#8c0f68e89262d09d4b280479010ac21ccfa1e971" - integrity sha512-Bzm8qVlSRBmoQcnveBBLO4ea/AEW4t10WFiJ18m/w8OnEXbsP7WT39UyhTuFsrnjYSLMjW4/JXkfmswBOhISuA== +expo-linking@~1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/expo-linking/-/expo-linking-1.0.5.tgz#c6999c8a245de8bec3936d02d95382804d8ae2ec" + integrity sha512-LH26/ilFU0rCdsO1SJbNqoii3jTBqHdEfSloXhEb73aKdQT2BG6z5IjFIQXV2RiCmxNJbotdbfXyWSPqPoCEwg== dependencies: - expo-constants "~9.1.1" + expo-constants "~9.2.0" qs "^6.5.0" url-parse "^1.4.4" -expo-location@~8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/expo-location/-/expo-location-8.2.1.tgz#5ea6bfd3d211939117416da151f1384caa15e0db" - integrity sha512-MixKapt3nijAxyjIISscBzdKi8bwh0H/dWYsL2mCofrjguFHOh2gP07h95902lekb7NVqybl5AIQRW5cvrG4rQ== - dependencies: - invariant "^2.2.4" - -expo-permissions@~9.0.1: +expo-location@~9.0.0: version "9.0.1" - resolved "https://registry.yarnpkg.com/expo-permissions/-/expo-permissions-9.0.1.tgz#dc10b58654bbe39bbbed5827369942b01b08055e" - integrity sha512-CosJgy8XQRN/OFG2JTQDcFxz3XTGi27coCMym/hVXWtQfk0z6PwdRG5IXHfLGuSckwIcgmirrwm2+Zc0X3MmNg== + resolved "https://registry.yarnpkg.com/expo-location/-/expo-location-9.0.1.tgz#adf93b8adf5e9dcf9570cba1d66c8e3831329156" + integrity sha512-yl4V2IelxrjG1h3nshkyILwghysNJvvEuR4Of0U7oYAsBrT0cq8NxFuaDemRvqt9Yb19wVFNMoVtYFNpthcqpQ== + +expo-permissions@~9.3.0: + version "9.3.0" + resolved "https://registry.yarnpkg.com/expo-permissions/-/expo-permissions-9.3.0.tgz#b90c7e9e411d306c1c7ba2bae18d5c53c201affd" + integrity sha512-ylSJZVvEGJVFTKsFrUL2S6gCvFt+/o8TJ3xT4WaMjHe2/2Z7R8ng6NR47Kt54t7XBIV/SZ7DIY9uRiR7TPuNYA== expo-pwa@0.0.33: version "0.0.33" @@ -7487,73 +7641,82 @@ expo-pwa@0.0.33: fs-extra "9.0.0" update-check "1.5.3" -expo-splash-screen@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.3.1.tgz#4dd79d9d1ab8135281f7cc5889a68e3003223f37" - integrity sha512-j87n6utSq8irvx9dA3YvFwHsqT9c/Cc/QnmpZHB0g3mPh3QBWReKgR3x41tHnkLMKHAi9Au9D4k/o615kUNeDg== +expo-pwa@0.0.50: + version "0.0.50" + resolved "https://registry.yarnpkg.com/expo-pwa/-/expo-pwa-0.0.50.tgz#b41144deca472e0e34f7f828f089d4e7c2fc17bc" + integrity sha512-guj2/Hw224UkUBWQW1LsH5sK9n8Ohlauvpi634x41W+DCj5HsIlElI6pUyTTIBbm6zpBE19p7nP9LWpMem9lsQ== dependencies: - "@expo/configure-splash-screen" "~0.1.0" + "@expo/config" "3.3.15" + "@expo/image-utils" "0.3.7" + "@expo/json-file" "8.2.24" + chalk "^4.0.0" + commander "2.20.0" + fs-extra "9.0.0" + update-check "1.5.3" -expo-splash-screen@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.5.0.tgz#cad0eb77a3eade2c7101d169b8655e7ee8053c2f" - integrity sha512-MqYHCbqGtmnA/b+D2JQHxeQzlSfbU4SAGQ2DmzmaBekqRMkRrVrsiBXF7b3wpHTW6R3pC5lsXoH9vq91e5a9xg== +expo-splash-screen@~0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.6.2.tgz#2be7fc28ad62549e870c69f1fe133ebe756c524f" + integrity sha512-Rvi+aiVDztFyLh5fYJYcZxVuQNDCy6ATSTfxuch5uVQ1jA9/vjVzUKG4iZCoChaSCnMV56aFftHBWSDNWPvLFQ== dependencies: - "@expo/configure-splash-screen" "0.1.13" + "@expo/configure-splash-screen" "0.2.0" -expo-sqlite@~8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/expo-sqlite/-/expo-sqlite-8.2.1.tgz#69bbbe46dbb51cc80b0bccd71741925f2b52b2c0" - integrity sha512-HtkcID2knsWD7RJFNLxIYzDgOah0YNPbqaHBLyiR/s7DCCwmHtAZAtNFMHc9IGvri1HIk73ZQK3xBEE05pDlbA== +expo-sqlite@~8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/expo-sqlite/-/expo-sqlite-8.4.0.tgz#999cedfc8c28fbbf883a14f8d3f292f74a6bb38a" + integrity sha512-c3H4Nv75vJpu10ENu8M94EQpUi7GgyRLGdjSr1DZ2ZrPz4nwMWLfkfrsWfVHbRK5s/1soqd440ePwZto/hOVmQ== dependencies: "@expo/websql" "^1.0.1" lodash "^4.17.15" -expo@^38.0.0: - version "38.0.9" - resolved "https://registry.yarnpkg.com/expo/-/expo-38.0.9.tgz#dac9e4ccee0b86747b71c1b3a827d60fe340c81e" - integrity sha512-xT9h62Vi5e7nqbX+zWCqVw09wCOvoLJTy4cAw3ZE41ENidqCjZAYXv1DXx2LvQcGjZdarHkT2TzJZfl6zHFxDw== +expo-status-bar@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/expo-status-bar/-/expo-status-bar-1.0.2.tgz#2441a77c56be31597898337b0d086981f2adefd8" + integrity sha512-5313u744GcLzCadxIPXyTkYw77++UXv1dXCuhYDxDbtsEf93iMra7WSvzyE8a7mRQLIIPRuGnBOdrL/V1C7EOQ== + +expo@^39.0.0: + version "39.0.4" + resolved "https://registry.yarnpkg.com/expo/-/expo-39.0.4.tgz#320b7453ac055fc37c64942d5ba442f4e2781993" + integrity sha512-lyd7VSg0DG+I2CwWtOHwhmMwgANoqggqU1ooWRdO4KdWPYA8hWMMsLC2vBBBemKv3PPwxhl9hhzFxtjJ/MaR7g== dependencies: "@babel/runtime" "^7.1.2" "@expo/vector-icons" "^10.0.2" - "@unimodules/core" "~5.3.0" - "@unimodules/react-native-adapter" "~5.4.0" - babel-preset-expo "~8.2.3" + "@unimodules/core" "~5.5.1" + "@unimodules/react-native-adapter" "~5.6.0" + babel-preset-expo "~8.3.0" badgin "^1.1.2" cross-spawn "^6.0.5" - expo-asset "~8.1.7" - expo-constants "~9.1.1" - expo-error-recovery "~1.2.1" - expo-file-system "~9.0.1" - expo-font "~8.2.1" - expo-keep-awake "~8.2.1" - expo-linear-gradient "~8.2.1" - expo-linking "~1.0.3" - expo-location "~8.2.1" - expo-permissions "~9.0.1" - expo-splash-screen "^0.5.0" - expo-sqlite "~8.2.1" + expo-asset "~8.2.0" + expo-constants "~9.2.0" + expo-error-recovery "~1.3.0" + expo-file-system "~9.2.0" + expo-font "~8.3.0" + expo-keep-awake "~8.3.0" + expo-linear-gradient "~8.3.0" + expo-linking "~1.0.4" + expo-location "~9.0.0" + expo-permissions "~9.3.0" + expo-splash-screen "~0.6.2" + expo-sqlite "~8.4.0" fbemitter "^2.1.1" invariant "^2.2.2" lodash "^4.6.0" md5-file "^3.2.3" nullthrows "^1.1.0" pretty-format "^23.6.0" - prop-types "^15.6.0" - react-native-appearance "~0.3.3" - react-native-safe-area-context "~3.0.7" + react-native-safe-area-context "3.1.4" serialize-error "^2.1.0" - unimodules-app-loader "~1.2.0" - unimodules-barcode-scanner-interface "~5.2.1" - unimodules-camera-interface "~5.2.1" - unimodules-constants-interface "~5.2.1" - unimodules-face-detector-interface "~5.2.1" - unimodules-file-system-interface "~5.2.1" - unimodules-font-interface "~5.2.1" - unimodules-image-loader-interface "~5.2.1" - unimodules-permissions-interface "~5.2.1" - unimodules-sensors-interface "~5.2.1" - unimodules-task-manager-interface "~5.2.1" + unimodules-app-loader "~1.3.0" + unimodules-barcode-scanner-interface "~5.3.0" + unimodules-camera-interface "~5.3.0" + unimodules-constants-interface "~5.3.0" + unimodules-face-detector-interface "~5.3.0" + unimodules-file-system-interface "~5.3.0" + unimodules-font-interface "~5.3.0" + unimodules-image-loader-interface "~5.3.0" + unimodules-permissions-interface "~5.3.0" + unimodules-sensors-interface "~5.3.0" + unimodules-task-manager-interface "~5.3.0" uuid "^3.4.0" express@4.16.4: @@ -8601,13 +8764,6 @@ graphql@0.13.2: dependencies: iterall "^1.2.1" -graphql@^14.0.0: - version "14.7.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.7.0.tgz#7fa79a80a69be4a31c27dda824dc04dac2035a72" - integrity sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA== - dependencies: - iterall "^1.2.2" - gud@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" @@ -8810,10 +8966,17 @@ he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hermes-engine@~0.4.0: - version "0.4.3" - resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.4.3.tgz#1754932f989daddd149172600f01e69cb8f27298" - integrity sha512-qkk85ezG+w70C3tQ4iDs22B8talvByGeJQ1VIb2KG5+rMZWVizRq6r+NYptOC/HWAFxkdYb6F3OPca7RxvjYew== +hermes-engine@~0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.5.1.tgz#601115e4b1e0a17d9aa91243b96277de4e926e09" + integrity sha512-hLwqh8dejHayjlpvZY40e1aDCDvyP98cWx/L5DhAjSJLH8g4z9Tp08D7y4+3vErDsncPOdf1bxm+zUWpx0/Fxg== + +hermes-profile-transformer@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz#bd0f5ecceda80dd0ddaae443469ab26fb38fc27b" + integrity sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ== + dependencies: + source-map "^0.7.3" hex-color-regex@^1.1.0: version "1.1.0" @@ -9914,7 +10077,7 @@ iterall@1.2.2: resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7" integrity sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA== -iterall@^1.1.3, iterall@^1.2.1, iterall@^1.2.2: +iterall@^1.1.3, iterall@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== @@ -10901,6 +11064,20 @@ metro-babel-register@0.58.0: core-js "^2.2.2" escape-string-regexp "^1.0.5" +metro-babel-register@0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.59.0.tgz#2bcff65641b36794cf083ba732fbc46cf870fb43" + integrity sha512-JtWc29erdsXO/V3loenXKw+aHUXgj7lt0QPaZKPpctLLy8kcEpI/8pfXXgVK9weXICCpCnYtYncIosAyzh0xjg== + dependencies: + "@babel/core" "^7.0.0" + "@babel/plugin-proposal-class-properties" "^7.0.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" + "@babel/plugin-proposal-optional-chaining" "^7.0.0" + "@babel/plugin-transform-flow-strip-types" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/register" "^7.0.0" + escape-string-regexp "^1.0.5" + metro-babel-transformer@0.58.0: version "0.58.0" resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.58.0.tgz#317c83b863cceb0573943815f1711fbcbe69b106" @@ -10909,6 +11086,14 @@ metro-babel-transformer@0.58.0: "@babel/core" "^7.0.0" metro-source-map "0.58.0" +metro-babel-transformer@0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.59.0.tgz#dda99c75d831b00142c42c020c51c103b29f199d" + integrity sha512-fdZJl8rs54GVFXokxRdD7ZrQ1TJjxWzOi/xSP25VR3E8tbm3nBZqS+/ylu643qSr/IueABR+jrlqAyACwGEf6w== + dependencies: + "@babel/core" "^7.0.0" + metro-source-map "0.59.0" + metro-cache@0.58.0: version "0.58.0" resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.58.0.tgz#630ea0a4626dfb9591c71fdb85dce14b5e9a04ec" @@ -10959,7 +11144,7 @@ metro-minify-uglify@0.58.0: dependencies: uglify-es "^3.1.9" -metro-react-native-babel-preset@0.58.0, metro-react-native-babel-preset@^0.58.0: +metro-react-native-babel-preset@0.58.0: version "0.58.0" resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.58.0.tgz#18f48d33fe124280ffabc000ab8b42c488d762a2" integrity sha512-MRriNW+fF6jxABsgPphocUY6mIhmCm8idcrQZ58fT3Iti2vCdtkaK32TyCGUNUptzhUe2/cbE57j4aC+eaodAA== @@ -11000,7 +11185,62 @@ metro-react-native-babel-preset@0.58.0, metro-react-native-babel-preset@^0.58.0: "@babel/template" "^7.0.0" react-refresh "^0.4.0" -metro-react-native-babel-transformer@0.58.0, metro-react-native-babel-transformer@^0.58.0: +metro-react-native-babel-preset@0.59.0, metro-react-native-babel-preset@~0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.59.0.tgz#20e020bc6ac9849e1477de1333d303ed42aba225" + integrity sha512-BoO6ncPfceIDReIH8pQ5tQptcGo5yRWQXJGVXfANbiKLq4tfgdZB1C1e2rMUJ6iypmeJU9dzl+EhPmIFKtgREg== + dependencies: + "@babel/plugin-proposal-class-properties" "^7.0.0" + "@babel/plugin-proposal-export-default-from" "^7.0.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" + "@babel/plugin-proposal-optional-chaining" "^7.0.0" + "@babel/plugin-syntax-dynamic-import" "^7.0.0" + "@babel/plugin-syntax-export-default-from" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.2.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0" + "@babel/plugin-syntax-optional-chaining" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.0.0" + "@babel/plugin-transform-exponentiation-operator" "^7.0.0" + "@babel/plugin-transform-flow-strip-types" "^7.0.0" + "@babel/plugin-transform-for-of" "^7.0.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-object-assign" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-react-jsx-self" "^7.0.0" + "@babel/plugin-transform-react-jsx-source" "^7.0.0" + "@babel/plugin-transform-regenerator" "^7.0.0" + "@babel/plugin-transform-runtime" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-sticky-regex" "^7.0.0" + "@babel/plugin-transform-template-literals" "^7.0.0" + "@babel/plugin-transform-typescript" "^7.5.0" + "@babel/plugin-transform-unicode-regex" "^7.0.0" + "@babel/template" "^7.0.0" + react-refresh "^0.4.0" + +metro-react-native-babel-transformer@0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.59.0.tgz#9b3dfd6ad35c6ef37fc4ce4d20a2eb67fabbb4be" + integrity sha512-1O3wrnMq4NcPQ1asEcl9lRDn/t+F1Oef6S9WaYVIKEhg9m/EQRGVrrTVP+R6B5Eeaj3+zNKbzM8Dx/NWy1hUbQ== + dependencies: + "@babel/core" "^7.0.0" + babel-preset-fbjs "^3.3.0" + metro-babel-transformer "0.59.0" + metro-react-native-babel-preset "0.59.0" + metro-source-map "0.59.0" + +metro-react-native-babel-transformer@^0.58.0: version "0.58.0" resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.58.0.tgz#5da0e5a1b83c01d11626905fa59f34fda53a21a5" integrity sha512-3A73+cRq1eUPQ8g+hPNGgMUMCGmtQjwqHfoG1DwinAoJ/kr4WOXWWbGZo0xHJNBe/zdHGl0uHcDCp2knPglTdQ== @@ -11031,6 +11271,19 @@ metro-source-map@0.58.0: source-map "^0.5.6" vlq "^1.0.0" +metro-source-map@0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.59.0.tgz#e9beb9fc51bfb4e060f95820cf1508fc122d23f7" + integrity sha512-0w5CmCM+ybSqXIjqU4RiK40t4bvANL6lafabQ2GP2XD3vSwkLY+StWzCtsb4mPuyi9R/SgoLBel+ZOXHXAH0eQ== + dependencies: + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + invariant "^2.2.4" + metro-symbolicate "0.59.0" + ob1 "0.59.0" + source-map "^0.5.6" + vlq "^1.0.0" + metro-symbolicate@0.58.0: version "0.58.0" resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.58.0.tgz#ba9fd52549c41fc1b656adaad7c8875726dd5abe" @@ -11042,6 +11295,17 @@ metro-symbolicate@0.58.0: through2 "^2.0.1" vlq "^1.0.0" +metro-symbolicate@0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.59.0.tgz#fc7f93957a42b02c2bfc57ed1e8f393f5f636a54" + integrity sha512-asLaF2A7rndrToGFIknL13aiohwPJ95RKHf0NM3hP/nipiLDoMzXT6ZnQvBqDxkUKyP+51AI75DMtb+Wcyw4Bw== + dependencies: + invariant "^2.2.4" + metro-source-map "0.59.0" + source-map "^0.5.6" + through2 "^2.0.1" + vlq "^1.0.0" + metro@0.58.0, metro@^0.58.0: version "0.58.0" resolved "https://registry.yarnpkg.com/metro/-/metro-0.58.0.tgz#c037318c112f80dc96199780c8b401ab72cfd142" @@ -11805,6 +12069,11 @@ ob1@0.58.0: resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.58.0.tgz#484a1e9a63a8b79d9ea6f3a83b2a42110faac973" integrity sha512-uZP44cbowAfHafP1k4skpWItk5iHCoRevMfrnUvYCfyNNPPJd3rfDCyj0exklWi2gDXvjlj2ObsfiqP/bs/J7Q== +ob1@0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.59.0.tgz#ee103619ef5cb697f2866e3577da6f0ecd565a36" + integrity sha512-opXMTxyWJ9m68ZglCxwo0OPRESIC/iGmKFPXEXzMZqsVIrgoRXOHmoMDkQzz4y3irVjbyPJRAh5pI9fd0MJTFQ== + object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -13163,6 +13432,13 @@ promise@^7.1.1: dependencies: asap "~2.0.3" +promise@^8.0.3: + version "8.1.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e" + integrity sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q== + dependencies: + asap "~2.0.6" + prompts@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" @@ -13171,7 +13447,7 @@ prompts@^2.3.2: kleur "^3.0.3" sisteransi "^1.0.4" -prop-types@15.7.2, prop-types@^15.5.10, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.5.10, prop-types@^15.6.0, prop-types@^15.6.1, 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== @@ -13431,10 +13707,10 @@ react-dev-utils@10.2.1, react-dev-utils@^10.0.0, react-dev-utils@~10.2.1: strip-ansi "6.0.0" text-table "0.2.0" -react-devtools-core@^4.0.6: - version "4.8.2" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.8.2.tgz#4465f2e8de7795564aa20f28b2f3a9737586db23" - integrity sha512-3Lv3nI8FPAwKqUco35oOlgf+4j8mgYNnIcDv2QTfxEqg2G69q17ZJ8ScU9aBnymS28YC1OW+kTxLmdIQeTN8yg== +react-devtools-core@^4.6.0: + version "4.10.0" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.10.0.tgz#027ed231f851e5e9d697812bb905648ab822ec48" + integrity sha512-5m5VBtpjuHI7odyk3GAR3BJq3/IHQ0fVZ0+h8zUvoHulSj7Z9hp9d9n4Y1HmSZZxv7NUKfBtsnH+NfLNFDtfog== dependencies: shell-quote "^1.6.1" ws "^7" @@ -13479,17 +13755,7 @@ react-docgen@^5.0.0: node-dir "^0.1.10" strip-indent "^3.0.0" -react-dom@16.11.0: - version "16.11.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.11.0.tgz#7e7c4a5a85a569d565c2462f5d345da2dd849af5" - integrity sha512-nrRyIUE1e7j8PaXSPtyRKtz+2y9ubW/ghNgqKFHHAHaeP0fpF5uXR+sq8IMRHC+ZUxw7W9NyCDTBtwWxvkb0iA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.17.0" - -react-dom@^16.8.3: +react-dom@16.13.1, react-dom@^16.8.3: version "16.13.1" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f" integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag== @@ -13562,49 +13828,55 @@ react-lifecycles-compat@^3.0.4: resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== -react-native-appearance@~0.3.3: - version "0.3.4" - resolved "https://registry.yarnpkg.com/react-native-appearance/-/react-native-appearance-0.3.4.tgz#2cbcbc5142cdc1898c116684f519b16c879cbec2" - integrity sha512-Vz3zdJbAEiMDwuw6wH98TT1WVfBvWjvANutYtkIbl16KGRCigtSgt6IIiLsF3/TSS3y3FtHhWDelFeGw/rtuig== +react-native-animatable@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/react-native-animatable/-/react-native-animatable-1.3.3.tgz#a13a4af8258e3bb14d0a9d839917e9bb9274ec8a" + integrity sha512-2ckIxZQAsvWn25Ho+DK3d1mXIgj7tITkrS4pYDvx96WyOttSvzzFeQnM2od0+FUMzILbdHDsDEqZvnz1DYNQ1w== dependencies: - fbemitter "^2.1.1" - invariant "^2.2.4" - use-subscription "^1.0.0" + prop-types "^15.7.2" -react-native-safe-area-context@~3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-3.0.7.tgz#0f53de7a30d626d82936000f3f6db374ecc4b800" - integrity sha512-dqhRTlIFe5+P1yxitj0C9XVUxLqOmjomeqzUSSY8sNOWVjtIhEY/fl4ZKYpAVnktd8dt3zl13XmJTmRmy3d0uA== +react-native-modal@^11.5.6: + version "11.5.6" + resolved "https://registry.yarnpkg.com/react-native-modal/-/react-native-modal-11.5.6.tgz#bb25a78c35a5e24f45de060e5f64284397d38a87" + integrity sha512-APGNfbvgC4hXbJqcSADu79GLoMKIHUmgR3fDQ7rCGZNBypkStSP8imZ4PKK/OzIZZfjGU9aP49jhMgGbhY9KHA== + dependencies: + prop-types "^15.6.2" + react-native-animatable "1.3.3" -react-native-unimodules@~0.10.1: - version "0.10.1" - resolved "https://registry.yarnpkg.com/react-native-unimodules/-/react-native-unimodules-0.10.1.tgz#05a5ef248e88589528e7ef925137a345dde96ca4" - integrity sha512-U/GexLJWwDOXhsvSSz197gPVRoNVK4tY1cjvZC+748Q4mvc9v4ztB7niKaoaEbNdTjB/pE2NYlZW4013d1wQNw== +react-native-safe-area-context@3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-3.1.4.tgz#9b7f883a5ae8da6218d17467a350434005893602" + integrity sha512-bXx3hqz4LovFoMnJIRGIWL2oJ/PHadXviBKvgZV9yNErtURQLJSn0yfQytVtiqslhaBMZOJwH4R6HiClyofvBg== + +react-native-unimodules@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/react-native-unimodules/-/react-native-unimodules-0.11.0.tgz#78483ee4e7eb27b439d34c3ba7455f40087ff166" + integrity sha512-iIxcr9TmgciM/lzOvak+lBkdeGKw74kbMIkr1zxKskhOwLq19kGtYl0/DQm+jcwbsEzTX83SaEPX0C0jqbfb/A== dependencies: - "@unimodules/core" "~5.3.0" - "@unimodules/react-native-adapter" "~5.4.0" + "@unimodules/core" "~5.5.0" + "@unimodules/react-native-adapter" "~5.6.0" chalk "^2.4.2" - expo-asset "~8.1.7" - expo-constants "~9.1.1" - expo-file-system "~9.0.1" - expo-image-loader "~1.1.1" - expo-permissions "~9.0.1" - unimodules-app-loader "~1.2.0" - unimodules-barcode-scanner-interface "~5.2.1" - unimodules-camera-interface "~5.2.1" - unimodules-constants-interface "~5.2.1" - unimodules-face-detector-interface "~5.2.1" - unimodules-file-system-interface "~5.2.1" - unimodules-font-interface "~5.2.1" - unimodules-image-loader-interface "~5.2.1" - unimodules-permissions-interface "~5.2.1" - unimodules-sensors-interface "~5.2.1" - unimodules-task-manager-interface "~5.2.1" - -react-native-web@0.13: - version "0.13.12" - resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.13.12.tgz#3a2bb7ce0e21d5ac22f7761743a971ac3435fc3c" - integrity sha512-o0HZqb9iVAdO0wr1QyyBgdHTEknwKAqPXtWTFq1SqAe2lYcMhA2a3SFscWReD2ONgu+cbDVC3O6kOmQ4pI/h+g== + expo-asset "~8.2.0" + expo-constants "~9.2.0" + expo-file-system "~9.2.0" + expo-image-loader "~1.2.0" + expo-permissions "~9.3.0" + unimodules-app-loader "~1.3.0" + unimodules-barcode-scanner-interface "~5.3.0" + unimodules-camera-interface "~5.3.0" + unimodules-constants-interface "~5.3.0" + unimodules-face-detector-interface "~5.3.0" + unimodules-file-system-interface "~5.3.0" + unimodules-font-interface "~5.3.0" + unimodules-image-loader-interface "~5.3.0" + unimodules-permissions-interface "~5.3.0" + unimodules-sensors-interface "~5.3.0" + unimodules-task-manager-interface "~5.3.0" + +react-native-web@~0.13.7: + version "0.13.18" + resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.13.18.tgz#964f058a16521a3b9a31b091415edfef5b6ef305" + integrity sha512-WR/0ECAmwLQ2+2cL2Ur+0/swXFAtcSM0URoADJmG6D4MnY+wGc91JO8LoOTlgY0USBOY+qG/beRrjFa+RAuOiA== dependencies: array-find-index "^1.0.2" create-react-class "^15.6.2" @@ -13616,39 +13888,35 @@ react-native-web@0.13: prop-types "^15.6.0" react-timer-mixin "^0.13.4" -react-native@0.62.2: - version "0.62.2" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.62.2.tgz#d831e11a3178705449142df19a70ac2ca16bad10" - integrity sha512-gADZZ3jcm2WFTjh8CCBCbl5wRSbdxqZGd+8UpNwLQFgrkp/uHorwAhLNqcd4+fHmADgPBltNL0uR1Vhv47zcOw== +react-native@0.63.3: + version "0.63.3" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.63.3.tgz#4a7f6540e049ff41810887bbd1125abc4672f3bf" + integrity sha512-71wq13uNo5W8QVQnFlnzZ3AD+XgUBYGhpsxysQFW/hJ8GAt/J5o+Bvhy81FXichp6IBDJDh/JgfHH2gNji8dFA== dependencies: "@babel/runtime" "^7.0.0" - "@react-native-community/cli" "^4.5.1" - "@react-native-community/cli-platform-android" "^4.5.1" - "@react-native-community/cli-platform-ios" "^4.5.0" + "@react-native-community/cli" "^4.10.0" + "@react-native-community/cli-platform-android" "^4.10.0" + "@react-native-community/cli-platform-ios" "^4.10.0" abort-controller "^3.0.0" anser "^1.4.9" base64-js "^1.1.2" - connect "^3.6.5" - create-react-class "^15.6.3" - escape-string-regexp "^1.0.5" - eslint-plugin-relay "1.4.1" event-target-shim "^5.0.1" fbjs "^1.0.0" fbjs-scripts "^1.1.0" - hermes-engine "~0.4.0" + hermes-engine "~0.5.0" invariant "^2.2.4" jsc-android "^245459.0.0" - metro-babel-register "0.58.0" - metro-react-native-babel-transformer "0.58.0" - metro-source-map "0.58.0" + metro-babel-register "0.59.0" + metro-react-native-babel-transformer "0.59.0" + metro-source-map "0.59.0" nullthrows "^1.1.1" - pretty-format "^24.7.0" - promise "^7.1.1" + pretty-format "^24.9.0" + promise "^8.0.3" prop-types "^15.7.2" - react-devtools-core "^4.0.6" + react-devtools-core "^4.6.0" react-refresh "^0.4.0" regenerator-runtime "^0.13.2" - scheduler "0.17.0" + scheduler "0.19.1" stacktrace-parser "^0.1.3" use-subscription "^1.0.0" whatwg-fetch "^3.0.0" @@ -13679,6 +13947,11 @@ react-refresh@^0.4.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.3.tgz#966f1750c191672e76e16c2efa569150cc73ab53" integrity sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA== +react-refresh@^0.8.2: + version "0.8.3" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" + integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== + react-sizeme@^2.6.7: version "2.6.12" resolved "https://registry.yarnpkg.com/react-sizeme/-/react-sizeme-2.6.12.tgz#ed207be5476f4a85bf364e92042520499455453e" @@ -13714,16 +13987,7 @@ react-timer-mixin@^0.13.4: resolved "https://registry.yarnpkg.com/react-timer-mixin/-/react-timer-mixin-0.13.4.tgz#75a00c3c94c13abe29b43d63b4c65a88fc8264d3" integrity sha512-4+ow23tp/Tv7hBM5Az5/Be/eKKF7DIvJ09voz5LyHGQaqqz9WV8YMs31eFvcYQs7d451LSg7kDJV70XYN/Ug/Q== -react@16.11.0: - version "16.11.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.11.0.tgz#d294545fe62299ccee83363599bf904e4a07fdbb" - integrity sha512-M5Y8yITaLmU0ynd0r1Yvfq98Rmll6q8AxaEe88c8e7LxO8fZ2cNgmFt0aGAS9wzf1Ao32NKXtCl+/tVVtkxq6g== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - -react@^16.8.3: +react@16.13.1, react@^16.8.3: version "16.13.1" resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w== @@ -14094,6 +14358,11 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" @@ -14352,15 +14621,7 @@ sax@>=0.6.0, sax@^1.2.1, sax@^1.2.4, sax@~1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -scheduler@0.17.0, scheduler@^0.17.0: - version "0.17.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.17.0.tgz#7c9c673e4ec781fac853927916d1c426b6f3ddfe" - integrity sha512-7rro8Io3tnCPuY4la/NuI5F2yfESpnfZyT6TtkXnSWVkcu0BCDJ+8gk5ozUaFaxpIyNuWAPXrH0yFcSi28fnDA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -scheduler@^0.19.1: +scheduler@0.19.1, scheduler@^0.19.1: version "0.19.1" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== @@ -15887,60 +16148,60 @@ unified@9.1.0: trough "^1.0.0" vfile "^4.0.0" -unimodules-app-loader@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unimodules-app-loader/-/unimodules-app-loader-1.2.0.tgz#e3ab8942000b0a0ee3bef2faff7e7e276d84c86a" - integrity sha512-TZCFuyOfX/iVJf3uhy2WmGnQFUGgsfkVRzUb7mCxPTqqdyvqT7aXxCGM3gY+3Y8dPdCRGoG+EA2vrOe3aLU0qw== +unimodules-app-loader@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/unimodules-app-loader/-/unimodules-app-loader-1.3.0.tgz#e9cdeff012a4460032ed6462c01ca1eb6fe7402c" + integrity sha512-PAQcbm0KVuqj9M5Vryo8rEJXe1VGWy7yWFUmjpdfvbhWO1JeDZUNiVXdP9M4NfISJfWcVcZ2Rfdfpqiubaz8rQ== -unimodules-barcode-scanner-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-barcode-scanner-interface/-/unimodules-barcode-scanner-interface-5.2.1.tgz#95b90ed96b7c97b2ce48925f28e478781e9165ea" - integrity sha512-7gLHsZ4vkQ5utDmsiBK4jgqBd2+9V7y/iHqi7P2Aqz21RomJF9ruWJMo6R6k2+14IayFbtZGU2+aRx2w/1SAGg== +unimodules-barcode-scanner-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-barcode-scanner-interface/-/unimodules-barcode-scanner-interface-5.3.0.tgz#2ea73cd35c7b45160efd2aaa76c432b7655bfc04" + integrity sha512-nxWbLXv3JpkGS9I9REcEPk4vQNAbbLnstn1JVHs9agKP0IrNPQVmgqk1RWRdU6DM5QwaB+lb3jWVFVwHrI/NmA== -unimodules-camera-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-camera-interface/-/unimodules-camera-interface-5.2.1.tgz#c46bb4319ab71751275fd581e88e7f93892a34f2" - integrity sha512-ugdWuv1FO6BZTGMIzE2KvA6x5h1CHguRKWJBeYfO8Ih/S51eE7jEyV+kO+xXROFNzWhkcKRJdQp1AutiJBDLtg== +unimodules-camera-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-camera-interface/-/unimodules-camera-interface-5.3.0.tgz#1499b6d9d053c2d84d627b47b9cab55cbb2dd03e" + integrity sha512-rDzGUdAP9gfs1sgBmFRh1z2tkrwL0nVfEH81DAMir1216ZcmL7oYvLWUjQn9CAzUKhj5R6/G8D7/TrgY5qERBQ== -unimodules-constants-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-constants-interface/-/unimodules-constants-interface-5.2.1.tgz#fa8af66276fa6784bba0a8c7d7235bdab9f88ce8" - integrity sha512-rQCtVHUVXcjMQWdDlWmOTiKMPNygagq/73U/jt6LqfQLVglx7wMjPWSndgjp3xyM34f6hrydeWXYP6rUgDY0lg== +unimodules-constants-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-constants-interface/-/unimodules-constants-interface-5.3.0.tgz#a3509f52585ff27b1badee9692d2705b01168120" + integrity sha512-zE/iMu72Yo4fnVIpcsdfJowhXk08n7XBj1Mg5MC9G+SSkBqcIIk5xpm0H7/FqUfWmOVTeNEcoWYkBE/vu0p3mQ== -unimodules-face-detector-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-face-detector-interface/-/unimodules-face-detector-interface-5.2.1.tgz#19b909771bd413e525e5d3934be64f513dfca560" - integrity sha512-6FQQCKzEE2FyVW2HrfJfQTipaBWEi7yV6Fpor9aNj362kzbiEewrDH6b6XT3eBR3xiPbAHzNu6FIfA93X/jfWA== +unimodules-face-detector-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-face-detector-interface/-/unimodules-face-detector-interface-5.3.0.tgz#426484ef8c9c71f6e14bd664f5ed546868711326" + integrity sha512-CL0FgDXDjFRBe8nlnVRwqpbYmY/d/86nSQU+s36Cc6Vkm8PWxJAooTImhEqBlVI4ldhkBIvPBiJcTgrv7kbaWg== -unimodules-file-system-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-file-system-interface/-/unimodules-file-system-interface-5.2.1.tgz#8ce9ca10bc1de91a5824b324bff879e344c6d183" - integrity sha512-Z+hMrWIbTxPiOF7B7x+1bNelsJxxt/qpG3hg/bZjeC5LG6tfiqDHqnMg/Fp1U+ykeV8RoqkHBgzIMJ8seSEdFg== +unimodules-file-system-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-file-system-interface/-/unimodules-file-system-interface-5.3.0.tgz#29f9cc0bd6d807da77d19ca03dc810237fbb53dc" + integrity sha512-mi4oWzO6/BDnu26HZ8FtGnBqfaoDUP1TL0ouHL0Pgv5QpXD/to2WrO7I01Z3TRjh50Um5C9gcLpt/rDyTurzag== -unimodules-font-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-font-interface/-/unimodules-font-interface-5.2.1.tgz#7f16100a693a42fc5190bdf11c79158183a5226d" - integrity sha512-dRtXGySUqGeGNRd49rc9GYXjxf/c370mAhdDIxDLWUy+HcQfBRwawweAdpSpTmqC9ksXMbsS0X3CyjY1fv0ufQ== +unimodules-font-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-font-interface/-/unimodules-font-interface-5.3.0.tgz#4c545216a87fcd079c0c467f560f81d3e2f81265" + integrity sha512-HgxeJ5t/MBOxbAMWW7mfr4XHp+8TFH+eh7iUceIdCWF0rldNq8V+r8vkq1/SaD6EMZ1F4HY0WjDpVA3mOpJfwQ== -unimodules-image-loader-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-image-loader-interface/-/unimodules-image-loader-interface-5.2.1.tgz#e9fb5aab55c6cd38cf2d67840d83856ca636c74c" - integrity sha512-e1yFtuVeVgwlsxWtuE+8uuThAERjB8d3VKF4XUtmOqTGV3+r1MxuV4/R5PmHLmfCa0vJlCpXITi9GeknWE0Yvg== +unimodules-image-loader-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-image-loader-interface/-/unimodules-image-loader-interface-5.3.0.tgz#a661beb5aee4b8fa6057861db359b65ad38cfc03" + integrity sha512-xVunpdS2ZMhAL5FQWNspUaKar0lXIBcE9PEDlX+eTN7Q1MampkVbx+gauCv1YQaFHPqJ9KtqodgpAvMlnMhgqw== -unimodules-permissions-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-permissions-interface/-/unimodules-permissions-interface-5.2.1.tgz#97e3259d6322f4e2200685eb4b235275378e8b87" - integrity sha512-uBbcriIBdY2kMmVKgSZePDKkM2fviSCKcHnje8wBPK6O/n2UlocVpq4DJjt13KK3YcEMHUAK+D73b12zbfOUTw== +unimodules-permissions-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-permissions-interface/-/unimodules-permissions-interface-5.3.0.tgz#b7576c9143dd20f7d9dfa2346eda10841e439505" + integrity sha512-DxgzzRp/3JzIyKYsfQpuWuesl4EYEx6nRZRMk6pWudfsvYu51RKOv5jwY4KskpW7sDGo6xHmiwQ6KCJu9UMQBA== -unimodules-sensors-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-sensors-interface/-/unimodules-sensors-interface-5.2.1.tgz#00ac952f30de8b4e486afbb01d81c72ece474298" - integrity sha512-GsBJkk+LSpCJ6WIl3Ik5zk1LfflOVE2RYvH7I9XOJsJP7X8Y1urUOFtldjtwWai6nNhlMyXKAFIF4aoBOQii/A== +unimodules-sensors-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-sensors-interface/-/unimodules-sensors-interface-5.3.0.tgz#03fb827ac625a6711523643944d6770ad48b7ce4" + integrity sha512-WtqOED3/bmm+AMXu1xl4TVh1W40uaZSGSlxCZMNLSOkT1Rp38Ci1T2sL+izTq3dJ5kMdl0DsZJ5VtA+CqaKtXg== -unimodules-task-manager-interface@~5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unimodules-task-manager-interface/-/unimodules-task-manager-interface-5.2.1.tgz#85cd7dcbcc152a65a56594b8fb8398ee1473a66d" - integrity sha512-GEjay8yVO5aoh1oNGENVU4F28q2XVPOHYSoz7ZFWlg4maKg5qSNqIAwY9I4fVyd60vbFusq3zjeTPK5fGp0dWg== +unimodules-task-manager-interface@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/unimodules-task-manager-interface/-/unimodules-task-manager-interface-5.3.0.tgz#126a2c177a1aebb5d0be86a3a99b324a347fca4a" + integrity sha512-Q0mRH9a34eLA1xBVjy54Pkl3KmQAEoc4mrhsaIdAyJvJCDsT+UINBlRi5i8EHA8QY4jTd+fv9nHkHnDHQiWjtA== union-value@^1.0.0: version "1.0.1" diff --git a/src/Components/createInputText.tsx b/src/Components/createInputText.tsx index 7801a34..b325be7 100644 --- a/src/Components/createInputText.tsx +++ b/src/Components/createInputText.tsx @@ -1,21 +1,56 @@ import React from 'react'; -import { TextInput } from 'react-native'; +import { TextInput, TextInputProps } from 'react-native'; +import type { colorType, ThemableTextStyle } from '../theme/themeTypes'; import type themeType from '../theme/theme'; -import type { InputProps } from '../theme/themeTypes'; import createTextStyle from '../themeUtils/createTextStyle'; +export type ThemedInputProps = Omit< + TextInputProps, + 'placeholderTextColor' | 'underlineColorAndroid' +>; + +export interface ThemeableTextInputStyle + extends ThemableTextStyle { + placeholderTextColor?: colorType; +} + +export interface InputProps + extends ThemeableTextInputStyle { + nativeProps?: ThemedInputProps; + /** + * @deprecated Use nativeProps instead + */ + textInput?: ThemedInputProps; + underlineColorAndroid?: colorType; +} + +// Warn Users about deprecating press prop +let IS_TEXTINPUT_ALERTED = false; + function createInputText(useTheme: () => T) { const InputText = ({ - textInput = {}, + nativeProps = {}, + textInput, underlineColorAndroid, placeholderTextColor, ...otherProps }: InputProps) => { const theme = useTheme(); + if (textInput && __DEV__ && !IS_TEXTINPUT_ALERTED) { + console.warn( + '`textInput` prop is deprecated in favour of `nativeProps` please refactor your components!' + ); + IS_TEXTINPUT_ALERTED = true; + } + + if (textInput) { + nativeProps = { ...(textInput || {}), ...(nativeProps || {}) }; + } + return ( + extends ThemableTextStyle { + /** + * @deprecated Use nativeProps instead + */ + text?: TextProps; + nativeProps?: TextProps; +} + +// Warn Users about deprecating text prop +let IS_TEXT_ALERTED = false; + function createTextBlock(useTheme: () => T) { const TextBlock = ({ - text = {}, + text, children, + nativeProps = {}, ...otherProps }: TextBlockProps) => { const theme = useTheme(); + if (text && __DEV__ && !IS_TEXT_ALERTED) { + console.warn( + '`press` prop is deprecated in favour of `nativeProps` please refactor your components!' + ); + IS_TEXT_ALERTED = true; + } + + if (text) { + nativeProps = { ...(text || {}), ...(nativeProps || {}) }; + } + return ( - + {children} ); diff --git a/src/Components/createTouchable.tsx b/src/Components/createTouchable.tsx index 1fd9336..62d7944 100644 --- a/src/Components/createTouchable.tsx +++ b/src/Components/createTouchable.tsx @@ -1,9 +1,30 @@ -import React from 'react'; -import { Pressable } from 'react-native'; +import React, { ReactNode } from 'react'; +import { Pressable, PressableProps } from 'react-native'; +import type { ThemableViewStyle } from 'src/LayoutComponents/createBox'; import type themeType from '../theme/theme'; -import type { TouchableProps } from '../theme/themeTypes'; import createViewStyle from '../themeUtils/createViewStyle'; +export type NonThemablePressableProps = Omit< + PressableProps, + 'style' | 'children' +>; + +export interface TouchableProps + extends ThemableViewStyle { + nativeProps?: NonThemablePressableProps; + /** + * @deprecated Use nativeProps instead + */ + press?: NonThemablePressableProps; + inactiveStyle?: ThemableViewStyle; + pressedStyle?: ThemableViewStyle; + pressedChildren?: ReactNode; + inactiveChildren?: ReactNode; +} + +// Warn Users about deprecating press prop +let IS_PRESS_ALERTED = false; + function createTouchable(useTheme: () => T) { const Touchable = ({ children, @@ -11,13 +32,26 @@ function createTouchable(useTheme: () => T) { inactiveChildren, pressedStyle = {}, inactiveStyle = {}, - press = {}, + press, + nativeProps = {}, ...otherProps }: TouchableProps) => { const theme = useTheme(); + + if (press && __DEV__ && !IS_PRESS_ALERTED) { + console.warn( + '`press` prop is deprecated in favour of `nativeProps` please refactor your components!' + ); + IS_PRESS_ALERTED = true; + } + + if (press) { + nativeProps = { ...(press || {}), ...(nativeProps || {}) }; + } + return ( [ createViewStyle(otherProps, theme), pressed diff --git a/src/LayoutComponents/createBox.tsx b/src/LayoutComponents/createBox.tsx index d744ca7..9c0ba32 100644 --- a/src/LayoutComponents/createBox.tsx +++ b/src/LayoutComponents/createBox.tsx @@ -1,15 +1,51 @@ -import React from 'react'; -import { View } from 'react-native'; +import React, { ReactNode } from 'react'; +import { View, ViewProps } from 'react-native'; +import type { + CommonThemableTypes, + nonThemableViewStyles, +} from '../theme/themeTypes'; import type themeType from '../theme/theme'; -import type { BoxProps } from '../theme/themeTypes'; import createViewStyle from '../themeUtils/createViewStyle'; +export interface ThemableViewStyle + extends nonThemableViewStyles, + CommonThemableTypes { + children?: ReactNode; +} + +export interface BoxProps extends ThemableViewStyle { + nativeProps?: ViewProps; + /** + * @deprecated Use nativeProps instead + */ + view?: ViewProps; +} + +// Warn Users about deprecating view prop +let IS_VIEW_ALERTED = false; + function createBox(useTheme: () => T) { - const Box = ({ children, view = {}, ...otherProps }: BoxProps) => { + const Box = ({ + children, + nativeProps = {}, + view, + ...otherProps + }: BoxProps) => { const theme = useTheme(); + if (view && __DEV__ && !IS_VIEW_ALERTED) { + console.warn( + '`textInput` prop is deprecated in favour of `nativeProps` please refactor your components!' + ); + IS_VIEW_ALERTED = true; + } + + if (view) { + nativeProps = { ...(view || {}), ...(nativeProps || {}) }; + } + return ( - + {children} ); diff --git a/src/LayoutComponents/createColumn.tsx b/src/LayoutComponents/createColumn.tsx index 5064e2e..cbd4944 100644 --- a/src/LayoutComponents/createColumn.tsx +++ b/src/LayoutComponents/createColumn.tsx @@ -1,7 +1,6 @@ import React from 'react'; import type themeType from '../theme/theme'; -import type { RowProps } from '../theme/themeTypes'; -import createRow from './createRow'; +import createRow, { RowProps } from './createRow'; function createColumn(useTheme: () => T) { const Row = createRow(useTheme); diff --git a/src/LayoutComponents/createRow.tsx b/src/LayoutComponents/createRow.tsx index b21d0e8..a3a3b7e 100644 --- a/src/LayoutComponents/createRow.tsx +++ b/src/LayoutComponents/createRow.tsx @@ -1,18 +1,43 @@ import React, { Children } from 'react'; -import { View } from 'react-native'; +import { View, ViewProps } from 'react-native'; +import type { spacingType } from '../theme/themeTypes'; import type themeType from '../theme/theme'; -import type { RowProps } from '../theme/themeTypes'; import createViewStyle from '../themeUtils/createViewStyle'; +import type { ThemableViewStyle } from './createBox'; + +export interface RowProps extends ThemableViewStyle { + spacing?: spacingType | number; + nativeProps?: ViewProps; + /** + * @deprecated Use nativeProps instead + */ + view?: ViewProps; +} + +// Warn Users about deprecating view prop +let IS_VIEW_ALERTED = false; function createRow(useTheme: () => T) { const Row = ({ children, spacing, - view = {}, + nativeProps = {}, + view, ...otherProps }: RowProps) => { const theme = useTheme(); + if (view && __DEV__ && !IS_VIEW_ALERTED) { + console.warn( + '`textInput` prop is deprecated in favour of `nativeProps` please refactor your components!' + ); + IS_VIEW_ALERTED = true; + } + + if (view) { + nativeProps = { ...(view || {}), ...(nativeProps || {}) }; + } + const { flexDirection = 'row' } = otherProps; let childElements = Children.map(children, (child) => child); @@ -49,7 +74,7 @@ function createRow(useTheme: () => T) { return ( {childElements} diff --git a/src/index.tsx b/src/index.tsx index 05b8daf..be27d46 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -48,44 +48,16 @@ export default function createTypedComponents( export { defaultDarkTheme, defaultTheme }; -export { - BoxProps, - CommonThemableTypes, - InputProps, - NonThemablePressableProps, - RowProps, - TextBlockProps, - ThemableTextStyle, - ThemableViewStyle, - ThemeableTextInputStyle, - ThemedInputProps, - TouchableProps, - borderRadiusPropsType, - borderRadiusType, - colorType, - colorValuePropsType, - colorValueType, - fontFamilyType, - fontLetterSpacingType, - fontSizesType, - fontStyleValuePropsType, - fontStyleValueType, - fontWeightType, - iconSizesType, - lineHeightType, - nonThemableTextStyles, - nonThemableViewStyles, - omittedTextTypes, - omittedViewTypes, - radiusType, - shadowStyleKeys, - shadowType, - shadowValueType, - spacingType, - spacingValuePropsType, - spacingValueType, - themeModeTypes, - zIndexPropsType, - zIndexValueType, - zIndicesType, -} from './theme/themeTypes'; +export * from './Components/createTouchable'; + +export * from './Components/createInputText'; + +export * from './Components/createTextBlock'; + +export * from './LayoutComponents/createBox'; + +export * from './LayoutComponents/createRow'; + +export * from './LayoutComponents/createColumn'; + +export * from './theme/themeTypes'; diff --git a/src/theme/themeTypes.ts b/src/theme/themeTypes.ts index d740f5d..993346e 100644 --- a/src/theme/themeTypes.ts +++ b/src/theme/themeTypes.ts @@ -1,12 +1,5 @@ import type { ReactNode } from 'react'; -import type { - ViewStyle, - TextStyle, - ViewProps, - TextProps, - TextInputProps, - PressableProps, -} from 'react-native'; +import type { ViewStyle, TextStyle } from 'react-native'; import type themeType from './theme'; export type themeModeTypes = 'dark' | 'light'; @@ -135,59 +128,9 @@ export interface CommonThemableTypes spacingValueType, shadowValueType {} -export interface ThemableViewStyle - extends nonThemableViewStyles, - CommonThemableTypes { - children?: ReactNode; -} - export interface ThemableTextStyle extends nonThemableTextStyles, CommonThemableTypes, fontStyleValueType { children?: ReactNode; } - -export interface ThemeableTextInputStyle - extends ThemableTextStyle { - placeholderTextColor?: colorType; -} - -export interface BoxProps extends ThemableViewStyle { - view?: ViewProps; -} - -export interface RowProps extends ThemableViewStyle { - spacing?: spacingType | number; - view?: ViewProps; -} - -export interface TextBlockProps - extends ThemableTextStyle { - text?: TextProps; -} - -export type ThemedInputProps = Omit< - TextInputProps, - 'placeholderTextColor' | 'underlineColorAndroid' ->; - -export interface InputProps - extends ThemeableTextInputStyle { - textInput?: ThemedInputProps; - underlineColorAndroid?: colorType; -} - -export type NonThemablePressableProps = Omit< - PressableProps, - 'style' | 'children' ->; - -export interface TouchableProps - extends ThemableViewStyle { - press?: NonThemablePressableProps; - inactiveStyle?: ThemableViewStyle; - pressedStyle?: ThemableViewStyle; - pressedChildren?: ReactNode; - inactiveChildren?: ReactNode; -} diff --git a/src/themeUtils/createViewStyle.ts b/src/themeUtils/createViewStyle.ts index 6c29e66..40ecc72 100644 --- a/src/themeUtils/createViewStyle.ts +++ b/src/themeUtils/createViewStyle.ts @@ -1,10 +1,7 @@ import type { StyleProp, ViewStyle } from 'react-native'; +import type { ThemableViewStyle } from '../LayoutComponents/createBox'; import type themeType from '../theme/theme'; -import type { - colorValueType, - spacingType, - ThemableViewStyle, -} from '../theme/themeTypes'; +import type { colorValueType, spacingType } from '../theme/themeTypes'; import createShadowStyle from './createShadow'; const getSpacing = (