From 770446b875e6071a47b713665ccf1e7235d95d83 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Fri, 6 Sep 2019 10:32:25 +0200 Subject: [PATCH 01/46] docs: updated changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e3d50e6..fcb0139 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ ## [0.5.1](https://github.com/IjzerenHein/react-native-shared-element/compare/v0.5.0...v0.5.1) (2019-09-06) +## Improvements + +* **android:** updated internal Package and ViewManager init so it's easier to integrate into Expo + # [0.5.0](https://github.com/IjzerenHein/react-native-shared-element/compare/v0.4.3...v0.5.0) (2019-09-04) From 66e3de761aa66ef2839e70e71201cf63ae0c3673 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Fri, 6 Sep 2019 14:59:11 +0200 Subject: [PATCH 02/46] test: updated example App to run using react-native-web --- Example/.expo/packager-info.json | 8 ++ Example/.expo/settings.json | 8 ++ Example/app.json | 8 +- Example/index.web.js | 9 ++ Example/package.json | 9 +- Example/src/components/{ => icon}/Icon.js | 0 Example/src/components/icon/Icon.web.js | 24 +++++ Example/src/components/icon/index.js | 2 + Example/src/components/index.js | 4 +- .../linearGradient/LinearGradient.js | 3 + .../linearGradient/LinearGradient.web.js | 2 + .../src/components/linearGradient/index.js | 2 + Example/src/components/navBar/NavBar.js | 2 +- .../components/viewPager/ViewPager.android.js | 42 ++++++++ .../src/components/viewPager/ViewPager.ios.js | 80 ++++++++++++++ Example/src/components/viewPager/ViewPager.js | 73 +++++++++++++ Example/src/components/viewPager/index.js | 2 + Example/src/screens/CardScreen.js | 1 - Example/src/screens/PagerScreen.js | 99 ++++-------------- Example/src/screens/TilesScreen.js | 4 +- .../src/tests/compound/TestCompoundView.js | 8 +- Example/src/tests/image/FastImage.js | 3 + Example/src/tests/image/FastImage.web.js | 3 + Example/src/tests/image/ImageTests.js | 4 +- Example/src/tests/image/PhotoView.js | 3 + Example/src/tests/image/PhotoView.web.js | 3 + Example/web/.gitignore | 1 + Example/web/favicon.ico | Bin 0 -> 4958 bytes Example/web/index.html | 76 ++++++++++++++ Example/web/serve.json | 13 +++ 30 files changed, 407 insertions(+), 89 deletions(-) create mode 100644 Example/.expo/packager-info.json create mode 100644 Example/.expo/settings.json create mode 100644 Example/index.web.js rename Example/src/components/{ => icon}/Icon.js (100%) create mode 100644 Example/src/components/icon/Icon.web.js create mode 100644 Example/src/components/icon/index.js create mode 100644 Example/src/components/linearGradient/LinearGradient.js create mode 100644 Example/src/components/linearGradient/LinearGradient.web.js create mode 100644 Example/src/components/linearGradient/index.js create mode 100644 Example/src/components/viewPager/ViewPager.android.js create mode 100644 Example/src/components/viewPager/ViewPager.ios.js create mode 100644 Example/src/components/viewPager/ViewPager.js create mode 100644 Example/src/components/viewPager/index.js create mode 100644 Example/src/tests/image/FastImage.js create mode 100644 Example/src/tests/image/FastImage.web.js create mode 100644 Example/src/tests/image/PhotoView.js create mode 100644 Example/src/tests/image/PhotoView.web.js create mode 100644 Example/web/.gitignore create mode 100644 Example/web/favicon.ico create mode 100644 Example/web/index.html create mode 100644 Example/web/serve.json diff --git a/Example/.expo/packager-info.json b/Example/.expo/packager-info.json new file mode 100644 index 0000000..8aac2c9 --- /dev/null +++ b/Example/.expo/packager-info.json @@ -0,0 +1,8 @@ +{ + "devToolsPort": 19002, + "webpackServerPort": 19006, + "expoServerPort": null, + "expoServerNgrokUrl": null, + "packagerNgrokUrl": null, + "ngrokPid": null +} \ No newline at end of file diff --git a/Example/.expo/settings.json b/Example/.expo/settings.json new file mode 100644 index 0000000..b5ba757 --- /dev/null +++ b/Example/.expo/settings.json @@ -0,0 +1,8 @@ +{ + "hostType": "lan", + "lanType": "ip", + "dev": true, + "minify": false, + "urlRandomness": null, + "https": false +} \ No newline at end of file diff --git a/Example/app.json b/Example/app.json index 2adaa9f..f27b3bf 100644 --- a/Example/app.json +++ b/Example/app.json @@ -1,4 +1,8 @@ { "name": "SharedElementExample", - "displayName": "SharedElementExample" -} \ No newline at end of file + "displayName": "SharedElementExample", + "expo": { + "name": "SharedElementExample", + "platforms": ["web"] + } +} diff --git a/Example/index.web.js b/Example/index.web.js new file mode 100644 index 0000000..d24d82c --- /dev/null +++ b/Example/index.web.js @@ -0,0 +1,9 @@ +// @flow +import { AppRegistry } from "react-native"; +import { App } from "./src/App"; +import { name as appName } from "./app.json"; + +AppRegistry.registerComponent(appName, () => App); +AppRegistry.runApplication(appName, { + rootTag: document.getElementById("root") +}); diff --git a/Example/package.json b/Example/package.json index d35fb00..f9eedce 100644 --- a/Example/package.json +++ b/Example/package.json @@ -10,7 +10,8 @@ "apk-install": "adb install -r android/app/build/outputs/apk/release/app-release.apk", "android": "react-native run-android", "ios": "react-native run-ios", - "android-clean": "cd android && ./gradlew clean && cd .." + "android-clean": "cd android && ./gradlew clean && cd ..", + "web": "expo start --web" }, "dependencies": { "@react-native-community/blur": "^3.3.1", @@ -18,8 +19,10 @@ "@react-native-community/viewpager": "^1.1.7", "@react-navigation/core": "^3.4.2", "@react-navigation/native": "^3.5.0", + "expo-linear-gradient": "^6.0.0", "flow-bin": "^0.106.2", "react": "16.8.3", + "react-dom": "^16.8.6", "react-native": "0.59.9", "react-native-fast-image": "^6.0.3", "react-native-gesture-handler": "1.3.0", @@ -29,15 +32,17 @@ "react-native-photo-view": "https://github.com/tomtom94/react-native-photo-view", "react-native-reanimated": "^1.2.0", "react-native-screens": "1.0.0-alpha.22", - "react-native-shared-element": "^0.5.0", + "react-native-shared-element": "file:.yalc/react-native-shared-element", "react-native-touchable-scale": "^2.0.0", "react-native-vector-icons": "^6.5.0", + "react-native-web": "file:.yalc/react-native-web", "react-navigation-sharedelement": "^0.4.4", "react-navigation-stack": "1.4.0", "react-navigation-tabs": "^2.3.0", "react-navigation-transitions": "^1.0.12" }, "devDependencies": { + "@expo/webpack-config": "^0.7.3", "jest": "^24.8.0", "metro-react-native-babel-preset": "^0.56.0", "react-test-renderer": "16.8.3" diff --git a/Example/src/components/Icon.js b/Example/src/components/icon/Icon.js similarity index 100% rename from Example/src/components/Icon.js rename to Example/src/components/icon/Icon.js diff --git a/Example/src/components/icon/Icon.web.js b/Example/src/components/icon/Icon.web.js new file mode 100644 index 0000000..7429912 --- /dev/null +++ b/Example/src/components/icon/Icon.web.js @@ -0,0 +1,24 @@ +// @flow +/* global document */ +import Icon from "react-native-vector-icons/dist/Entypo"; + +// Generate required css +import iconFont from "react-native-vector-icons/Fonts/Entypo.ttf"; +export { Icon }; +const iconFontStyles = `@font-face { + src: url(${iconFont}); + font-family: Entypo; +}`; + +// Create stylesheet +const style: any = document.createElement("style"); +style.type = "text/css"; +if (style.styleSheet) { + style.styleSheet.cssText = iconFontStyles; +} else { + style.appendChild(document.createTextNode(iconFontStyles)); +} + +// Inject stylesheet +// $$FlowFixMe +document.head.appendChild(style); diff --git a/Example/src/components/icon/index.js b/Example/src/components/icon/index.js new file mode 100644 index 0000000..d116cdb --- /dev/null +++ b/Example/src/components/icon/index.js @@ -0,0 +1,2 @@ +// @flow +export * from "./Icon"; diff --git a/Example/src/components/index.js b/Example/src/components/index.js index 666bbf1..b397c80 100644 --- a/Example/src/components/index.js +++ b/Example/src/components/index.js @@ -5,6 +5,8 @@ export * from "./Text"; export * from "./navBar"; export * from "./RouterScreenTransition"; export * from "./Colors"; -export * from "./Icon"; +export * from "./icon"; export * from "./Button"; export * from "./CompatSharedElement"; +export * from "./viewPager"; +export * from "./linearGradient"; diff --git a/Example/src/components/linearGradient/LinearGradient.js b/Example/src/components/linearGradient/LinearGradient.js new file mode 100644 index 0000000..54ae2a8 --- /dev/null +++ b/Example/src/components/linearGradient/LinearGradient.js @@ -0,0 +1,3 @@ +// @flow +import LinearGradient from "react-native-linear-gradient"; +export { LinearGradient }; diff --git a/Example/src/components/linearGradient/LinearGradient.web.js b/Example/src/components/linearGradient/LinearGradient.web.js new file mode 100644 index 0000000..dea1eb0 --- /dev/null +++ b/Example/src/components/linearGradient/LinearGradient.web.js @@ -0,0 +1,2 @@ +// @flow +export * from "expo-linear-gradient"; diff --git a/Example/src/components/linearGradient/index.js b/Example/src/components/linearGradient/index.js new file mode 100644 index 0000000..1725b9c --- /dev/null +++ b/Example/src/components/linearGradient/index.js @@ -0,0 +1,2 @@ +// @flow +export * from "./LinearGradient"; diff --git a/Example/src/components/navBar/NavBar.js b/Example/src/components/navBar/NavBar.js index 342d2bd..e4702fc 100644 --- a/Example/src/components/navBar/NavBar.js +++ b/Example/src/components/navBar/NavBar.js @@ -4,7 +4,7 @@ import { StyleSheet, View, TouchableOpacity } from "react-native"; import { Heading3 } from "../Text"; import { Router } from "../Router"; import { Colors, Shadows } from "../Colors"; -import { Icon } from "../Icon"; +import { Icon } from "../icon"; import { NavBarHeight } from "./constants"; const styles = StyleSheet.create({ diff --git a/Example/src/components/viewPager/ViewPager.android.js b/Example/src/components/viewPager/ViewPager.android.js new file mode 100644 index 0000000..2a15115 --- /dev/null +++ b/Example/src/components/viewPager/ViewPager.android.js @@ -0,0 +1,42 @@ +// @flow +import * as React from "react"; +import NativeViewPager from "@react-native-community/viewpager"; +import { createNativeWrapper } from "react-native-gesture-handler"; + +const RNGHViewPager = createNativeWrapper(NativeViewPager, { + disallowInterruption: true +}); + +type PropsType = { + data: any[], + renderItem: (data: { item: any, index: number }) => any, + getItemLayout: (item: any, index: number) => any, + initialItemIndex: number, + onItemSelected: (index: number) => any +}; +type StateType = {}; + +export class ViewPager extends React.PureComponent { + render() { + const { style, data, initialItemIndex, renderItem } = this.props; + return ( + + {data.map((item, index) => + renderItem({ + item, + index + }) + )} + + ); + } + + onPageSelected = ({ nativeEvent }: any) => { + const { onItemSelected } = this.props; + if (onItemSelected) onItemSelected(nativeEvent.position); + }; +} diff --git a/Example/src/components/viewPager/ViewPager.ios.js b/Example/src/components/viewPager/ViewPager.ios.js new file mode 100644 index 0000000..b6b02e1 --- /dev/null +++ b/Example/src/components/viewPager/ViewPager.ios.js @@ -0,0 +1,80 @@ +// @flow +import * as React from "react"; +import { FlatList } from "react-native"; + +type PropsType = { + style: any, + data: any[], + renderItem: (data: { item: any, index: number }) => any, + getItemLayout: (item: any, index: number) => any, + initialItemIndex: number, + onItemSelected: (index: number) => any +}; +type StateType = { + selectedIndex: number, + contentOffset: { + x: number, + y: number + } +}; + +const VIEWABILITY_CONFIG = { + minimumViewTime: 0, + viewAreaCoveragePercentThreshold: 51 +}; + +export class ViewPager extends React.PureComponent { + constructor(props: PropsType) { + super(props); + const { data, getItemLayout, initialItemIndex = 0 } = props; + const initialOffset = getItemLayout( + data[initialItemIndex], + initialItemIndex + ).offset; + const contentOffset = { x: initialOffset, y: 0 }; + this.state = { + selectedIndex: initialItemIndex, + contentOffset + }; + } + + render() { + const { style, data, renderItem, getItemLayout } = this.props; + const { contentOffset } = this.state; + return ( + + ); + } + + keyExtractor = (item: any, index: number) => `item${index}`; + + onViewableItemsChanged = (event: any) => { + const { onItemSelected, data } = this.props; + const { viewableItems } = event; + if (!viewableItems.length) return; + const selectedItem = viewableItems[0].item; + const selectedIndex = data.indexOf(selectedItem); + if (this.state.selectedIndex !== selectedIndex) { + this.setState( + { + selectedIndex + }, + () => { + if (onItemSelected) onItemSelected(selectedIndex); + } + ); + } + }; +} diff --git a/Example/src/components/viewPager/ViewPager.js b/Example/src/components/viewPager/ViewPager.js new file mode 100644 index 0000000..aa546e9 --- /dev/null +++ b/Example/src/components/viewPager/ViewPager.js @@ -0,0 +1,73 @@ +// @flow +import * as React from "react"; +import { FlatList } from "react-native"; + +type PropsType = { + style: any, + data: any[], + renderItem: (data: { item: any, index: number }) => any, + getItemLayout: (item: any, index: number) => any, + initialItemIndex: number, + onItemSelected: (index: number) => any +}; +type StateType = { + selectedIndex: number +}; + +const VIEWABILITY_CONFIG = { + minimumViewTime: 0, + viewAreaCoveragePercentThreshold: 51 +}; + +export class ViewPager extends React.PureComponent { + constructor(props: PropsType) { + super(props); + this.state = { + selectedIndex: props.initialItemIndex || 0 + }; + } + + render() { + const { + style, + data, + initialItemIndex, + renderItem, + getItemLayout + } = this.props; + return ( + + ); + } + + keyExtractor = (item: any, index: number) => `item${index}`; + + onViewableItemsChanged = (event: any) => { + const { onItemSelected, data } = this.props; + const { viewableItems } = event; + if (!viewableItems.length) return; + const selectedItem = viewableItems[0].item; + const selectedIndex = data.indexOf(selectedItem); + if (this.state.selectedIndex !== selectedIndex) { + this.setState( + { + selectedIndex + }, + () => { + if (onItemSelected) onItemSelected(selectedIndex); + } + ); + } + }; +} diff --git a/Example/src/components/viewPager/index.js b/Example/src/components/viewPager/index.js new file mode 100644 index 0000000..288da60 --- /dev/null +++ b/Example/src/components/viewPager/index.js @@ -0,0 +1,2 @@ +// @flow +export * from "./ViewPager"; diff --git a/Example/src/screens/CardScreen.js b/Example/src/screens/CardScreen.js index 758234b..f267d73 100644 --- a/Example/src/screens/CardScreen.js +++ b/Example/src/screens/CardScreen.js @@ -19,7 +19,6 @@ import { } from "../components"; import type { Hero, SharedElementsConfig } from "../types"; import { fadeIn } from "../transitions"; -// import LinearGradient from "react-native-linear-gradient"; const HEIGHT = Dimensions.get("window").height; const IMAGE_HEIGHT = Dimensions.get("window").width * 0.75; diff --git a/Example/src/screens/PagerScreen.js b/Example/src/screens/PagerScreen.js index 7feae2c..71ca605 100644 --- a/Example/src/screens/PagerScreen.js +++ b/Example/src/screens/PagerScreen.js @@ -6,24 +6,19 @@ import { Image, Dimensions, Animated, - StatusBar, - Platform + StatusBar } from "react-native"; -import { NavBar, SharedElement, Colors, Router } from "../components"; +import { + NavBar, + SharedElement, + Colors, + Router, + ViewPager +} from "../components"; import type { Hero, SharedElementsConfig } from "../types"; import { Heroes } from "../assets"; import { fadeIn } from "../transitions"; -import { - PanGestureHandler, - State, - FlatList, - createNativeWrapper -} from "react-native-gesture-handler"; -import ViewPager from "@react-native-community/viewpager"; - -const RNGHViewPager = createNativeWrapper(ViewPager, { - disallowInterruption: true -}); +import { PanGestureHandler, State } from "react-native-gesture-handler"; const WIDTH = Dimensions.get("window").width; @@ -57,16 +52,7 @@ type PropsType = { navigation: any }; type StateType = { - selectedHero: Hero, - initialContentOffset: { - x: number, - y: number - } -}; - -const VIEWABILITY_CONFIG = { - minimumViewTime: 0, - viewAreaCoveragePercentThreshold: 51 + selectedHero: Hero }; export class PagerScreen extends React.Component { @@ -94,53 +80,22 @@ export class PagerScreen extends React.Component { const hero = props.navigation ? props.navigation.getParam("hero") : props.hero; - const initialItemIndex = Heroes.findIndex(({ id }) => id === hero.id); - const initialOffset = this.getItemLayout( - Heroes[initialItemIndex], - initialItemIndex - ).offset; - const initialContentOffset = { x: initialOffset, y: 0 }; this.state = { - selectedHero: hero, - initialContentOffset + selectedHero: hero }; } renderPager(items: Hero[], initialIndex: number) { - if (Platform.OS === "android") { - return ( - - {items.map((item, index) => - this.renderItem({ - item, - index - }) - )} - - ); - } else { - return ( - - ); - } + return ( + + ); } render() { @@ -191,8 +146,6 @@ export class PagerScreen extends React.Component { ); } - keyExtractor = (item: any) => item.id; - getItemLayout = (item: any, index: number) => ({ length: WIDTH, offset: WIDTH * index, @@ -215,14 +168,8 @@ export class PagerScreen extends React.Component { ); }; - onViewableItemsChanged = (event: any) => { - const { viewableItems } = event; - if (!viewableItems.length) return; - this.updateHero(viewableItems[0].item); - }; - - onPageSelected = ({ nativeEvent }: any) => { - this.updateHero(Heroes[nativeEvent.position]); + onItemSelected = (index: number) => { + this.updateHero(Heroes[index]); }; updateHero(hero: Hero) { diff --git a/Example/src/screens/TilesScreen.js b/Example/src/screens/TilesScreen.js index 0128dd0..b8133a6 100644 --- a/Example/src/screens/TilesScreen.js +++ b/Example/src/screens/TilesScreen.js @@ -17,13 +17,13 @@ import { Shadows, Heading1, Heading2, - Body + Body, + LinearGradient } from "../components"; import { Heroes } from "../assets"; import { DetailScreen } from "./DetailScreen"; import type { Hero, SharedElementsConfig } from "../types"; import { fadeIn } from "../transitions"; -import LinearGradient from "react-native-linear-gradient"; import TouchableScale from "react-native-touchable-scale"; const styles = StyleSheet.create({ diff --git a/Example/src/tests/compound/TestCompoundView.js b/Example/src/tests/compound/TestCompoundView.js index af29037..482acd2 100644 --- a/Example/src/tests/compound/TestCompoundView.js +++ b/Example/src/tests/compound/TestCompoundView.js @@ -1,10 +1,14 @@ // @flow import * as React from "react"; import { StyleSheet, View, Image, Dimensions, Text } from "react-native"; -import { Colors, Shadows, SharedElement } from "../../components"; +import { + Colors, + Shadows, + SharedElement, + LinearGradient +} from "../../components"; import type { Hero, Size, Position } from "../../types"; import { Heroes } from "../../assets"; -import LinearGradient from "react-native-linear-gradient"; const SIZES = { max: Dimensions.get("window").width, diff --git a/Example/src/tests/image/FastImage.js b/Example/src/tests/image/FastImage.js new file mode 100644 index 0000000..1b5c9f5 --- /dev/null +++ b/Example/src/tests/image/FastImage.js @@ -0,0 +1,3 @@ +// @flow +import FastImage from "react-native-fast-image"; +export { FastImage }; diff --git a/Example/src/tests/image/FastImage.web.js b/Example/src/tests/image/FastImage.web.js new file mode 100644 index 0000000..6c1ba93 --- /dev/null +++ b/Example/src/tests/image/FastImage.web.js @@ -0,0 +1,3 @@ +// @flow +import { Image } from "react-native"; +export const FastImage = Image; diff --git a/Example/src/tests/image/ImageTests.js b/Example/src/tests/image/ImageTests.js index 5abb7eb..028aad7 100644 --- a/Example/src/tests/image/ImageTests.js +++ b/Example/src/tests/image/ImageTests.js @@ -4,8 +4,8 @@ import type { TestGroup } from "../../types"; import { Heroes } from "../../assets"; import { TestImage } from "./TestImage"; import { ImageBackground } from "react-native"; -import FastImage from "react-native-fast-image"; -import PhotoView from "react-native-photo-view"; +import { FastImage } from "./FastImage"; +import { PhotoView } from "./PhotoView"; import { Colors, Shadows } from "../../components"; export const ImageTests: TestGroup = { diff --git a/Example/src/tests/image/PhotoView.js b/Example/src/tests/image/PhotoView.js new file mode 100644 index 0000000..1b6ccb0 --- /dev/null +++ b/Example/src/tests/image/PhotoView.js @@ -0,0 +1,3 @@ +// @flow +import PhotoView from "react-native-photo-view"; +export { PhotoView }; diff --git a/Example/src/tests/image/PhotoView.web.js b/Example/src/tests/image/PhotoView.web.js new file mode 100644 index 0000000..6b4b7f0 --- /dev/null +++ b/Example/src/tests/image/PhotoView.web.js @@ -0,0 +1,3 @@ +// @flow +import { Image } from "react-native"; +export const PhotoView = Image; diff --git a/Example/web/.gitignore b/Example/web/.gitignore new file mode 100644 index 0000000..2e0bdf0 --- /dev/null +++ b/Example/web/.gitignore @@ -0,0 +1 @@ +firebaseConfig.js diff --git a/Example/web/favicon.ico b/Example/web/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..2e50e6e11cf1c78a7abd6a1e39e58a0e7bc80fae GIT binary patch literal 4958 zcmcIoYfKbZ6dvASghd+BS|7;6HcYa#CfZGXp~0kT zksm%%rHIs2gQ$dnbsG)QXedxH*eFmS5mt722+Lz(ProzlY=&`n0ilO{b7tnwJ@>ok zo_p?L1;GJ-{{8~4e!}M;2!gL52%i9WB}4=Kp2gcoRO59CfT8iVI67vkkdTmFGiT0h zLbn>=OTcw>CdTx&%hah;zgWM1{U1d|MLk=#Yh; z+S}WSW!tuG5)bCW_!syIm<5ctd=wE8k#_9Zv6}k&dU1T|VugpqryL|w0Pk@i<2iTk z+~n1(S65%Wc+n({E!TEID{Hly$E?lW+B;i37K4XQK1gL{C7n8T zic(Wk>DH}V@+Ql@J%8ZrXDvhtCUj%&N-o3lc>Ve{UAS<8&YU?zym#dBVIg3? zvBx7YFi=-jRYf^DIbGr5;W`HghXEO%ziq6`qAORf=y=}9-}L0k6O#7MSa?)dSBs2! zZiub6IdkUldC0!0u*GA;h7Fx}@7|@Jo}MAow#OqnI@;#GWq(LKB!j%xTeoi2BVX46 zf)e1i2x~DUKBT_Zc$AlyQ&Lh=D{@W?;y{o7oxqS7u*QRV?c2AnDj*;r6A+YujfK~) zU2BoXmTNhW=H_PFzkh!x>JHu0r%wm?yRNP-I(+zWkGHos^XZfL$a!eBS~_>`T;qxr zD>Bg@1lSV0Jb2HZKY!l1ZrwUvUS3|ea_yK;U0ogFZ0zvx@L)c~Jf1&)&U@|c+O=!* zJv}`?#d}9v1kCT5#~Ze%6wcqFp`l%8&z@~>X|d|EAzdCme8}JHr%ajBw|x2XSN{I~ zi5SCUnDM3Nu0gq|28t6Z>~K$;!$i)Q)`qF~X$*MyM@3 zT3cIry$u^TZqz+`^vF0cFhGowk`g+4^eE-$=Tmog_d9f+J$puBVPOU*CnxC)euc3= zR*b)R;>3xWK0ZEWKmpoz0rGlw0p_8_ocrVBP(;{~vU1P2Fqo;-Q7jdRX$($v%> z=G^Vux0?``J?L*OcguMMpvKgq#wXO6v}w~Onml>3$k)Zi#pLDXRR|kSOe82M=vS_T zYHMqUqap4M>_ghUdpD_6D)xi5d}iUXY}v9OU%Yr>vCHdx=gu8M?h(0QjX3`V1Coe! zA=XFBaiWyAwl+R52!5lAiVCrr*J{U(9Y*+tUkumDsF4j^{~3)&VxJy4a)j>Rzb`&3Ilg@Pl8~pmot>T8HzvU157hkGZ{Ao< z3v}qvA;Ou=arG7Ux}XH!d(NLf|J$8Acb2B4q?k|_ko5nPl7sx2>wDx3gQKG(`zH_( z5F6j)?Cg_&C*5OD5@MYFIAiwg*@7*geLC_|#)%UrY8x6Fr0zB~=g>WS_EaDae*pvr z#5*o7u9(~8!oE&VPj7|~zGgp+P(o3k=OW+fIyyS!=EQqGdr-49L`6mY414@LfKon$ ze+zLw)INCdz{uwrd|iV1CrCa}cChp8GHu$lxWvRn4dSGi>qd^#n>TN^b1WiOBhXi# zmz1XXH-UL>Zf>#AOMvOh4@UXyjkWsjz<~p$ID1R{{QSN_fA>+^7|+l74EG%`gVax? zfiY@}9Ml@spjNwy+9WuL8j14<{;p0CB3T0})@ng;V+|QEE!u^>SsJ!#9v4e4@_^Q8 q#Mch$s6j1W)#i}Un01|5_n5T_DVx71wVPVQTBG_?)Y81oe)tauYFX(3 literal 0 HcmV?d00001 diff --git a/Example/web/index.html b/Example/web/index.html new file mode 100644 index 0000000..2463c53 --- /dev/null +++ b/Example/web/index.html @@ -0,0 +1,76 @@ + + + + + + %WEB_TITLE% + + + + + + + +
+ + + + diff --git a/Example/web/serve.json b/Example/web/serve.json new file mode 100644 index 0000000..08bef3c --- /dev/null +++ b/Example/web/serve.json @@ -0,0 +1,13 @@ +{ + "headers":[ + { + "source":"static/**/*.js", + "headers":[ + { + "key":"Cache-Control", + "value":"public, max-age=31536000, immutable" + } + ] + } + ] + } \ No newline at end of file From 6d21dbf851cc0c5f2d56e0242de12710fce1587e Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Fri, 6 Sep 2019 15:02:46 +0200 Subject: [PATCH 03/46] docs: updated nav-package to `react-navigation-shared-element` --- Example/package.json | 2 +- Example/src/components/CompatSharedElement.js | 2 +- Example/src/screens/ReactNavigationScreen.js | 2 +- README.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Example/package.json b/Example/package.json index f9eedce..33cdaa4 100644 --- a/Example/package.json +++ b/Example/package.json @@ -36,7 +36,7 @@ "react-native-touchable-scale": "^2.0.0", "react-native-vector-icons": "^6.5.0", "react-native-web": "file:.yalc/react-native-web", - "react-navigation-sharedelement": "^0.4.4", + "react-navigation-shared-element": "^0.5.0", "react-navigation-stack": "1.4.0", "react-navigation-tabs": "^2.3.0", "react-navigation-transitions": "^1.0.12" diff --git a/Example/src/components/CompatSharedElement.js b/Example/src/components/CompatSharedElement.js index 57436eb..2e6e5e7 100644 --- a/Example/src/components/CompatSharedElement.js +++ b/Example/src/components/CompatSharedElement.js @@ -1,7 +1,7 @@ // @flow import * as React from "react"; import { RouterScreenTransition } from "./RouterScreenTransition"; -import { SharedElement as ReactNavigationCoreSharedElement } from "react-navigation-sharedelement"; +import { SharedElement as ReactNavigationCoreSharedElement } from "react-navigation-shared-element"; type PropsType = {| id?: string, diff --git a/Example/src/screens/ReactNavigationScreen.js b/Example/src/screens/ReactNavigationScreen.js index cacc932..180deae 100644 --- a/Example/src/screens/ReactNavigationScreen.js +++ b/Example/src/screens/ReactNavigationScreen.js @@ -2,7 +2,7 @@ import * as React from "react"; import { View, Platform } from "react-native"; import { Icon } from "../components"; -import { createSharedElementStackNavigator } from "react-navigation-sharedelement"; +import { createSharedElementStackNavigator } from "react-navigation-shared-element"; import { createAppContainer } from "@react-navigation/native"; import { createStackNavigator } from "react-navigation-stack"; import { createBottomTabNavigator } from "react-navigation-tabs"; diff --git a/README.md b/README.md index df025f7..17c9871 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Native shared element transition *"primitives"* for react-native 💫 -This library in itself is not a Navigation- or Router library. Instead, it provides a set of comprehensive full native building blocks for performing shared element transitions in Router- or Transition libraries. If you are looking [for the React Navigation binding, you can find it here](https://github.com/IjzerenHein/react-navigation-sharedelement). +This library in itself is not a Navigation- or Router library. Instead, it provides a set of comprehensive full native building blocks for performing shared element transitions in Router- or Transition libraries. If you are looking [for the React Navigation binding, you can find it here](https://github.com/IjzerenHein/react-navigation-shared-element). ![MagicMoveGif](set-ios.gif) ![MagicMoveGif](set-android.gif) From df440172371190f70de97cdd223570a31f5f0cbc Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Fri, 6 Sep 2019 15:11:12 +0200 Subject: [PATCH 04/46] docs: updated link to rn60-navigation demo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 17c9871..105d74b 100644 --- a/README.md +++ b/README.md @@ -215,7 +215,7 @@ When `auto` is selected, the default alignment strategy is used, which is `cente ## Example apps - The main example & test app is located in [`./Example`](./Example) and serves as an exploration and testing tool. It features a custom stack router which implements the shared element primitives. It also implements the react-navigation binding and serves as a testing tool for that. -- [Simple demo app using RN60 and the react-navigation binding](https://github.com/IjzerenHein/react-navigation-sharedelement-rn60demo) +- [Simple demo app using RN60 and the react-navigation binding](https://github.com/IjzerenHein/react-navigation-shared-element-rn60demo) **Usage** From 49b19ff06b6276e90acf879d2e49663f4aec6a1b Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Fri, 6 Sep 2019 16:49:54 +0200 Subject: [PATCH 05/46] chore(web): continued work on web implementation --- package.json | 2 +- src/RNSharedElementTransition.tsx | 16 ++ src/RNSharedElementTransition.web.tsx | 1 + src/SharedElementTransition.tsx | 20 +-- src/web/RNSharedElementContent.ts | 21 +++ src/web/RNSharedElementNode.ts | 149 ++++++++++++++++++ .../web}/RNSharedElementNodeManager.ts | 14 +- src/web/RNSharedElementStyle.ts | 24 +++ src/web/RNSharedElementTransition.ts | 110 +++++++++++++ .../web}/RNSharedElementTransitionItem.ts | 0 {web => src/web}/RNSharedElementView.ts | 0 src/web/Rect.ts | 23 +++ {web => src/web}/WORK_IN_PROGRESS.md | 0 src/web/index.tsx | 1 + src/web/types.ts | 32 ++++ web/RNSharedElementContent.ts | 9 -- web/RNSharedElementNode.ts | 86 ---------- web/RNSharedElementStyle.ts | 11 -- web/RNSharedElementTransition.ts | 22 --- web/Rect.ts | 6 - web/types.ts | 31 ---- 21 files changed, 390 insertions(+), 188 deletions(-) create mode 100644 src/RNSharedElementTransition.tsx create mode 100644 src/RNSharedElementTransition.web.tsx create mode 100644 src/web/RNSharedElementContent.ts create mode 100644 src/web/RNSharedElementNode.ts rename {web => src/web}/RNSharedElementNodeManager.ts (57%) create mode 100644 src/web/RNSharedElementStyle.ts create mode 100644 src/web/RNSharedElementTransition.ts rename {web => src/web}/RNSharedElementTransitionItem.ts (100%) rename {web => src/web}/RNSharedElementView.ts (100%) create mode 100644 src/web/Rect.ts rename {web => src/web}/WORK_IN_PROGRESS.md (100%) create mode 100644 src/web/index.tsx create mode 100644 src/web/types.ts delete mode 100644 web/RNSharedElementContent.ts delete mode 100644 web/RNSharedElementNode.ts delete mode 100644 web/RNSharedElementStyle.ts delete mode 100644 web/RNSharedElementTransition.ts delete mode 100644 web/Rect.ts delete mode 100644 web/types.ts diff --git a/package.json b/package.json index be3214c..6d635e6 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "main": "lib/commonjs/index.js", "module": "lib/module/index.js", "react-native": "lib/module/index.js", - "types": "lib/typescript/src/index.d.ts", + "types": "lib/typescript/index.d.ts", "sideEffects": false, "files": [ "src/", diff --git a/src/RNSharedElementTransition.tsx b/src/RNSharedElementTransition.tsx new file mode 100644 index 0000000..2585d3d --- /dev/null +++ b/src/RNSharedElementTransition.tsx @@ -0,0 +1,16 @@ +import { requireNativeComponent, NativeModules } from "react-native"; + +const isAvailable = NativeModules.RNSharedElementTransition ? true : false; + +if (isAvailable) { + NativeModules.RNSharedElementTransition.configure({ + imageResolvers: [ + "RNPhotoView.MWTapDetectingImageView", // react-native-photo-view + "RCTView.FFFastImageView" // react-native-fast-image + ].map(path => path.split(".")) + }); +} + +export const RNSharedElementTransition = isAvailable + ? requireNativeComponent("RNSharedElementTransition") + : undefined; diff --git a/src/RNSharedElementTransition.web.tsx b/src/RNSharedElementTransition.web.tsx new file mode 100644 index 0000000..271536f --- /dev/null +++ b/src/RNSharedElementTransition.web.tsx @@ -0,0 +1 @@ +export * from "./web/RNSharedElementTransition"; diff --git a/src/SharedElementTransition.tsx b/src/SharedElementTransition.tsx index d8bcafb..5f6668a 100644 --- a/src/SharedElementTransition.tsx +++ b/src/SharedElementTransition.tsx @@ -5,8 +5,6 @@ import { Animated, Dimensions, StyleSheet, - requireNativeComponent, - NativeModules, processColor, Platform } from "react-native"; @@ -18,6 +16,7 @@ import { SharedElementNodeType, SharedElementContentType } from "./types"; +import { RNSharedElementTransition } from "./RNSharedElementTransition"; export type SharedElementMeasureData = { node: SharedElementNodeType; @@ -64,19 +63,6 @@ export type SharedElementTransitionProps = { SharedElementComponent?: any; }; -export const isAvailable = NativeModules.RNSharedElementTransition - ? true - : false; - -if (isAvailable) { - NativeModules.RNSharedElementTransition.configure({ - imageResolvers: [ - "RNPhotoView.MWTapDetectingImageView", // react-native-photo-view - "RCTView.FFFastImageView" // react-native-fast-image - ].map(path => path.split(".")) - }); -} - const NativeAnimationType = new Map([ ["move", 0], ["fade", 1], @@ -137,10 +123,6 @@ type StateType = { endAncestor?: SharedElementMeasureData; }; -export const RNSharedElementTransition = isAvailable - ? requireNativeComponent("RNSharedElementTransition") - : undefined; - export const RNAnimatedSharedElementTransition = RNSharedElementTransition ? Animated.createAnimatedComponent(RNSharedElementTransition) : undefined; diff --git a/src/web/RNSharedElementContent.ts b/src/web/RNSharedElementContent.ts new file mode 100644 index 0000000..086f0da --- /dev/null +++ b/src/web/RNSharedElementContent.ts @@ -0,0 +1,21 @@ +import { Rect } from "./Rect"; + +export class RNSharedElementContent { + public readonly size: Rect; + + constructor(size: Rect) { + this.size = size; + } + + static getSize(element: any): Rect | null { + + //console.log('RNSharedElementContent.getSize: ', element); + + return new Rect({ + x: 0, + y: 0, + width: element.clientWidth || 0, + height: element.clientHeight || 0, + }) + } +} diff --git a/src/web/RNSharedElementNode.ts b/src/web/RNSharedElementNode.ts new file mode 100644 index 0000000..30cbc73 --- /dev/null +++ b/src/web/RNSharedElementNode.ts @@ -0,0 +1,149 @@ +import { RNSharedElementStyle } from "./RNSharedElementStyle"; +import { RNSharedElementContent } from "./RNSharedElementContent"; +import { Rect } from "./Rect"; + +export type RNSharedElementNodeStyleCallback = ( + value: RNSharedElementStyle +) => void; +export type RNSharedElementNodeContentCallback = ( + value: RNSharedElementContent +) => void; + +export class RNSharedElementNode { + public readonly domNode: HTMLElement; + public readonly ancestorDomNode: HTMLElement | null; + public readonly isParent: boolean; + private hideRefCount: number = 0; + private refCount: number = 1; + private styleCache: RNSharedElementStyle | null = null; + private styleCallbacks: RNSharedElementNodeStyleCallback[] | null = null; + private contentCache: RNSharedElementContent | null = null; + private contentCallbacks: RNSharedElementNodeContentCallback[] | null = null; + + constructor( + domNode: HTMLElement, + isParent: boolean, + ancestorDomNode: HTMLElement | null + ) { + this.domNode = domNode; + this.isParent = isParent; + this.ancestorDomNode = ancestorDomNode; + } + + addRef() { + return ++this.refCount; + } + + releaseRef() { + return --this.refCount; + } + + addHideRef() { + this.hideRefCount++; + if (this.hideRefCount === 1) { + //mHideAlpha = mView.getAlpha(); + //mView.setAlpha(0); + } + } + + releaseHideRef() { + this.hideRefCount--; + if (this.hideRefCount === 0) { + //mView.setAlpha(mHideAlpha); + } + } + + private static resolveElement(element: HTMLElement): HTMLElement { + // TODO + return element; + } + + get resolvedElement(): HTMLElement | null { + let element: HTMLElement = this.domNode; + if (this.isParent) { + const node: any = element; + if (node.childNodes.length === 1) { + return node.childNodes[0]; + } else if (node.childNodes.length <= 0) { + console.log("Child for parent doesnt exist"); + return null; + } + } + return RNSharedElementNode.resolveElement(element); + } + + get ancestorElement(): HTMLElement | null { + return this.ancestorDomNode; + } + + requestStyle(): Promise { + if (this.styleCache) { + return Promise.resolve(this.styleCache); + } + return new Promise(resolve => { + this.styleCallbacks = this.styleCallbacks || []; + this.styleCallbacks.push(resolve); + if (!this.fetchInitialStyle()) { + //startRetryLoop(); + } + }); + } + + private fetchInitialStyle(): boolean { + const element: any = this.resolvedElement; + if (!element) return false; + if (!this.styleCallbacks) return true; + + // Fetch layout + const layout = new Rect(element.getBoundingClientRect()); + + // Create style + const style = new RNSharedElementStyle(layout, element.style); + + // Update cache + this.styleCache = style; + + // Notify callbacks + const callbacks = this.styleCallbacks; + this.styleCallbacks = null; + callbacks.forEach(callback => callback(style)); + return true; + } + + requestContent(): Promise { + if (this.contentCache) { + return Promise.resolve(this.contentCache); + } + return new Promise(resolve => { + this.contentCallbacks = this.contentCallbacks || []; + this.contentCallbacks.push(resolve); + if (!this.fetchInitialContent()) { + //startRetryLoop(); + } + }); + } + + private fetchInitialContent(): boolean { + const element = this.resolvedElement; + if (!element) return false; + if (!this.contentCallbacks) return true; + + // Fetch content + const size = RNSharedElementContent.getSize(element); + if (!size) { + return false; + } + + // Create content + const content = new RNSharedElementContent(size); + + // Update cache + this.contentCache = content; + + // Notify callbacks + const callbacks = this.contentCallbacks; + this.contentCallbacks = null; + callbacks.forEach(callback => callback(content)); + return true; + } +} diff --git a/web/RNSharedElementNodeManager.ts b/src/web/RNSharedElementNodeManager.ts similarity index 57% rename from web/RNSharedElementNodeManager.ts rename to src/web/RNSharedElementNodeManager.ts index 22bf8ce..9a46a2b 100644 --- a/web/RNSharedElementNodeManager.ts +++ b/src/web/RNSharedElementNodeManager.ts @@ -1,12 +1,20 @@ import { RNSharedElementNode } from "./RNSharedElementNode"; export class RNSharedElementNodeManager { - private nodes = new Map(); + private nodes = new Map(); + private static instance: RNSharedElementNodeManager; + + static getInstance(): RNSharedElementNodeManager { + if (!RNSharedElementNodeManager.instance) { + RNSharedElementNodeManager.instance = new RNSharedElementNodeManager(); + } + return RNSharedElementNodeManager.instance; + } acquire( - domNode: Element, + domNode: HTMLElement, isParent: boolean, - ancestorDomNode: Element + ancestorDomNode: HTMLElement | null ): RNSharedElementNode { let node = this.nodes.get(domNode); if (node) { diff --git a/src/web/RNSharedElementStyle.ts b/src/web/RNSharedElementStyle.ts new file mode 100644 index 0000000..a973693 --- /dev/null +++ b/src/web/RNSharedElementStyle.ts @@ -0,0 +1,24 @@ +import { Rect } from "./Rect"; + +/*int backgroundColor = Color.TRANSPARENT; + float opacity = 1; + float borderTopLeftRadius = 0; + float borderTopRightRadius = 0; + float borderBottomLeftRadius = 0; + float borderBottomRightRadius = 0; + float borderWidth = 0; + int borderColor = Color.TRANSPARENT; + String borderStyle = "solid"; + float elevation = 0;*/ + +type CSSStyleDeclaration = any; + +export class RNSharedElementStyle { + public readonly layout: Rect; + public readonly style: CSSStyleDeclaration; + + constructor(layout: Rect, style: CSSStyleDeclaration) { + this.layout = layout; + this.style = style; + } +} diff --git a/src/web/RNSharedElementTransition.ts b/src/web/RNSharedElementTransition.ts new file mode 100644 index 0000000..26fb629 --- /dev/null +++ b/src/web/RNSharedElementTransition.ts @@ -0,0 +1,110 @@ +import * as React from "react"; +// import { View } from 'react-native'; +import { RNSharedElementTransitionItem } from "./RNSharedElementTransitionItem"; +// import { RNSharedElementNode } from "./RNSharedElementNode"; +import { RNSharedElementNodeManager } from "./RNSharedElementNodeManager"; +import { + RNSharedElementNodeConfig, + RNSharedElementAnimation, + RNSharedElementResize, + RNSharedElementAlign +} from "./types"; + +type PropsType = { + startNode: { + node: RNSharedElementNodeConfig | null; + ancestor: RNSharedElementNodeConfig | null; + }; + endNode: { + node: RNSharedElementNodeConfig | null; + ancestor: RNSharedElementNodeConfig | null; + }; + nodePosition: number | any; + animation: RNSharedElementAnimation; + resize?: RNSharedElementResize; + align?: RNSharedElementAlign; + //onMeasure?: (event: SharedElementOnMeasureEvent) => void; +}; +type StateType = { + items: RNSharedElementTransitionItem[]; +}; + +export class RNSharedElementTransition extends React.Component< + PropsType, + StateType +> { + constructor(props: PropsType) { + super(props); + this.state = { + items: [ + new RNSharedElementTransitionItem( + RNSharedElementNodeManager.getInstance(), + "start" + ), + new RNSharedElementTransitionItem( + RNSharedElementNodeManager.getInstance(), + "end" + ) + ] + }; + } + + static getDerivedStateFromProps(props: PropsType, state: StateType) { + const { startNode, endNode } = props; + state.items[0].node = startNode.node + ? RNSharedElementNodeManager.getInstance().acquire( + startNode.node.nodeHandle, + startNode.node.isParent, + startNode.ancestor ? startNode.ancestor.nodeHandle : null + ) + : null; + state.items[1].node = endNode.node + ? RNSharedElementNodeManager.getInstance().acquire( + endNode.node.nodeHandle, + endNode.node.isParent, + endNode.ancestor ? endNode.ancestor.nodeHandle : null + ) + : null; + return null; + } + + componentDidMount() { + this.requestStylesAndContent(); + } + + componentWillUnmount() { + this.state.items.forEach(item => (item.node = null)); + } + + render() { + const { nodePosition } = this.props; + console.log('RNSharedElementTransition.render: ', nodePosition); + return null; + } + + private requestStylesAndContent() { + const { items } = this.state; + items.forEach(item => { + if (item.needsStyle) { + item.needsStyle = false; + item.node!.requestStyle().then(style => { + item.style = style; + this.forceUpdate(); + this.updateNodeVisibility(); + }); + } + if (item.needsContent) { + item.needsContent = false; + item.node!.requestContent().then(content => { + item.content = content; + this.forceUpdate(); + this.updateNodeVisibility(); + }); + } + }); + } + + private updateNodeVisibility() { + // TODO + } +} diff --git a/web/RNSharedElementTransitionItem.ts b/src/web/RNSharedElementTransitionItem.ts similarity index 100% rename from web/RNSharedElementTransitionItem.ts rename to src/web/RNSharedElementTransitionItem.ts diff --git a/web/RNSharedElementView.ts b/src/web/RNSharedElementView.ts similarity index 100% rename from web/RNSharedElementView.ts rename to src/web/RNSharedElementView.ts diff --git a/src/web/Rect.ts b/src/web/Rect.ts new file mode 100644 index 0000000..d60e4cf --- /dev/null +++ b/src/web/Rect.ts @@ -0,0 +1,23 @@ + +export interface IRect { + readonly x: number; + readonly y: number; + readonly width: number; + readonly height: number; +} + +export class Rect implements IRect { + public x: number = 0; + public y: number = 0; + public width: number = 0; + public height: number = 0; + + constructor(source?: IRect) { + if (source) { + this.x = source.x; + this.y = source.y; + this.width = source.width; + this.height = source.height; + } + } +} diff --git a/web/WORK_IN_PROGRESS.md b/src/web/WORK_IN_PROGRESS.md similarity index 100% rename from web/WORK_IN_PROGRESS.md rename to src/web/WORK_IN_PROGRESS.md diff --git a/src/web/index.tsx b/src/web/index.tsx new file mode 100644 index 0000000..d0ec549 --- /dev/null +++ b/src/web/index.tsx @@ -0,0 +1 @@ +export * from "./RNSharedElementTransition"; diff --git a/src/web/types.ts b/src/web/types.ts new file mode 100644 index 0000000..b3d2a64 --- /dev/null +++ b/src/web/types.ts @@ -0,0 +1,32 @@ +export type RNSharedElementNodeConfig = { + nodeHandle: HTMLElement; + isParent: boolean; + nodeStyle: any; +}; + +export enum RNSharedElementAnimation { + Move = 0, + Fade = 1, + FadeIn = 2, + FadeOut = 3 +} + +export enum RNSharedElementResize { + Auto = 0, + Stretch = 1, + Clip = 2, + None = 3 +} + +export enum RNSharedElementAlign { + Auto = 0, + LeftTop = 1, + LeftCenter = 2, + LeftBottom = 3, + RightTop = 4, + RightCenter = 5, + RightBottom = 6, + CenterTop = 7, + CenterCenter = 8, + CenterBottom = 9 +} diff --git a/web/RNSharedElementContent.ts b/web/RNSharedElementContent.ts deleted file mode 100644 index 42fd92c..0000000 --- a/web/RNSharedElementContent.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Rect } from "./Rect"; - -export class RNSharedElementContent { - public readonly size: Rect; - - constructor(size: Rect) { - this.size = size; - } -} diff --git a/web/RNSharedElementNode.ts b/web/RNSharedElementNode.ts deleted file mode 100644 index d9bb53a..0000000 --- a/web/RNSharedElementNode.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { RNSharedElementStyle } from "./RNSharedElementStyle"; -import { RNSharedElementContent } from "./RNSharedElementContent"; - -export type RNSharedElementNodeStyleCallback = ( - style: RNSharedElementStyle, - node: RNSharedElementNode -) => void; -export type RNSharedElementNodeContentCallback = ( - content: RNSharedElementContent, - node: RNSharedElementNode -) => void; - -export class RNSharedElementNode { - public readonly domNode: Element; - public readonly ancestorDomNode: Element; - public readonly isParent: boolean; - private hideRefCount: number = 0; - private refCount: number = 1; - private styleCache: RNSharedElementStyle | null = null; - private styleCallbacks: RNSharedElementNodeStyleCallback[] | null = null; - private contentCache: RNSharedElementContent | null = null; - private contentCallbacks: RNSharedElementNodeContentCallback[] | null = null; - - constructor(domNode: Element, isParent: boolean, ancestorDomNode: Element) { - this.domNode = domNode; - this.isParent = isParent; - this.ancestorDomNode = ancestorDomNode; - } - - addRef() { - return ++this.refCount; - } - - releaseRef() { - return --this.refCount; - } - - addHideRef() { - this.hideRefCount++; - if (this.hideRefCount === 1) { - //mHideAlpha = mView.getAlpha(); - //mView.setAlpha(0); - } - } - - releaseHideRef() { - this.hideRefCount--; - if (this.hideRefCount === 0) { - //mView.setAlpha(mHideAlpha); - } - } - - requestStyle(callback: RNSharedElementNodeStyleCallback) { - if (this.styleCache) { - callback(this.styleCache, this); - return; - } - this.styleCallbacks = this.styleCallbacks || []; - this.styleCallbacks.push(callback); - if (!this.fetchInitialStyle()) { - //startRetryLoop(); - } - } - - private fetchInitialStyle(): boolean { - // TODO - return false; - } - - requestContent(callback: RNSharedElementNodeContentCallback) { - if (this.contentCache) { - callback(this.contentCache, this); - return; - } - this.contentCallbacks = this.contentCallbacks || []; - this.contentCallbacks.push(callback); - if (!this.fetchInitialContent()) { - //startRetryLoop(); - } - } - - private fetchInitialContent(): boolean { - // TODO - return false; - } -} diff --git a/web/RNSharedElementStyle.ts b/web/RNSharedElementStyle.ts deleted file mode 100644 index ad3901d..0000000 --- a/web/RNSharedElementStyle.ts +++ /dev/null @@ -1,11 +0,0 @@ -export class RNSharedElementStyle { - constructor() {} - - addHideRef() { - // ToDO - } - - releaseHideRef() { - // ToDO - } -} diff --git a/web/RNSharedElementTransition.ts b/web/RNSharedElementTransition.ts deleted file mode 100644 index 864ebd1..0000000 --- a/web/RNSharedElementTransition.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { RNSharedElementTransitionItemType } from "./types"; -import { RNSharedElementTransitionItem } from "./RNSharedElementTransitionItem"; -import { RNSharedElementNode } from "./RNSharedElementNode"; -import { RNSharedElementNodeManager } from "./RNSharedElementNodeManager"; - -export class RNSharedElementTransition { - private items: RNSharedElementTransitionItem[]; - - constructor(nodeManager: RNSharedElementNodeManager) { - this.items = [ - new RNSharedElementTransitionItem(nodeManager, "start"), - new RNSharedElementTransitionItem(nodeManager, "end") - ]; - } - - setItemNode( - itemType: RNSharedElementTransitionItemType, - node: RNSharedElementNode - ) { - this.items[itemType].node = node; - } -} diff --git a/web/Rect.ts b/web/Rect.ts deleted file mode 100644 index 5c32fc1..0000000 --- a/web/Rect.ts +++ /dev/null @@ -1,6 +0,0 @@ -export class Rect { - public x: number = 0; - public y: number = 0; - public width: number = 0; - public height: number = 0; -} diff --git a/web/types.ts b/web/types.ts deleted file mode 100644 index d15deca..0000000 --- a/web/types.ts +++ /dev/null @@ -1,31 +0,0 @@ -export enum RNSharedElementTransitionItemType { - Start = 0, - End = 1 -} - -export enum RNSharedElementAnimation { - Move = 0, - Fade = 1, - FadeIn = 2, - FadeOut = 3 -} - -export enum RNSharedElementResize { - Auto = 0, - Stretch = 1, - Clip = 2, - None = 3 -} - -export enum RNSharedElementAlign { - Auto = 0, - LEFT_TOP = 1, - LEFT_CENTER = 2, - LEFT_BOTTOM = 3, - RIGHT_TOP = 4, - RIGHT_CENTER = 5, - RIGHT_BOTTOM = 6, - CENTER_TOP = 7, - CENTER_CENTER = 8, - CENTER_BOTTOM = 9 -} From 9e14b56ff722e06d2b4efd2762d8df34095782bb Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Fri, 6 Sep 2019 16:50:45 +0200 Subject: [PATCH 06/46] style: reformatted readme --- README.md | 40 ++++++++++++++++------------------------ 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 105d74b..6d49508 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,34 @@ - # react-native-shared-element -Native shared element transition *"primitives"* for react-native 💫 +Native shared element transition _"primitives"_ for react-native 💫 This library in itself is not a Navigation- or Router library. Instead, it provides a set of comprehensive full native building blocks for performing shared element transitions in Router- or Transition libraries. If you are looking [for the React Navigation binding, you can find it here](https://github.com/IjzerenHein/react-navigation-shared-element). ![MagicMoveGif](set-ios.gif) ![MagicMoveGif](set-android.gif) - ## Motivation Shared-element transitions add **shine** to your app but can be hard to do in practise. -It's possible to achieve some nice transitions by building custom modals and using the the core `react-native API`, But this also brings with it many restrictions. Things like resizing an image or making sure no *"flicker"* occurs even an older Android devices can be a real challenge. - -This library solves that problem through an all native implementation which is very close to the metal of the OS. It solves the problem by providing a set of *"primitives"*, which don't require any back and forth passes over the react-native bridge. This way, the best possible performance is achieved and better image transitions can be accomplished. The following list is an impression of the kinds of problems that are solved through the native implementation. +It's possible to achieve some nice transitions by building custom modals and using the the core `react-native API`, But this also brings with it many restrictions. Things like resizing an image or making sure no _"flicker"_ occurs even an older Android devices can be a real challenge. -- [X] No flickering -- [X] CPU & GPU friendly -- [X] Image resizeMode transitions -- [X] Scrollview clipping -- [X] Border (radius, color, width) transitions -- [X] Background color transitions -- [X] Shadow transitions -- [X] Cross-fade transitions -- [X] Clipping reveal transitions +This library solves that problem through an all native implementation which is very close to the metal of the OS. It solves the problem by providing a set of _"primitives"_, which don't require any back and forth passes over the react-native bridge. This way, the best possible performance is achieved and better image transitions can be accomplished. The following list is an impression of the kinds of problems that are solved through the native implementation. +- [x] No flickering +- [x] CPU & GPU friendly +- [x] Image resizeMode transitions +- [x] Scrollview clipping +- [x] Border (radius, color, width) transitions +- [x] Background color transitions +- [x] Shadow transitions +- [x] Cross-fade transitions +- [x] Clipping reveal transitions ## Under development This library is under active development. The iOS and Android implementations are mostly done, which exception of some edge cases. The library also aims to support the `web` platform with an optimized DOM implementation. That development hasn't started yet. - ## Index - [Motivation](#motivation) @@ -53,7 +49,6 @@ The library also aims to support the `web` platform with an optimized DOM implem - [License](#license) - [Credits](#credits) - ## Installation ```bash @@ -120,13 +115,14 @@ const position = new Animated.Value(0); ## How it works -react-native-shared-element is a *"primitive"* that runs shared element transitions +react-native-shared-element is a _"primitive"_ that runs shared element transitions entirely native without requiring any passes over the JavaScript bridge. It works by taking in a start- and end node, which are obtained using the `` component. Whenever a transition between screens occurs (e.g. performed by a router/navigator), a view in front of the app should be rendered to host the shared element transition. The `position` prop is used to interpolate between the start- and end nodes, `0` meaning "Show the start node" and `1` meaning "Show the end node". Whenever the `` component is rendered, it performs the following tasks: + - Measure the size and position of the provided element - Obtain the styles of the elements - Obtain the visual content of the elements (e.g. an image or a view snapshot) @@ -136,7 +132,7 @@ Whenever the `` component is rendered, it performs the - Upon unmount, unhide the original elements You typically do not use this component directly, but instead use a Router or Transition-engine which provides a higher-level API. -See [`./Example/src/components/Router.js`](./Example/src/components/Router.js) for an example implementation of a simple stack router using +See [`./Example/src/components/Router.js`](./Example/src/components/Router.js) for an example implementation of a simple stack router using shared element transitions. ## API Documentation @@ -175,7 +171,7 @@ The `` component executes a shared element transition n The transition effect can be controlled using the `animation`, `resize` and `align` props. In most cases you should leave these to their default values for the best possible results. -If however the start- element and end elements are visually different, then it can make +If however the start- element and end elements are visually different, then it can make sense to choose different values. For instance, if you are transitioning from a `` with a `white` color to a `` with a `black` color, then using `animation="fade"` will create a cross-fade between them. @@ -185,7 +181,6 @@ description in the end- view. A `stretch` effect would in this case not look goo the end- element is much larger in size compared the start- element. In this case you can use `resize="clip"` and `align="left-top"` to create a text reveal effect. - #### SharedElementAnimation | Animation | Description | @@ -195,7 +190,6 @@ In this case you can use `resize="clip"` and `align="left-top"` to create a text | `fade-in` | Fade-in the end element coming from the start position (start-element is not visible) | | `fade-out` | Fade-out the start element to the end position (end-element is not visible) | - #### SharedElementResize | Resize | Description | @@ -205,7 +199,6 @@ In this case you can use `resize="clip"` and `align="left-top"` to create a text | `clip` | Do not resize, but clip the content to the size of the other content. This option is for instance useful in combination with `` components, where you want to reveal more text. | | `none` | Do not resize the content. When combined with `fade`, this creates a plain cross-fade effect without any resizing or clipping | - #### SharedElementAlign `auto`, `left-center`, `left-top`, `left-right`, `right-center`, `right-top`, `right-right`, `center-top` `center-center`, `center-bottom` @@ -237,7 +230,6 @@ react-native run-android Shared element transition library is licensed under [The MIT License](./LICENSE.txt). - ## Credits This project is supported by amazing people from [Expo.io](https://expo.io) From 8e24e3f6194ee9e752abe8df4aeac4d7f5c29baf Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Sat, 7 Sep 2019 09:16:45 +0200 Subject: [PATCH 07/46] test(web): fixed warning on `resizeMode` in example app --- Example/src/screens/TilesScreen.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Example/src/screens/TilesScreen.js b/Example/src/screens/TilesScreen.js index b8133a6..79a33b3 100644 --- a/Example/src/screens/TilesScreen.js +++ b/Example/src/screens/TilesScreen.js @@ -82,7 +82,6 @@ const styles = StyleSheet.create({ borderTopRightRadius: 20, height: 200, width: "100%", - resizeMode: "cover", overflow: "hidden" }, cardImage2: { @@ -236,7 +235,7 @@ export class TilesScreen extends React.Component { - + Date: Sat, 7 Sep 2019 09:19:47 +0200 Subject: [PATCH 08/46] test(web): fixed tiles screen not showing images on web --- Example/src/screens/TilesScreen.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Example/src/screens/TilesScreen.js b/Example/src/screens/TilesScreen.js index 79a33b3..8d113f1 100644 --- a/Example/src/screens/TilesScreen.js +++ b/Example/src/screens/TilesScreen.js @@ -27,7 +27,7 @@ import { fadeIn } from "../transitions"; import TouchableScale from "react-native-touchable-scale"; const styles = StyleSheet.create({ - container: { + flex: { flex: 1 }, list: { @@ -133,7 +133,7 @@ export class TilesScreen extends React.Component { const { title, navigation } = this.props; const type = navigation ? navigation.getParam("type") : this.props.type; return ( - + {!navigation ? : undefined} { activeOpacity={1} onPress={() => this.onPressItem(hero)} > - + { - + Date: Sat, 7 Sep 2019 12:18:40 +0200 Subject: [PATCH 09/46] feat(web): wip basic transitions infra --- src/RNSharedElementTransition.web.tsx | 1 - ....tsx => RNSharedElementTransitionView.tsx} | 2 +- src/RNSharedElementTransitionView.web.tsx | 76 ++++++ src/SharedElementTransition.tsx | 8 +- src/web/RNSharedElementContent.ts | 9 +- src/web/RNSharedElementNode.ts | 43 +++- src/web/RNSharedElementNodeManager.ts | 2 +- src/web/RNSharedElementStyle.ts | 73 ++++++ src/web/RNSharedElementTransition.ts | 243 ++++++++++++------ src/web/Rect.ts | 1 - src/web/{index.tsx => index.ts} | 1 + 11 files changed, 364 insertions(+), 95 deletions(-) delete mode 100644 src/RNSharedElementTransition.web.tsx rename src/{RNSharedElementTransition.tsx => RNSharedElementTransitionView.tsx} (89%) create mode 100644 src/RNSharedElementTransitionView.web.tsx rename src/web/{index.tsx => index.ts} (64%) diff --git a/src/RNSharedElementTransition.web.tsx b/src/RNSharedElementTransition.web.tsx deleted file mode 100644 index 271536f..0000000 --- a/src/RNSharedElementTransition.web.tsx +++ /dev/null @@ -1 +0,0 @@ -export * from "./web/RNSharedElementTransition"; diff --git a/src/RNSharedElementTransition.tsx b/src/RNSharedElementTransitionView.tsx similarity index 89% rename from src/RNSharedElementTransition.tsx rename to src/RNSharedElementTransitionView.tsx index 2585d3d..1c42c55 100644 --- a/src/RNSharedElementTransition.tsx +++ b/src/RNSharedElementTransitionView.tsx @@ -11,6 +11,6 @@ if (isAvailable) { }); } -export const RNSharedElementTransition = isAvailable +export const RNSharedElementTransitionView = isAvailable ? requireNativeComponent("RNSharedElementTransition") : undefined; diff --git a/src/RNSharedElementTransitionView.web.tsx b/src/RNSharedElementTransitionView.web.tsx new file mode 100644 index 0000000..ca72869 --- /dev/null +++ b/src/RNSharedElementTransitionView.web.tsx @@ -0,0 +1,76 @@ +import * as React from "react"; +import { View, findNodeHandle } from "react-native"; +import { + RNSharedElementTransition, + RNSharedElementNodeConfig, + RNSharedElementAnimation, + RNSharedElementResize, + RNSharedElementAlign +} from "./web"; + +type PropsType = { + startNode: { + node: RNSharedElementNodeConfig | null; + ancestor: RNSharedElementNodeConfig | null; + }; + endNode: { + node: RNSharedElementNodeConfig | null; + ancestor: RNSharedElementNodeConfig | null; + }; + nodePosition: number | any; + animation: RNSharedElementAnimation; + resize: RNSharedElementResize; + align: RNSharedElementAlign; + //onMeasure?: (event: SharedElementOnMeasureEvent) => void; +}; +type StateType = { + transition: RNSharedElementTransition; +}; + +export class RNSharedElementTransitionView extends React.Component< + PropsType, + StateType +> { + state = { + transition: new RNSharedElementTransition() + }; + + static getDerivedStateFromProps(props: PropsType, state: StateType) { + const { + startNode, + endNode, + animation, + resize, + align, + nodePosition + } = props; + const { transition } = state; + transition.setNode(false, startNode.node, startNode.ancestor); + transition.setNode(true, endNode.node, endNode.ancestor); + transition.nodePosition = nodePosition; + transition.animation = animation; + transition.resize = resize; + transition.align = align; + transition.didSetProps(); + return null; + } + + shouldComponentUpdate() { + return false; + } + + componentWillUnmount() { + this.state.transition.destroy(); + } + + render() { + // console.log("RNSharedElementTransitionView.render"); + return ; + } + + private onSetRef = (ref: any) => { + if (!ref) return; + const element: any = ref ? findNodeHandle(ref) : null; + this.state.transition.element = element; + }; +} diff --git a/src/SharedElementTransition.tsx b/src/SharedElementTransition.tsx index 5f6668a..ad32eef 100644 --- a/src/SharedElementTransition.tsx +++ b/src/SharedElementTransition.tsx @@ -16,7 +16,7 @@ import { SharedElementNodeType, SharedElementContentType } from "./types"; -import { RNSharedElementTransition } from "./RNSharedElementTransition"; +import { RNSharedElementTransitionView } from "./RNSharedElementTransitionView"; export type SharedElementMeasureData = { node: SharedElementNodeType; @@ -123,8 +123,8 @@ type StateType = { endAncestor?: SharedElementMeasureData; }; -export const RNAnimatedSharedElementTransition = RNSharedElementTransition - ? Animated.createAnimatedComponent(RNSharedElementTransition) +export const RNAnimatedSharedElementTransitionView = RNSharedElementTransitionView + ? Animated.createAnimatedComponent(RNSharedElementTransitionView) : undefined; export class SharedElementTransition extends React.Component< @@ -134,7 +134,7 @@ export class SharedElementTransition extends React.Component< static defaultProps = { start: {}, end: {}, - SharedElementComponent: RNAnimatedSharedElementTransition, + SharedElementComponent: RNAnimatedSharedElementTransitionView, animation: "move", resize: "auto", align: "auto" diff --git a/src/web/RNSharedElementContent.ts b/src/web/RNSharedElementContent.ts index 086f0da..dc70a6c 100644 --- a/src/web/RNSharedElementContent.ts +++ b/src/web/RNSharedElementContent.ts @@ -1,21 +1,22 @@ import { Rect } from "./Rect"; export class RNSharedElementContent { + public readonly element: HTMLElement; public readonly size: Rect; - constructor(size: Rect) { + constructor(element: HTMLElement, size: Rect) { + this.element = element; this.size = size; } static getSize(element: any): Rect | null { - //console.log('RNSharedElementContent.getSize: ', element); return new Rect({ x: 0, y: 0, width: element.clientWidth || 0, - height: element.clientHeight || 0, - }) + height: element.clientHeight || 0 + }); } } diff --git a/src/web/RNSharedElementNode.ts b/src/web/RNSharedElementNode.ts index 30cbc73..7708a82 100644 --- a/src/web/RNSharedElementNode.ts +++ b/src/web/RNSharedElementNode.ts @@ -11,9 +11,10 @@ export type RNSharedElementNodeContentCallback = ( export class RNSharedElementNode { public readonly domNode: HTMLElement; - public readonly ancestorDomNode: HTMLElement | null; + public readonly ancestorDomNode: HTMLElement; public readonly isParent: boolean; private hideRefCount: number = 0; + private hideOpacity: number = 0; private refCount: number = 1; private styleCache: RNSharedElementStyle | null = null; private styleCallbacks: RNSharedElementNodeStyleCallback[] | null = null; @@ -23,7 +24,7 @@ export class RNSharedElementNode { constructor( domNode: HTMLElement, isParent: boolean, - ancestorDomNode: HTMLElement | null + ancestorDomNode: HTMLElement ) { this.domNode = domNode; this.isParent = isParent; @@ -41,15 +42,17 @@ export class RNSharedElementNode { addHideRef() { this.hideRefCount++; if (this.hideRefCount === 1) { - //mHideAlpha = mView.getAlpha(); - //mView.setAlpha(0); + const element: any = this.resolvedElement; + this.hideOpacity = element.style.opacity; + element.style.opacity = 0; } } releaseHideRef() { this.hideRefCount--; if (this.hideRefCount === 0) { - //mView.setAlpha(mHideAlpha); + const element: any = this.resolvedElement; + element.style.opacity = this.hideOpacity; } } @@ -72,7 +75,7 @@ export class RNSharedElementNode { return RNSharedElementNode.resolveElement(element); } - get ancestorElement(): HTMLElement | null { + get resolvedAncestor(): HTMLElement | null { return this.ancestorDomNode; } @@ -84,6 +87,7 @@ export class RNSharedElementNode { this.styleCallbacks = this.styleCallbacks || []; this.styleCallbacks.push(resolve); if (!this.fetchInitialStyle()) { + console.debug("Failed to fetch style"); //startRetryLoop(); } }); @@ -91,15 +95,29 @@ export class RNSharedElementNode { private fetchInitialStyle(): boolean { const element: any = this.resolvedElement; - if (!element) return false; + const ancestor: any = this.resolvedAncestor; + if (!element || !ancestor) return false; if (!this.styleCallbacks) return true; // Fetch layout - const layout = new Rect(element.getBoundingClientRect()); + const rect = element.getBoundingClientRect(); + // const ancestorTransform = ancestor.style.transform; + const ancestorRect = ancestor.getBoundingClientRect(); + // console.log("ancestorTransform: ", ancestor.style, ancestorRect); + const translateX = ancestorRect.x; // TODO + const translateY = ancestorRect.y; // TODO + const layout = new Rect({ + x: rect.x - translateX, + y: rect.y - translateY, + width: rect.width, + height: rect.height + }); // Create style const style = new RNSharedElementStyle(layout, element.style); + // console.debug("Style fetched: ", style); + // Update cache this.styleCache = style; @@ -118,24 +136,27 @@ export class RNSharedElementNode { this.contentCallbacks = this.contentCallbacks || []; this.contentCallbacks.push(resolve); if (!this.fetchInitialContent()) { + console.debug("Failed to fetch content"); //startRetryLoop(); } }); } private fetchInitialContent(): boolean { - const element = this.resolvedElement; + const element: any = this.resolvedElement; if (!element) return false; if (!this.contentCallbacks) return true; - // Fetch content + // Fetch content size const size = RNSharedElementContent.getSize(element); if (!size) { return false; } // Create content - const content = new RNSharedElementContent(size); + const content = new RNSharedElementContent(element, size); + + // console.debug("Content fetched: ", content); // Update cache this.contentCache = content; diff --git a/src/web/RNSharedElementNodeManager.ts b/src/web/RNSharedElementNodeManager.ts index 9a46a2b..e431294 100644 --- a/src/web/RNSharedElementNodeManager.ts +++ b/src/web/RNSharedElementNodeManager.ts @@ -14,7 +14,7 @@ export class RNSharedElementNodeManager { acquire( domNode: HTMLElement, isParent: boolean, - ancestorDomNode: HTMLElement | null + ancestorDomNode: HTMLElement ): RNSharedElementNode { let node = this.nodes.get(domNode); if (node) { diff --git a/src/web/RNSharedElementStyle.ts b/src/web/RNSharedElementStyle.ts index a973693..db184c3 100644 --- a/src/web/RNSharedElementStyle.ts +++ b/src/web/RNSharedElementStyle.ts @@ -21,4 +21,77 @@ export class RNSharedElementStyle { this.layout = layout; this.style = style; } + + public static getInterpolatedLayout( + layout1: Rect, + layout2: Rect, + position: number + ) { + return new Rect({ + x: layout1.x + (layout2.x - layout1.x) * position, + y: layout1.y + (layout2.y - layout1.y) * position, + width: layout1.width + (layout2.width - layout1.width) * position, + height: layout1.height + (layout2.height - layout1.height) * position + }); + } + + public static getInterpolatedColor( + color1: number, + color2: number, + position: number + ) { + /* TODO + int redA = Color.red(color1); + int greenA = Color.green(color1); + int blueA = Color.blue(color1); + int alphaA = Color.alpha(color1); + int redB = Color.red(color2); + int greenB = Color.green(color2); + int blueB = Color.blue(color2); + int alphaB = Color.alpha(color2); + return Color.argb( + (int) (alphaA + ((alphaB - alphaA) * position)), + (int) (redA + ((redB - redA) * position)), + (int) (greenA + ((greenB - greenA) * position)), + (int) (blueA + ((blueB - blueA) * position)) + );*/ + return color1 + (color2 - color1) * position; + } + + public static getInterpolatedStyle( + style1: RNSharedElementStyle, + style2: RNSharedElementStyle, + position: number + ) { + const layout = RNSharedElementStyle.getInterpolatedLayout( + style1.layout, + style2.layout, + position + ); + return new RNSharedElementStyle(layout, style1); + } + + /* + + private RNSharedElementStyle getInterpolatedStyle( + RNSharedElementStyle style1, + RNSharedElementContent content1, + RNSharedElementStyle style2, + RNSharedElementContent content2, + float position + ) { + RNSharedElementStyle result = new RNSharedElementStyle(); + result.scaleType = RNSharedElementStyle.getInterpolatingScaleType(style1, style2, position); + result.opacity = style1.opacity + ((style2.opacity - style1.opacity) * position); + result.backgroundColor = getInterpolatedColor(style1.backgroundColor, style2.backgroundColor, position); + result.borderTopLeftRadius = style1.borderTopLeftRadius + ((style2.borderTopLeftRadius - style1.borderTopLeftRadius) * position); + result.borderTopRightRadius = style1.borderTopRightRadius + ((style2.borderTopRightRadius - style1.borderTopRightRadius) * position); + result.borderBottomLeftRadius = style1.borderBottomLeftRadius + ((style2.borderBottomLeftRadius - style1.borderBottomLeftRadius) * position); + result.borderBottomRightRadius = style1.borderBottomRightRadius + ((style2.borderBottomRightRadius - style1.borderBottomRightRadius) * position); + result.borderWidth = style1.borderWidth + ((style2.borderWidth - style1.borderWidth) * position); + result.borderColor = getInterpolatedColor(style1.borderColor, style2.borderColor, position); + result.borderStyle = style1.borderStyle; + result.elevation = style1.elevation + ((style2.elevation - style1.elevation) * position); + return result; + }*/ } diff --git a/src/web/RNSharedElementTransition.ts b/src/web/RNSharedElementTransition.ts index 26fb629..8b27cc1 100644 --- a/src/web/RNSharedElementTransition.ts +++ b/src/web/RNSharedElementTransition.ts @@ -1,5 +1,3 @@ -import * as React from "react"; -// import { View } from 'react-native'; import { RNSharedElementTransitionItem } from "./RNSharedElementTransitionItem"; // import { RNSharedElementNode } from "./RNSharedElementNode"; import { RNSharedElementNodeManager } from "./RNSharedElementNodeManager"; @@ -9,102 +7,203 @@ import { RNSharedElementResize, RNSharedElementAlign } from "./types"; +import { Rect } from "./Rect"; +import { RNSharedElementStyle } from "./RNSharedElementStyle"; +import { RNSharedElementContent } from "./RNSharedElementContent"; -type PropsType = { - startNode: { - node: RNSharedElementNodeConfig | null; - ancestor: RNSharedElementNodeConfig | null; - }; - endNode: { - node: RNSharedElementNodeConfig | null; - ancestor: RNSharedElementNodeConfig | null; - }; - nodePosition: number | any; - animation: RNSharedElementAnimation; - resize?: RNSharedElementResize; - align?: RNSharedElementAlign; - //onMeasure?: (event: SharedElementOnMeasureEvent) => void; -}; -type StateType = { - items: RNSharedElementTransitionItem[]; -}; - -export class RNSharedElementTransition extends React.Component< - PropsType, - StateType -> { - constructor(props: PropsType) { - super(props); - this.state = { - items: [ - new RNSharedElementTransitionItem( - RNSharedElementNodeManager.getInstance(), - "start" - ), - new RNSharedElementTransitionItem( - RNSharedElementNodeManager.getInstance(), - "end" - ) - ] - }; - } +const EMPTY_RECT = new Rect(); - static getDerivedStateFromProps(props: PropsType, state: StateType) { - const { startNode, endNode } = props; - state.items[0].node = startNode.node - ? RNSharedElementNodeManager.getInstance().acquire( - startNode.node.nodeHandle, - startNode.node.isParent, - startNode.ancestor ? startNode.ancestor.nodeHandle : null - ) - : null; - state.items[1].node = endNode.node - ? RNSharedElementNodeManager.getInstance().acquire( - endNode.node.nodeHandle, - endNode.node.isParent, - endNode.ancestor ? endNode.ancestor.nodeHandle : null - ) - : null; - return null; - } +export class RNSharedElementTransition { + private items = [ + new RNSharedElementTransitionItem( + RNSharedElementNodeManager.getInstance(), + "start" + ), + new RNSharedElementTransitionItem( + RNSharedElementNodeManager.getInstance(), + "end" + ) + ]; + public animation: RNSharedElementAnimation = RNSharedElementAnimation.Move; + public resize: RNSharedElementResize = RNSharedElementResize.Auto; + public align: RNSharedElementAlign = RNSharedElementAlign.Auto; + public nodePosition: number = 0; + public element: HTMLElement | null = null; + private childElements: (HTMLElement | null)[] = [null, null]; - componentDidMount() { - this.requestStylesAndContent(); + public destroy() { + this.element = null; + this.items.forEach(item => (item.node = null)); } - componentWillUnmount() { - this.state.items.forEach(item => (item.node = null)); + public setNode( + end: boolean, + node: RNSharedElementNodeConfig | null, + ancestor: RNSharedElementNodeConfig | null + ) { + this.items[end ? 1 : 0].node = + node && ancestor + ? RNSharedElementNodeManager.getInstance().acquire( + node.nodeHandle, + node.isParent, + ancestor.nodeHandle + ) + : null; } - render() { - const { nodePosition } = this.props; - console.log('RNSharedElementTransition.render: ', nodePosition); - return null; + public didSetProps() { + this.requestStylesAndContent(); + this.updateLayout(); + this.updateNodeVisibility(); } private requestStylesAndContent() { - const { items } = this.state; - items.forEach(item => { + this.items.forEach(item => { if (item.needsStyle) { item.needsStyle = false; item.node!.requestStyle().then(style => { item.style = style; - this.forceUpdate(); - this.updateNodeVisibility(); + this.updateLayout(); }); } if (item.needsContent) { item.needsContent = false; item.node!.requestContent().then(content => { item.content = content; - this.forceUpdate(); - this.updateNodeVisibility(); + this.updateLayout(); }); } }); } private updateNodeVisibility() { + const { items, animation } = this; + items.forEach(item => { + let hidden = item.style && item.content ? true : false; + if ( + hidden && + animation === RNSharedElementAnimation.FadeIn && + item.name === "start" + ) + hidden = false; + if ( + hidden && + animation === RNSharedElementAnimation.FadeOut && + item.name === "end" + ) + hidden = false; + item.hidden = hidden; + }); + } + + private updateLayout() { + const { + element, + items, + nodePosition /*, animation, resize, align*/ + } = this; + if (!element) return; + + // Get styles + const startStyle = items[0].style; + const endStyle = items[1].style; + if (!startStyle && !endStyle) return; + + // Get content + let startContent = items[0].content; + // const endContent = items[1].content; + /*if ((animation == RNSharedElementAnimation.Move) && !startContent && endContent != null) { + startContent = endContent; + }*/ + + // Get layout + const startLayout = startStyle ? startStyle.layout : EMPTY_RECT; + const endLayout = endStyle ? endStyle.layout : EMPTY_RECT; + + // TODO CLIPPING + + // Get interpolated layout + let interpolatedLayout: Rect = startLayout; + let interpolatedStyle: RNSharedElementStyle = startStyle!; + // let interpolatedClipInsets: Rect = EMPTY_RECT; + if (startStyle && endStyle) { + interpolatedLayout = RNSharedElementStyle.getInterpolatedLayout( + startLayout, + endLayout, + nodePosition + ); + // interpolatedClipInsets = getInterpolatedClipInsets(parentLayout, startClipInsets, startClippedLayout, endClipInsets, endClippedLayout, mNodePosition); + interpolatedStyle = RNSharedElementStyle.getInterpolatedStyle( + startStyle, + endStyle, + nodePosition + ); + } else if (startStyle) { + interpolatedLayout = startLayout; + interpolatedStyle = startStyle; + // interpolatedClipInsets = startClipInsets; + } else { + interpolatedLayout = endLayout; + interpolatedStyle = endStyle!; + // interpolatedClipInsets = endClipInsets; + } + + this.updateChildElement( + 0, + interpolatedLayout, + interpolatedStyle, + startLayout, + startContent + ); + } + + private updateChildElement( + index: number, + interpolatedLayout: Rect, + // @ts-ignore + interpolatedStyle: RNSharedElementStyle, + // @ts-ignore + originalLayout: Rect, + content: RNSharedElementContent | null + ) { + const { element, childElements } = this; + let childElement: any = childElements[index]; + + // If the child-element does not yet exist, then clone it and add it to the DOM + const widthPx = interpolatedLayout.width + "px"; + const heightPx = interpolatedLayout.height + "px"; + if (!childElement) { + if (!content || !content.element) return; + childElement = (content.element as any).cloneNode(true); + childElements[index] = childElement; + (element as any).appendChild(childElement); + const { style } = childElement; + style.position = "absolute"; + style.left = "0px"; + style.top = "0px"; + style.width = widthPx; + style.height = heightPx; + style.pointerEvents = "none"; + style.transformOrigin = "0% 0%"; + style.transformStyle = "preserve-3d"; + style.backfaceVisibility = "hidden"; + style.boxSizing = "border-box"; + } + + // Update layout + const { style } = childElement; + if (style.width !== widthPx) style.width = widthPx; + if (style.height !== heightPx) style.height = heightPx; + const transform = `matrix3d( + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + ${interpolatedLayout.x}, ${interpolatedLayout.y}, 0, 1 + )`; + style.transform = transform; + //console.log("transform: ", style.transform, style, interpolatedLayout); + + // Update style // TODO } } diff --git a/src/web/Rect.ts b/src/web/Rect.ts index d60e4cf..d9d6ea4 100644 --- a/src/web/Rect.ts +++ b/src/web/Rect.ts @@ -1,4 +1,3 @@ - export interface IRect { readonly x: number; readonly y: number; diff --git a/src/web/index.tsx b/src/web/index.ts similarity index 64% rename from src/web/index.tsx rename to src/web/index.ts index d0ec549..ae83d7a 100644 --- a/src/web/index.tsx +++ b/src/web/index.ts @@ -1 +1,2 @@ export * from "./RNSharedElementTransition"; +export * from "./types"; From 944749bff320e6d15956eab78863b881d2d7d102 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Sat, 7 Sep 2019 12:20:40 +0200 Subject: [PATCH 10/46] test: add quick test option to example app (for deving) --- Example/src/screens/MainScreen.js | 31 ++++++++++++++++++++++++++++++- Example/src/tests/image/index.js | 1 + 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/Example/src/screens/MainScreen.js b/Example/src/screens/MainScreen.js index de36ef1..1ff962c 100644 --- a/Example/src/screens/MainScreen.js +++ b/Example/src/screens/MainScreen.js @@ -11,10 +11,13 @@ import { import { Router, NavBar, ListItem, Colors, Heading3 } from "../components"; import { TilesScreen } from "./TilesScreen"; import { TestsScreen } from "./TestsScreen"; +import { TestScreen } from "./TestScreen"; import { PagerScreen } from "./PagerScreen"; import { CardScreen } from "./CardScreen"; import { Tests } from "../tests"; -import { fadeIn } from "../transitions"; +import { TestImage } from "../tests/image"; +import type { Test } from "../types"; +import { fadeIn, fromRight } from "../transitions"; const styles = StyleSheet.create({ container: { @@ -61,6 +64,11 @@ export class MainScreen extends React.Component { undefined )} + {/**/} { ); } + onPressQuickTest = () => { + const { navigation } = this.props; + const test: Test = { + name: "Simple move", + description: + "The most basic form of a shared-element transition. The image should move smoothly without flickering from the start- to the end state, and back", + start: , + end: + }; + + if (navigation) { + navigation.push("Test", { + test + }); + } else { + Router.push(, { + transitionConfig: fromRight(100) + }); + } + }; + onPressTests = () => { const { navigation } = this.props; if (navigation) { diff --git a/Example/src/tests/image/index.js b/Example/src/tests/image/index.js index d217c70..965925a 100644 --- a/Example/src/tests/image/index.js +++ b/Example/src/tests/image/index.js @@ -1,2 +1,3 @@ // @flow export * from "./ImageTests"; +export * from "./TestImage"; From 4d853f1529abf4afac49e5c54cd8cf29a96a6385 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Sat, 7 Sep 2019 12:28:47 +0200 Subject: [PATCH 11/46] refactor(android): moved generic interpolation code to style class --- .../sharedelement/RNSharedElementStyle.java | 91 ++++++++++++++----- .../RNSharedElementTransition.java | 52 +---------- 2 files changed, 71 insertions(+), 72 deletions(-) diff --git a/android/src/main/java/com/ijzerenhein/sharedelement/RNSharedElementStyle.java b/android/src/main/java/com/ijzerenhein/sharedelement/RNSharedElementStyle.java index 6109797..beab72c 100644 --- a/android/src/main/java/com/ijzerenhein/sharedelement/RNSharedElementStyle.java +++ b/android/src/main/java/com/ijzerenhein/sharedelement/RNSharedElementStyle.java @@ -4,6 +4,7 @@ import android.util.Log; import android.graphics.Rect; +import android.graphics.RectF; import android.graphics.Color; import android.graphics.Matrix; import android.view.View; @@ -117,6 +118,28 @@ public class RNSharedElementStyle { if (config.hasKey("borderBottomRightRadius")) borderBottomRightRadius = PixelUtil.toPixelFromDIP((float) config.getDouble("borderBottomRightRadius")); } + int compare(RNSharedElementStyle style) { + int res = 0; + if (opacity != style.opacity) res += PROP_OPACITY; + if (backgroundColor != style.backgroundColor) res += PROP_BACKGROUND_COLOR; + if (borderColor != style.borderColor) res += PROP_BORDER_COLOR; + if (borderWidth != style.borderWidth) res += PROP_BORDER_WIDTH; + if (!borderStyle.equals(style.borderStyle)) res += PROP_BORDER_STYLE; + if (borderTopLeftRadius != style.borderTopLeftRadius) res += PROP_BORDER_TOPLEFTRADIUS; + if (borderTopRightRadius != style.borderTopRightRadius) res += PROP_BORDER_TOPRIGHTRADIUS; + if (borderBottomLeftRadius != style.borderBottomLeftRadius) res += PROP_BORDER_BOTTOMLEFTRADIUS; + if (borderBottomRightRadius != style.borderBottomRightRadius) res += PROP_BORDER_BOTTOMRIGHT_RADIUS; + if (elevation != style.elevation) res += PROP_ELEVATION; + if (!RNSharedElementStyle.equalsScaleType(scaleType, style.scaleType)) res += PROP_SCALETYPE; + return res; + } + + boolean isVisible() { + if (opacity <= 0) return false; + if (elevation > 0) return true; + return (Color.alpha(backgroundColor) > 0) || (Color.alpha(borderColor) > 0); + } + static boolean equalsScaleType(ScaleType scaleType1, ScaleType scaleType2) { if (scaleType1 == scaleType2) return true; return false; @@ -134,6 +157,52 @@ static ScaleType getInterpolatingScaleType(RNSharedElementStyle style1, RNShared return scaleType; } + static RectF getInterpolatedLayout(Rect layout1, Rect layout2, float position) { + return new RectF( + (layout1.left + ((layout2.left - layout1.left) * position)), + (layout1.top + ((layout2.top - layout1.top) * position)), + (layout1.right + ((layout2.right - layout1.right) * position)), + (layout1.bottom + ((layout2.bottom - layout1.bottom) * position)) + ); + } + + static int getInterpolatedColor(int color1, int color2, float position) { + int redA = Color.red(color1); + int greenA = Color.green(color1); + int blueA = Color.blue(color1); + int alphaA = Color.alpha(color1); + int redB = Color.red(color2); + int greenB = Color.green(color2); + int blueB = Color.blue(color2); + int alphaB = Color.alpha(color2); + return Color.argb( + (int) (alphaA + ((alphaB - alphaA) * position)), + (int) (redA + ((redB - redA) * position)), + (int) (greenA + ((greenB - greenA) * position)), + (int) (blueA + ((blueB - blueA) * position)) + ); + } + + static RNSharedElementStyle getInterpolatedStyle( + RNSharedElementStyle style1, + RNSharedElementStyle style2, + float position + ) { + RNSharedElementStyle result = new RNSharedElementStyle(); + result.scaleType = RNSharedElementStyle.getInterpolatingScaleType(style1, style2, position); + result.opacity = style1.opacity + ((style2.opacity - style1.opacity) * position); + result.backgroundColor = RNSharedElementStyle.getInterpolatedColor(style1.backgroundColor, style2.backgroundColor, position); + result.borderTopLeftRadius = style1.borderTopLeftRadius + ((style2.borderTopLeftRadius - style1.borderTopLeftRadius) * position); + result.borderTopRightRadius = style1.borderTopRightRadius + ((style2.borderTopRightRadius - style1.borderTopRightRadius) * position); + result.borderBottomLeftRadius = style1.borderBottomLeftRadius + ((style2.borderBottomLeftRadius - style1.borderBottomLeftRadius) * position); + result.borderBottomRightRadius = style1.borderBottomRightRadius + ((style2.borderBottomRightRadius - style1.borderBottomRightRadius) * position); + result.borderWidth = style1.borderWidth + ((style2.borderWidth - style1.borderWidth) * position); + result.borderColor = RNSharedElementStyle.getInterpolatedColor(style1.borderColor, style2.borderColor, position); + result.borderStyle = style1.borderStyle; + result.elevation = style1.elevation + ((style2.elevation - style1.elevation) * position); + return result; + } + static Matrix getAbsoluteViewTransform(View view, boolean failIfNotMounted) { Matrix matrix = new Matrix(view.getMatrix()); float[] vals = new float[9]; @@ -164,26 +233,4 @@ static Matrix getAbsoluteViewTransform(View view, boolean failIfNotMounted) { matrix.setValues(vals); return matrix; } - - int compare(RNSharedElementStyle style) { - int res = 0; - if (opacity != style.opacity) res += PROP_OPACITY; - if (backgroundColor != style.backgroundColor) res += PROP_BACKGROUND_COLOR; - if (borderColor != style.borderColor) res += PROP_BORDER_COLOR; - if (borderWidth != style.borderWidth) res += PROP_BORDER_WIDTH; - if (!borderStyle.equals(style.borderStyle)) res += PROP_BORDER_STYLE; - if (borderTopLeftRadius != style.borderTopLeftRadius) res += PROP_BORDER_TOPLEFTRADIUS; - if (borderTopRightRadius != style.borderTopRightRadius) res += PROP_BORDER_TOPRIGHTRADIUS; - if (borderBottomLeftRadius != style.borderBottomLeftRadius) res += PROP_BORDER_BOTTOMLEFTRADIUS; - if (borderBottomRightRadius != style.borderBottomRightRadius) res += PROP_BORDER_BOTTOMRIGHT_RADIUS; - if (elevation != style.elevation) res += PROP_ELEVATION; - if (!RNSharedElementStyle.equalsScaleType(scaleType, style.scaleType)) res += PROP_SCALETYPE; - return res; - } - - boolean isVisible() { - if (opacity <= 0) return false; - if (elevation > 0) return true; - return (Color.alpha(backgroundColor) > 0) || (Color.alpha(borderColor) > 0); - } } diff --git a/android/src/main/java/com/ijzerenhein/sharedelement/RNSharedElementTransition.java b/android/src/main/java/com/ijzerenhein/sharedelement/RNSharedElementTransition.java index 4a9f0f6..f60396c 100644 --- a/android/src/main/java/com/ijzerenhein/sharedelement/RNSharedElementTransition.java +++ b/android/src/main/java/com/ijzerenhein/sharedelement/RNSharedElementTransition.java @@ -213,9 +213,9 @@ private void updateLayout() { RectF interpolatedClipInsets; RNSharedElementStyle interpolatedStyle; if ((startStyle != null) && (endStyle != null)) { - interpolatedLayout = getInterpolatedLayout(startLayout, endLayout, mNodePosition); + interpolatedLayout = RNSharedElementStyle.getInterpolatedLayout(startLayout, endLayout, mNodePosition); interpolatedClipInsets = getInterpolatedClipInsets(parentLayout, startClipInsets, startClippedLayout, endClipInsets, endClippedLayout, mNodePosition); - interpolatedStyle = getInterpolatedStyle(startStyle, startContent, endStyle, endContent, mNodePosition); + interpolatedStyle = RNSharedElementStyle.getInterpolatedStyle(startStyle, endStyle, mNodePosition); } else if (startStyle != null) { interpolatedLayout = new RectF(startLayout); interpolatedStyle = startStyle; @@ -407,54 +407,6 @@ private RectF getInterpolatedClipInsets( return clipInsets; } - private RectF getInterpolatedLayout(Rect layout1, Rect layout2, float position) { - return new RectF( - (layout1.left + ((layout2.left - layout1.left) * position)), - (layout1.top + ((layout2.top - layout1.top) * position)), - (layout1.right + ((layout2.right - layout1.right) * position)), - (layout1.bottom + ((layout2.bottom - layout1.bottom) * position)) - ); - } - - private int getInterpolatedColor(int color1, int color2, float position) { - int redA = Color.red(color1); - int greenA = Color.green(color1); - int blueA = Color.blue(color1); - int alphaA = Color.alpha(color1); - int redB = Color.red(color2); - int greenB = Color.green(color2); - int blueB = Color.blue(color2); - int alphaB = Color.alpha(color2); - return Color.argb( - (int) (alphaA + ((alphaB - alphaA) * position)), - (int) (redA + ((redB - redA) * position)), - (int) (greenA + ((greenB - greenA) * position)), - (int) (blueA + ((blueB - blueA) * position)) - ); - } - - private RNSharedElementStyle getInterpolatedStyle( - RNSharedElementStyle style1, - RNSharedElementContent content1, - RNSharedElementStyle style2, - RNSharedElementContent content2, - float position - ) { - RNSharedElementStyle result = new RNSharedElementStyle(); - result.scaleType = RNSharedElementStyle.getInterpolatingScaleType(style1, style2, position); - result.opacity = style1.opacity + ((style2.opacity - style1.opacity) * position); - result.backgroundColor = getInterpolatedColor(style1.backgroundColor, style2.backgroundColor, position); - result.borderTopLeftRadius = style1.borderTopLeftRadius + ((style2.borderTopLeftRadius - style1.borderTopLeftRadius) * position); - result.borderTopRightRadius = style1.borderTopRightRadius + ((style2.borderTopRightRadius - style1.borderTopRightRadius) * position); - result.borderBottomLeftRadius = style1.borderBottomLeftRadius + ((style2.borderBottomLeftRadius - style1.borderBottomLeftRadius) * position); - result.borderBottomRightRadius = style1.borderBottomRightRadius + ((style2.borderBottomRightRadius - style1.borderBottomRightRadius) * position); - result.borderWidth = style1.borderWidth + ((style2.borderWidth - style1.borderWidth) * position); - result.borderColor = getInterpolatedColor(style1.borderColor, style2.borderColor, position); - result.borderStyle = style1.borderStyle; - result.elevation = style1.elevation + ((style2.elevation - style1.elevation) * position); - return result; - } - private void fireMeasureEvent(String name, RNSharedElementTransitionItem item, Rect clippedLayout) { ReactContext reactContext = (ReactContext)getContext(); RNSharedElementStyle style = item.getStyle(); From 95b4aceb4d8f9b232ef3baa764cbab1f375ffae1 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Sat, 7 Sep 2019 16:40:12 +0200 Subject: [PATCH 12/46] feat(web): content-clipping & image-size fetch --- src/web/RNSharedElementContent.ts | 35 ++++++--- src/web/RNSharedElementNode.ts | 42 ++++++----- src/web/RNSharedElementTransition.ts | 70 +++++++----------- src/web/RNSharedElementView.ts | 104 +++++++++++++++++++++++++++ src/web/Rect.ts | 11 +++ 5 files changed, 193 insertions(+), 69 deletions(-) diff --git a/src/web/RNSharedElementContent.ts b/src/web/RNSharedElementContent.ts index dc70a6c..e480aae 100644 --- a/src/web/RNSharedElementContent.ts +++ b/src/web/RNSharedElementContent.ts @@ -9,14 +9,33 @@ export class RNSharedElementContent { this.size = size; } - static getSize(element: any): Rect | null { - //console.log('RNSharedElementContent.getSize: ', element); - - return new Rect({ - x: 0, - y: 0, - width: element.clientWidth || 0, - height: element.clientHeight || 0 + static getSize(element: any): Promise { + return new Promise((resolve, reject) => { + if (element.style.backgroundImage) { + // @ts-ignore + const img = document.createElement("img"); + img.onload = () => { + resolve( + new Rect({ + x: 0, + y: 0, + width: img.width, + height: img.height + }) + ); + }; + img.onerror = (err: any) => reject(err); + const url = element.style.backgroundImage; + img.src = url.substring(5, url.length - 2); + } + resolve( + new Rect({ + x: 0, + y: 0, + width: element.clientWidth || 0, + height: element.clientHeight || 0 + }) + ); }); } } diff --git a/src/web/RNSharedElementNode.ts b/src/web/RNSharedElementNode.ts index 7708a82..645427f 100644 --- a/src/web/RNSharedElementNode.ts +++ b/src/web/RNSharedElementNode.ts @@ -56,23 +56,33 @@ export class RNSharedElementNode { } } - private static resolveElement(element: HTMLElement): HTMLElement { - // TODO - return element; - } - get resolvedElement(): HTMLElement | null { let element: HTMLElement = this.domNode; + + // If this node is a parent, look for the first child if (this.isParent) { const node: any = element; if (node.childNodes.length === 1) { - return node.childNodes[0]; + element = node.childNodes[0]; } else if (node.childNodes.length <= 0) { console.log("Child for parent doesnt exist"); return null; } } - return RNSharedElementNode.resolveElement(element); + + // Get background-image node + const { childNodes } = element as any; + if (childNodes.length === 2) { + for (let i = 0; i < 2; i++) { + const childNode = childNodes[i]; + if (childNode.tagName === "IMG") { + element = childNodes[i ? 0 : i + 1]; + break; + } + } + } + + return element; } get resolvedAncestor(): HTMLElement | null { @@ -128,27 +138,25 @@ export class RNSharedElementNode { return true; } - requestContent(): Promise { - if (this.contentCache) { - return Promise.resolve(this.contentCache); - } + async requestContent(): Promise { + if (this.contentCache) return this.contentCache; + return new Promise(resolve => { + if (this.contentCallbacks) return; this.contentCallbacks = this.contentCallbacks || []; this.contentCallbacks.push(resolve); - if (!this.fetchInitialContent()) { - console.debug("Failed to fetch content"); - //startRetryLoop(); - } + this.fetchInitialContent(); + // TODO RETRY IN CASE OF FAILURE? }); } - private fetchInitialContent(): boolean { + private async fetchInitialContent(): Promise { const element: any = this.resolvedElement; if (!element) return false; if (!this.contentCallbacks) return true; // Fetch content size - const size = RNSharedElementContent.getSize(element); + const size = await RNSharedElementContent.getSize(element); if (!size) { return false; } diff --git a/src/web/RNSharedElementTransition.ts b/src/web/RNSharedElementTransition.ts index 8b27cc1..1c9aa8c 100644 --- a/src/web/RNSharedElementTransition.ts +++ b/src/web/RNSharedElementTransition.ts @@ -10,8 +10,7 @@ import { import { Rect } from "./Rect"; import { RNSharedElementStyle } from "./RNSharedElementStyle"; import { RNSharedElementContent } from "./RNSharedElementContent"; - -const EMPTY_RECT = new Rect(); +import { RNSharedElementView } from "./RNSharedElementView"; export class RNSharedElementTransition { private items = [ @@ -29,7 +28,8 @@ export class RNSharedElementTransition { public align: RNSharedElementAlign = RNSharedElementAlign.Auto; public nodePosition: number = 0; public element: HTMLElement | null = null; - private childElements: (HTMLElement | null)[] = [null, null]; + private layout: Rect = Rect.empty; + private views: (RNSharedElementView | null)[] = [null, null]; public destroy() { this.element = null; @@ -104,6 +104,9 @@ export class RNSharedElementTransition { } = this; if (!element) return; + // Get parent layout + this.layout = new Rect((element as any).getBoundingClientRect()); + // Get styles const startStyle = items[0].style; const endStyle = items[1].style; @@ -117,15 +120,15 @@ export class RNSharedElementTransition { }*/ // Get layout - const startLayout = startStyle ? startStyle.layout : EMPTY_RECT; - const endLayout = endStyle ? endStyle.layout : EMPTY_RECT; + const startLayout = startStyle ? startStyle.layout : Rect.empty; + const endLayout = endStyle ? endStyle.layout : Rect.empty; // TODO CLIPPING // Get interpolated layout let interpolatedLayout: Rect = startLayout; let interpolatedStyle: RNSharedElementStyle = startStyle!; - // let interpolatedClipInsets: Rect = EMPTY_RECT; + // let interpolatedClipInsets: Rect = Rect.empty; if (startStyle && endStyle) { interpolatedLayout = RNSharedElementStyle.getInterpolatedLayout( startLayout, @@ -148,7 +151,7 @@ export class RNSharedElementTransition { // interpolatedClipInsets = endClipInsets; } - this.updateChildElement( + this.updateView( 0, interpolatedLayout, interpolatedStyle, @@ -157,7 +160,7 @@ export class RNSharedElementTransition { ); } - private updateChildElement( + private updateView( index: number, interpolatedLayout: Rect, // @ts-ignore @@ -166,44 +169,23 @@ export class RNSharedElementTransition { originalLayout: Rect, content: RNSharedElementContent | null ) { - const { element, childElements } = this; - let childElement: any = childElements[index]; + // Find / create view + let view = this.views[index]; + if (!view) { + view = new RNSharedElementView(); + (this.element as any).appendChild(view.element); + this.views[index] = view; + } - // If the child-element does not yet exist, then clone it and add it to the DOM - const widthPx = interpolatedLayout.width + "px"; - const heightPx = interpolatedLayout.height + "px"; - if (!childElement) { + // Update layouts + view.parentLayout = this.layout; + view.layout = interpolatedLayout; + view.contentLayout = interpolatedLayout; + + // If the content-element does not yet exist, then clone it and add it to the view + if (!view.contentElement) { if (!content || !content.element) return; - childElement = (content.element as any).cloneNode(true); - childElements[index] = childElement; - (element as any).appendChild(childElement); - const { style } = childElement; - style.position = "absolute"; - style.left = "0px"; - style.top = "0px"; - style.width = widthPx; - style.height = heightPx; - style.pointerEvents = "none"; - style.transformOrigin = "0% 0%"; - style.transformStyle = "preserve-3d"; - style.backfaceVisibility = "hidden"; - style.boxSizing = "border-box"; + view.contentElement = (content.element as any).cloneNode(true); } - - // Update layout - const { style } = childElement; - if (style.width !== widthPx) style.width = widthPx; - if (style.height !== heightPx) style.height = heightPx; - const transform = `matrix3d( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - ${interpolatedLayout.x}, ${interpolatedLayout.y}, 0, 1 - )`; - style.transform = transform; - //console.log("transform: ", style.transform, style, interpolatedLayout); - - // Update style - // TODO } } diff --git a/src/web/RNSharedElementView.ts b/src/web/RNSharedElementView.ts index e69de29..d200da9 100644 --- a/src/web/RNSharedElementView.ts +++ b/src/web/RNSharedElementView.ts @@ -0,0 +1,104 @@ +import { Rect } from "./Rect"; + +function initElement(element: HTMLElement): HTMLElement { + const { style } = element as any; + style.position = "absolute"; + style.left = "0px"; + style.top = "0px"; + style.pointerEvents = "none"; + style.transformOrigin = "0% 0%"; + style.transformStyle = "preserve-3d"; + style.backfaceVisibility = "hidden"; + style.boxSizing = "border-box"; + style.overflow = "hidden"; + return element; +} + +export class RNSharedElementView { + private _parentLayout: Rect = Rect.empty; + // @ts-ignore + public readonly element = initElement(document.createElement("div")); + private _layout: Rect = Rect.empty; + private _contentElement: HTMLElement | null = null; + private _contentLayout: Rect = Rect.empty; + + get parentLayout(): Rect { + return this._parentLayout; + } + set parentLayout(rect: Rect) { + if (this._parentLayout.equals(rect)) return; + this._parentLayout = rect; + this.updateLayout(); + } + + get layout(): Rect { + return this._layout; + } + set layout(rect: Rect) { + if (this._layout.equals(rect)) return; + this._layout = rect; + this.updateLayout(); + } + + private updateLayout() { + if (this._layout.equals(Rect.empty)) return; + const { x, y, width, height } = this._layout; + const widthPx = width + "px"; + const heightPx = height + "px"; + const { style } = this.element as any; + if (style.width !== widthPx) style.width = widthPx; + if (style.height !== heightPx) style.height = heightPx; + const translateX = x - this._parentLayout.x; + const translateY = y - this._parentLayout.y; + const transform = `matrix3d( + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + ${translateX}, ${translateY}, 0, 1 + )`; + style.transform = transform; + } + + get contentElement(): HTMLElement | null { + return this._contentElement; + } + set contentElement(value: HTMLElement | null) { + if (this._contentElement === value) return; + if (this._contentElement) { + (this.element as any).removeChild(this._contentElement); + } + this._contentElement = value ? initElement(value) : null; + if (this._contentElement) { + (this.element as any).appendChild(this._contentElement); + } + this.updateContentLayout(); + } + + get contentLayout(): Rect { + return this._contentLayout; + } + set contentLayout(rect: Rect) { + if (this._contentLayout.equals(rect)) return; + this._contentLayout = rect; + this.updateContentLayout(); + } + + private updateContentLayout() { + if (!this._contentElement) return; + const { x, y, width, height } = this._contentLayout; + const widthPx = width + "px"; + const heightPx = height + "px"; + const { style } = this._contentElement as any; + if (style.width !== widthPx) style.width = widthPx; + if (style.height !== heightPx) style.height = heightPx; + const translateX = x - (this._layout.x + this._parentLayout.x); + const translateY = y - (this._layout.y + this._parentLayout.y); + const transform = `matrix3d( + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + ${translateX}, ${translateY}, 0, 1 + )`; + style.transform = transform; + } +} diff --git a/src/web/Rect.ts b/src/web/Rect.ts index d9d6ea4..7427d64 100644 --- a/src/web/Rect.ts +++ b/src/web/Rect.ts @@ -11,6 +11,8 @@ export class Rect implements IRect { public width: number = 0; public height: number = 0; + public static readonly empty = new Rect(); + constructor(source?: IRect) { if (source) { this.x = source.x; @@ -19,4 +21,13 @@ export class Rect implements IRect { this.height = source.height; } } + + public equals(rect: Rect): boolean { + return ( + this.x === rect.x && + this.y === rect.y && + this.width === rect.width && + this.height === rect.height + ); + } } From 660a4a0bf15d12bd47e0dd061371821a1da40dc2 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Sat, 7 Sep 2019 17:35:25 +0200 Subject: [PATCH 13/46] feat(web): added support for image resizeMode transitions --- src/web/RNSharedElementContent.ts | 49 ++++++++++++++++++++++++++-- src/web/RNSharedElementNode.ts | 6 +++- src/web/RNSharedElementTransition.ts | 45 ++++++++++++++++++------- src/web/RNSharedElementView.ts | 1 + 4 files changed, 86 insertions(+), 15 deletions(-) diff --git a/src/web/RNSharedElementContent.ts b/src/web/RNSharedElementContent.ts index e480aae..a52bc7a 100644 --- a/src/web/RNSharedElementContent.ts +++ b/src/web/RNSharedElementContent.ts @@ -10,7 +10,7 @@ export class RNSharedElementContent { } static getSize(element: any): Promise { - return new Promise((resolve, reject) => { + return new Promise(resolve => { if (element.style.backgroundImage) { // @ts-ignore const img = document.createElement("img"); @@ -24,9 +24,10 @@ export class RNSharedElementContent { }) ); }; - img.onerror = (err: any) => reject(err); + img.onerror = () => resolve(null); const url = element.style.backgroundImage; img.src = url.substring(5, url.length - 2); + return; } resolve( new Rect({ @@ -38,4 +39,48 @@ export class RNSharedElementContent { ); }); } + + static getLayout( + layout: Rect, + content: RNSharedElementContent | null, + resizeMode: string, + reverse?: boolean + ) { + if (!content) return layout; + let { width, height } = layout; + const contentAspectRatio = content.size.width / content.size.height; + const lo = width / height < contentAspectRatio; + const aspectRatioCriteria = reverse ? !lo : lo; + switch (resizeMode) { + case "stretch": + case "100% 100%": + // nop + break; + case "cover": + if (aspectRatioCriteria) { + width = height * contentAspectRatio; + } else { + height = width / contentAspectRatio; + } + break; + case "center": + width = content.size.width; + height = content.size.height; + break; + case "contain": + default: + if (aspectRatioCriteria) { + height = width / contentAspectRatio; + } else { + width = height * contentAspectRatio; + } + break; + } + return new Rect({ + x: layout.x + (layout.width - width) / 2, + y: layout.y + (layout.height - height) / 2, + width, + height + }); + } } diff --git a/src/web/RNSharedElementNode.ts b/src/web/RNSharedElementNode.ts index 645427f..31396a2 100644 --- a/src/web/RNSharedElementNode.ts +++ b/src/web/RNSharedElementNode.ts @@ -124,7 +124,11 @@ export class RNSharedElementNode { }); // Create style - const style = new RNSharedElementStyle(layout, element.style); + const style = new RNSharedElementStyle( + layout, + // @ts-ignore + window.getComputedStyle(element, null) + ); // console.debug("Style fetched: ", style); diff --git a/src/web/RNSharedElementTransition.ts b/src/web/RNSharedElementTransition.ts index 1c9aa8c..c7de392 100644 --- a/src/web/RNSharedElementTransition.ts +++ b/src/web/RNSharedElementTransition.ts @@ -107,27 +107,39 @@ export class RNSharedElementTransition { // Get parent layout this.layout = new Rect((element as any).getBoundingClientRect()); - // Get styles + // Get styles & content const startStyle = items[0].style; const endStyle = items[1].style; if (!startStyle && !endStyle) return; + const startContent = items[0].content; + const endContent = items[1].content; - // Get content - let startContent = items[0].content; - // const endContent = items[1].content; - /*if ((animation == RNSharedElementAnimation.Move) && !startContent && endContent != null) { - startContent = endContent; - }*/ - - // Get layout + // Get start layout const startLayout = startStyle ? startStyle.layout : Rect.empty; + const startContentLayout = startStyle + ? RNSharedElementContent.getLayout( + startLayout, + startContent, + startStyle.style.backgroundSize + ) + : startLayout; + //CGRect startVisibleLayout = startStyle ? [self normalizeLayout:[startItem visibleLayoutForAncestor:startAncestor] ancestor:startAncestor] : CGRectZero; + //UIEdgeInsets startClipInsets = [self getClipInsets:startLayout visibleLayout:startVisibleLayout]; + + // Get end layout const endLayout = endStyle ? endStyle.layout : Rect.empty; - - // TODO CLIPPING + const endContentLayout = endStyle + ? RNSharedElementContent.getLayout( + endLayout, + endContent || startContent, + endStyle.style.backgroundSize + ) + : endLayout; // Get interpolated layout let interpolatedLayout: Rect = startLayout; let interpolatedStyle: RNSharedElementStyle = startStyle!; + let interpolatedContentLayout: Rect = startContentLayout; // let interpolatedClipInsets: Rect = Rect.empty; if (startStyle && endStyle) { interpolatedLayout = RNSharedElementStyle.getInterpolatedLayout( @@ -141,13 +153,20 @@ export class RNSharedElementTransition { endStyle, nodePosition ); + interpolatedContentLayout = RNSharedElementStyle.getInterpolatedLayout( + startContentLayout, + endContentLayout, + nodePosition + ); } else if (startStyle) { interpolatedLayout = startLayout; interpolatedStyle = startStyle; + interpolatedContentLayout = startContentLayout; // interpolatedClipInsets = startClipInsets; } else { interpolatedLayout = endLayout; interpolatedStyle = endStyle!; + interpolatedContentLayout = endContentLayout; // interpolatedClipInsets = endClipInsets; } @@ -155,6 +174,7 @@ export class RNSharedElementTransition { 0, interpolatedLayout, interpolatedStyle, + interpolatedContentLayout, startLayout, startContent ); @@ -165,6 +185,7 @@ export class RNSharedElementTransition { interpolatedLayout: Rect, // @ts-ignore interpolatedStyle: RNSharedElementStyle, + interpolatedContentLayout: Rect, // @ts-ignore originalLayout: Rect, content: RNSharedElementContent | null @@ -180,7 +201,7 @@ export class RNSharedElementTransition { // Update layouts view.parentLayout = this.layout; view.layout = interpolatedLayout; - view.contentLayout = interpolatedLayout; + view.contentLayout = interpolatedContentLayout; // If the content-element does not yet exist, then clone it and add it to the view if (!view.contentElement) { diff --git a/src/web/RNSharedElementView.ts b/src/web/RNSharedElementView.ts index d200da9..2865759 100644 --- a/src/web/RNSharedElementView.ts +++ b/src/web/RNSharedElementView.ts @@ -9,6 +9,7 @@ function initElement(element: HTMLElement): HTMLElement { style.transformOrigin = "0% 0%"; style.transformStyle = "preserve-3d"; style.backfaceVisibility = "hidden"; + style.backgroundSize = "100% 100%"; style.boxSizing = "border-box"; style.overflow = "hidden"; return element; From c28b52523c0fb18a9b4e73fa60cbe4f1bf78acdf Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Sat, 7 Sep 2019 17:35:53 +0200 Subject: [PATCH 14/46] test(web): enabled quick-test in example app on web --- Example/src/screens/MainScreen.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Example/src/screens/MainScreen.js b/Example/src/screens/MainScreen.js index 1ff962c..faccfbb 100644 --- a/Example/src/screens/MainScreen.js +++ b/Example/src/screens/MainScreen.js @@ -64,11 +64,15 @@ export class MainScreen extends React.Component { undefined )} - {/**/} + {Platform.OS === "web" ? ( + + ) : ( + undefined + )} Date: Sat, 7 Sep 2019 17:42:29 +0200 Subject: [PATCH 15/46] docs(web): updated web todo list --- src/web/WORK_IN_PROGRESS.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/web/WORK_IN_PROGRESS.md b/src/web/WORK_IN_PROGRESS.md index cc7c1da..546a748 100644 --- a/src/web/WORK_IN_PROGRESS.md +++ b/src/web/WORK_IN_PROGRESS.md @@ -1 +1,13 @@ -Nothing working here yet, come back later \ No newline at end of file +Web support is under development + +[X] Basic infrastructure +[X] Style fetching +[X] Content fetching +[X] Image content fetching +[X] Image resizeMode transitions +[ ] element scaling +[ ] style interpolation +[ ] scrollview clipping +[ ] fade animations +[ ] resize prop +[ ] align prop From bf6e59047529e7c291d2ae6a35552f218994d414 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Sat, 7 Sep 2019 20:04:56 +0200 Subject: [PATCH 16/46] test: improved handling of screen resize in Example app --- Example/src/components/Router.js | 53 ++++++++++++++++++++++-------- Example/src/screens/CardScreen.js | 51 ++++++++++++++++++---------- Example/src/screens/PagerScreen.js | 38 +++++++++++++-------- Example/src/screens/TilesScreen.js | 36 ++++++++++++++++---- 4 files changed, 128 insertions(+), 50 deletions(-) diff --git a/Example/src/components/Router.js b/Example/src/components/Router.js index 80a401a..f0069c3 100644 --- a/Example/src/components/Router.js +++ b/Example/src/components/Router.js @@ -4,8 +4,8 @@ import { StyleSheet, View, Animated, - Dimensions, - BackHandler + BackHandler, + Dimensions } from "react-native"; import { SharedElementTransition } from "react-native-shared-element"; import { ScreenTransitionContext } from "./RouterScreenTransitionContext"; @@ -22,9 +22,6 @@ import { normalizeSharedElementsConfig } from "../types/SharedElement"; Screens.useScreens(); -const WIDTH = Dimensions.get("window").width; -const HEIGHT = Dimensions.get("window").height; - const styles = StyleSheet.create({ container: { flex: 1 @@ -74,6 +71,8 @@ interface RouterState { sharedElementsConfig: ?SharedElementsStrictConfig; sharedElementScreens: Array; actionsQueue: Array; + width: number; + height: number; } type RouterConfig = { @@ -128,14 +127,16 @@ export class Router extends React.Component { animValue: Animated.subtract( this._animValue, this._swipeBackAnimValue.interpolate({ - inputRange: [0, WIDTH], + inputRange: [0, Dimensions.get("window").width], outputRange: [0, 1], extrapolate: "clamp" }) ), sharedElementScreens: [], sharedElementsConfig: undefined, - transitionConfig: undefined + transitionConfig: undefined, + width: Dimensions.get("window").width, + height: Dimensions.get("window").height }; } @@ -222,6 +223,7 @@ export class Router extends React.Component { } _onSwipeBackStateChange = (event: any) => { + const { width } = this.state; const { nativeEvent } = event; switch (nativeEvent.state) { case State.ACTIVE: @@ -241,10 +243,10 @@ export class Router extends React.Component { if ( nativeEvent.velocityX >= 1000 || (nativeEvent.velocityX > -1000 && - nativeEvent.translationX >= WIDTH / 2) + nativeEvent.translationX >= width / 2) ) { Animated.timing(this._swipeBackAnimValue, { - toValue: WIDTH, + toValue: width, duration: 100, useNativeDriver: true }).start(({ finished }) => { @@ -278,11 +280,18 @@ export class Router extends React.Component { }; render() { - const { stack, animValue, nextIndex, prevIndex } = this.state; + const { + stack, + animValue, + nextIndex, + prevIndex, + width, + height + } = this.state; const transitionConfig = this.state.transitionConfig || this.props.transitionConfig; return ( - + {stack.map((node: React.Node, index: number) => { const isScreenActive = @@ -296,8 +305,8 @@ export class Router extends React.Component { styles.node, transitionConfig.screenInterpolator({ layout: { - initHeight: HEIGHT, - initWidth: WIDTH + initHeight: height, + initWidth: width //width: //height: //isMeasured @@ -332,6 +341,24 @@ export class Router extends React.Component { ); } + onLayout = (event: any) => { + const { width, height } = event.nativeEvent.layout; + if (this.state.width !== width || this.state.height !== height) { + this.setState({ + width, + height, + animValue: Animated.subtract( + this._animValue, + this._swipeBackAnimValue.interpolate({ + inputRange: [0, width], + outputRange: [0, 1], + extrapolate: "clamp" + }) + ) + }); + } + }; + onSharedElementsUpdated = ( event: ScreenTransitionContextOnSharedElementsUpdatedEvent ) => { diff --git a/Example/src/screens/CardScreen.js b/Example/src/screens/CardScreen.js index f267d73..2708b66 100644 --- a/Example/src/screens/CardScreen.js +++ b/Example/src/screens/CardScreen.js @@ -20,16 +20,10 @@ import { import type { Hero, SharedElementsConfig } from "../types"; import { fadeIn } from "../transitions"; -const HEIGHT = Dimensions.get("window").height; -const IMAGE_HEIGHT = Dimensions.get("window").width * 0.75; - const styles = StyleSheet.create({ flex: { flex: 1 }, - scrollViewContent: { - minHeight: HEIGHT - }, background: { flex: 1, backgroundColor: Colors.back @@ -45,7 +39,6 @@ const styles = StyleSheet.create({ top: 0 }, image: { - height: IMAGE_HEIGHT, width: "100%", resizeMode: "cover" }, @@ -71,7 +64,9 @@ type PropsType = { type StateType = { contentHeight: number, scrollOffset: Animated.Value, - scrollEvent: any + scrollEvent: any, + width: number, + height: number }; export class CardScreen extends React.Component { @@ -158,17 +153,26 @@ export class CardScreen extends React.Component { useNativeDriver: true } ), - contentHeight: 0 + contentHeight: 0, + width: Dimensions.get("window").width, + height: Dimensions.get("window").height }; } render() { - const { scrollOffset, scrollEvent, contentHeight } = this.state; + const { + scrollOffset, + scrollEvent, + contentHeight, + height, + width + } = this.state; const { navigation } = this.props; const hero = navigation ? navigation.getParam("hero") : this.props.hero; const type = navigation ? navigation.getParam("type") : this.props.type; const gradientOverlay = type === "card2"; const { id, name, photo, description } = hero; + const imageHeight = width * 0.75; return ( @@ -177,7 +181,7 @@ export class CardScreen extends React.Component { scrollEventThrottle={16} onScroll={scrollEvent} > - + { }, { scale: scrollOffset.interpolate({ - inputRange: [IMAGE_HEIGHT / -2, 0, 1], + inputRange: [imageHeight / -2, 0, 1], outputRange: [2, 1, 1] }) } @@ -208,7 +212,10 @@ export class CardScreen extends React.Component { } > - + {gradientOverlay ? ( { translateY: scrollOffset.interpolate({ inputRange: [ 0, - Math.max(IMAGE_HEIGHT + contentHeight - HEIGHT, 0), - Math.max(IMAGE_HEIGHT + contentHeight - HEIGHT, 0) + 1 + Math.max(imageHeight + contentHeight - height, 0), + Math.max(imageHeight + contentHeight - height, 0) + 1 ], outputRange: [0, 0, 0.5] }) @@ -269,8 +276,8 @@ export class CardScreen extends React.Component { scaleY: scrollOffset.interpolate({ inputRange: [ 0, - Math.max(IMAGE_HEIGHT + contentHeight - HEIGHT, 0), - Math.max(IMAGE_HEIGHT + contentHeight - HEIGHT, 0) + 1 + Math.max(imageHeight + contentHeight - height, 0), + Math.max(imageHeight + contentHeight - height, 0) + 1 ], outputRange: [0, 1, 2] }) @@ -294,6 +301,16 @@ export class CardScreen extends React.Component { ); } + onLayout = (event: any) => { + const { width, height } = event.nativeEvent.layout; + if (this.state.width !== width || this.state.height !== height) { + this.setState({ + width, + height + }); + } + }; + onLayoutContent = (event: any) => { const { height } = event.nativeEvent.layout; if (this.state.contentHeight !== height) { diff --git a/Example/src/screens/PagerScreen.js b/Example/src/screens/PagerScreen.js index 71ca605..5b43a33 100644 --- a/Example/src/screens/PagerScreen.js +++ b/Example/src/screens/PagerScreen.js @@ -20,8 +20,6 @@ import { Heroes } from "../assets"; import { fadeIn } from "../transitions"; import { PanGestureHandler, State } from "react-native-gesture-handler"; -const WIDTH = Dimensions.get("window").width; - const styles = StyleSheet.create({ container: { flex: 1 @@ -37,9 +35,6 @@ const styles = StyleSheet.create({ flex: 1, marginVertical: NavBar.HEIGHT }, - itemContainer: { - width: WIDTH - }, image: { flex: 1, width: "100%", @@ -52,7 +47,8 @@ type PropsType = { navigation: any }; type StateType = { - selectedHero: Hero + selectedHero: Hero, + width: number }; export class PagerScreen extends React.Component { @@ -81,7 +77,8 @@ export class PagerScreen extends React.Component { ? props.navigation.getParam("hero") : props.hero; this.state = { - selectedHero: hero + selectedHero: hero, + width: Dimensions.get("window").width }; } @@ -105,7 +102,7 @@ export class PagerScreen extends React.Component { const dismissAnimValue = this._dismissAnimValue; const initialIndex = Heroes.findIndex(({ id }) => id === hero.id); return ( - + { ); } - getItemLayout = (item: any, index: number) => ({ - length: WIDTH, - offset: WIDTH * index, - index - }); + onLayout = (event: any) => { + const { width } = event.nativeEvent.layout; + if (this.state.width !== width) { + this.setState({ + width + }); + } + }; + + getItemLayout = (item: any, index: number) => { + const { width } = this.state; + return { + length: width, + offset: width * index, + index + }; + }; renderItem = ({ item }: any) => { + const { width } = this.state; const hero = item; const { id, photo } = hero; return ( - + { +type StateType = { + width: number, + height: number +}; + +export class TilesScreen extends React.Component { static defaultProps = { type: "tile", title: "Tiles", @@ -129,11 +132,16 @@ export class TilesScreen extends React.Component { transitionConfig: fadeIn() }; + state = { + width: Dimensions.get("window").width, + height: Dimensions.get("window").height + }; + render() { const { title, navigation } = this.props; const type = navigation ? navigation.getParam("type") : this.props.type; return ( - + {!navigation ? : undefined} { ); } + onLayout = (event: any) => { + const { width, height } = event.nativeEvent.layout; + if (this.state.width !== width || this.state.height !== height) { + this.setState({ + width, + height + }); + } + }; + keyExtractor = (item: any) => item.id; renderItem = (data: any) => { @@ -170,11 +188,16 @@ export class TilesScreen extends React.Component { renderTile = ({ item, index }: any) => { const { navigation } = this.props; + const { width } = this.state; const hero = item; return ( this.onPressItem(hero)} > @@ -202,11 +225,12 @@ export class TilesScreen extends React.Component { renderAvatar = ({ item, index }: any) => { const { navigation } = this.props; + const { width } = this.state; const hero = item; return ( this.onPressItem(hero)} > From 818fe14fbca0b5cc9d4e5e8a48dc45e3327d69e7 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Sat, 7 Sep 2019 20:10:01 +0200 Subject: [PATCH 17/46] feat(web): added fade support --- src/web/RNSharedElementTransition.ts | 47 ++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/src/web/RNSharedElementTransition.ts b/src/web/RNSharedElementTransition.ts index c7de392..e2c567d 100644 --- a/src/web/RNSharedElementTransition.ts +++ b/src/web/RNSharedElementTransition.ts @@ -100,7 +100,8 @@ export class RNSharedElementTransition { const { element, items, - nodePosition /*, animation, resize, align*/ + nodePosition, + animation /*, animation, resize, align*/ } = this; if (!element) return; @@ -170,14 +171,38 @@ export class RNSharedElementTransition { // interpolatedClipInsets = endClipInsets; } - this.updateView( - 0, - interpolatedLayout, - interpolatedStyle, - interpolatedContentLayout, - startLayout, - startContent - ); + if ( + animation === RNSharedElementAnimation.Move || + animation === RNSharedElementAnimation.Fade || + animation === RNSharedElementAnimation.FadeOut + ) { + const startOpacity = + animation === RNSharedElementAnimation.Move ? 1 : 1 - nodePosition; + this.updateView( + 0, + interpolatedLayout, + interpolatedStyle, + interpolatedContentLayout, + startLayout, + startContent, + startOpacity + ); + } + if ( + animation === RNSharedElementAnimation.Fade || + animation === RNSharedElementAnimation.FadeIn + ) { + const endOpacity = nodePosition; + this.updateView( + 1, + interpolatedLayout, + interpolatedStyle, + interpolatedContentLayout, + endLayout, + endContent, + endOpacity + ); + } } private updateView( @@ -188,7 +213,8 @@ export class RNSharedElementTransition { interpolatedContentLayout: Rect, // @ts-ignore originalLayout: Rect, - content: RNSharedElementContent | null + content: RNSharedElementContent | null, + opacity: number ) { // Find / create view let view = this.views[index]; @@ -208,5 +234,6 @@ export class RNSharedElementTransition { if (!content || !content.element) return; view.contentElement = (content.element as any).cloneNode(true); } + (view.contentElement as any).style.opacity = opacity; } } From 04b24157335a0248003305491ee51cffddf14af2 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Sun, 8 Sep 2019 08:25:42 +0200 Subject: [PATCH 18/46] feat(web): added stricter types (no more any types) --- src/web/RNSharedElementContent.ts | 7 +++-- src/web/RNSharedElementNode.ts | 40 +++++++++++++-------------- src/web/RNSharedElementNodeManager.ts | 5 ++-- src/web/RNSharedElementStyle.ts | 3 +- src/web/RNSharedElementTransition.ts | 13 +++++---- src/web/RNSharedElementView.ts | 19 +++++++------ src/web/Rect.ts | 7 +---- src/web/types.ts | 23 ++++++++++++++- 8 files changed, 68 insertions(+), 49 deletions(-) diff --git a/src/web/RNSharedElementContent.ts b/src/web/RNSharedElementContent.ts index a52bc7a..41d3dbd 100644 --- a/src/web/RNSharedElementContent.ts +++ b/src/web/RNSharedElementContent.ts @@ -1,15 +1,16 @@ import { Rect } from "./Rect"; +import { IHTMLElement } from "./types"; export class RNSharedElementContent { - public readonly element: HTMLElement; + public readonly element: IHTMLElement; public readonly size: Rect; - constructor(element: HTMLElement, size: Rect) { + constructor(element: IHTMLElement, size: Rect) { this.element = element; this.size = size; } - static getSize(element: any): Promise { + static getSize(element: IHTMLElement): Promise { return new Promise(resolve => { if (element.style.backgroundImage) { // @ts-ignore diff --git a/src/web/RNSharedElementNode.ts b/src/web/RNSharedElementNode.ts index 31396a2..de8a0e5 100644 --- a/src/web/RNSharedElementNode.ts +++ b/src/web/RNSharedElementNode.ts @@ -1,6 +1,7 @@ import { RNSharedElementStyle } from "./RNSharedElementStyle"; import { RNSharedElementContent } from "./RNSharedElementContent"; import { Rect } from "./Rect"; +import { IHTMLElement } from "./types"; export type RNSharedElementNodeStyleCallback = ( value: RNSharedElementStyle @@ -10,8 +11,8 @@ export type RNSharedElementNodeContentCallback = ( ) => void; export class RNSharedElementNode { - public readonly domNode: HTMLElement; - public readonly ancestorDomNode: HTMLElement; + public readonly domNode: IHTMLElement; + public readonly ancestorDomNode: IHTMLElement; public readonly isParent: boolean; private hideRefCount: number = 0; private hideOpacity: number = 0; @@ -22,9 +23,9 @@ export class RNSharedElementNode { private contentCallbacks: RNSharedElementNodeContentCallback[] | null = null; constructor( - domNode: HTMLElement, + domNode: IHTMLElement, isParent: boolean, - ancestorDomNode: HTMLElement + ancestorDomNode: IHTMLElement ) { this.domNode = domNode; this.isParent = isParent; @@ -42,36 +43,35 @@ export class RNSharedElementNode { addHideRef() { this.hideRefCount++; if (this.hideRefCount === 1) { - const element: any = this.resolvedElement; - this.hideOpacity = element.style.opacity; - element.style.opacity = 0; + const element = this.resolvedElement; + this.hideOpacity = element!.style.opacity; + element!.style.opacity = 0; } } releaseHideRef() { this.hideRefCount--; if (this.hideRefCount === 0) { - const element: any = this.resolvedElement; - element.style.opacity = this.hideOpacity; + const element = this.resolvedElement; + element!.style.opacity = this.hideOpacity; } } - get resolvedElement(): HTMLElement | null { - let element: HTMLElement = this.domNode; + get resolvedElement(): IHTMLElement | null { + let element: IHTMLElement = this.domNode; // If this node is a parent, look for the first child if (this.isParent) { - const node: any = element; - if (node.childNodes.length === 1) { - element = node.childNodes[0]; - } else if (node.childNodes.length <= 0) { + if (element.childNodes.length === 1) { + element = element.childNodes[0]; + } else if (element.childNodes.length <= 0) { console.log("Child for parent doesnt exist"); return null; } } // Get background-image node - const { childNodes } = element as any; + const { childNodes } = element; if (childNodes.length === 2) { for (let i = 0; i < 2; i++) { const childNode = childNodes[i]; @@ -85,7 +85,7 @@ export class RNSharedElementNode { return element; } - get resolvedAncestor(): HTMLElement | null { + get resolvedAncestor(): IHTMLElement | null { return this.ancestorDomNode; } @@ -104,8 +104,8 @@ export class RNSharedElementNode { } private fetchInitialStyle(): boolean { - const element: any = this.resolvedElement; - const ancestor: any = this.resolvedAncestor; + const element = this.resolvedElement; + const ancestor = this.resolvedAncestor; if (!element || !ancestor) return false; if (!this.styleCallbacks) return true; @@ -155,7 +155,7 @@ export class RNSharedElementNode { } private async fetchInitialContent(): Promise { - const element: any = this.resolvedElement; + const element = this.resolvedElement; if (!element) return false; if (!this.contentCallbacks) return true; diff --git a/src/web/RNSharedElementNodeManager.ts b/src/web/RNSharedElementNodeManager.ts index e431294..cd53963 100644 --- a/src/web/RNSharedElementNodeManager.ts +++ b/src/web/RNSharedElementNodeManager.ts @@ -1,4 +1,5 @@ import { RNSharedElementNode } from "./RNSharedElementNode"; +import { IHTMLElement } from "./types"; export class RNSharedElementNodeManager { private nodes = new Map(); @@ -12,9 +13,9 @@ export class RNSharedElementNodeManager { } acquire( - domNode: HTMLElement, + domNode: IHTMLElement, isParent: boolean, - ancestorDomNode: HTMLElement + ancestorDomNode: IHTMLElement ): RNSharedElementNode { let node = this.nodes.get(domNode); if (node) { diff --git a/src/web/RNSharedElementStyle.ts b/src/web/RNSharedElementStyle.ts index db184c3..92beb9f 100644 --- a/src/web/RNSharedElementStyle.ts +++ b/src/web/RNSharedElementStyle.ts @@ -1,4 +1,5 @@ import { Rect } from "./Rect"; +import { CSSStyleDeclaration } from "./types"; /*int backgroundColor = Color.TRANSPARENT; float opacity = 1; @@ -11,8 +12,6 @@ import { Rect } from "./Rect"; String borderStyle = "solid"; float elevation = 0;*/ -type CSSStyleDeclaration = any; - export class RNSharedElementStyle { public readonly layout: Rect; public readonly style: CSSStyleDeclaration; diff --git a/src/web/RNSharedElementTransition.ts b/src/web/RNSharedElementTransition.ts index e2c567d..3fe3d0e 100644 --- a/src/web/RNSharedElementTransition.ts +++ b/src/web/RNSharedElementTransition.ts @@ -5,7 +5,8 @@ import { RNSharedElementNodeConfig, RNSharedElementAnimation, RNSharedElementResize, - RNSharedElementAlign + RNSharedElementAlign, + IHTMLElement } from "./types"; import { Rect } from "./Rect"; import { RNSharedElementStyle } from "./RNSharedElementStyle"; @@ -27,7 +28,7 @@ export class RNSharedElementTransition { public resize: RNSharedElementResize = RNSharedElementResize.Auto; public align: RNSharedElementAlign = RNSharedElementAlign.Auto; public nodePosition: number = 0; - public element: HTMLElement | null = null; + public element: IHTMLElement | null = null; private layout: Rect = Rect.empty; private views: (RNSharedElementView | null)[] = [null, null]; @@ -106,7 +107,7 @@ export class RNSharedElementTransition { if (!element) return; // Get parent layout - this.layout = new Rect((element as any).getBoundingClientRect()); + this.layout = new Rect(element.getBoundingClientRect()); // Get styles & content const startStyle = items[0].style; @@ -220,7 +221,7 @@ export class RNSharedElementTransition { let view = this.views[index]; if (!view) { view = new RNSharedElementView(); - (this.element as any).appendChild(view.element); + this.element!.appendChild(view.element); this.views[index] = view; } @@ -232,8 +233,8 @@ export class RNSharedElementTransition { // If the content-element does not yet exist, then clone it and add it to the view if (!view.contentElement) { if (!content || !content.element) return; - view.contentElement = (content.element as any).cloneNode(true); + view.contentElement = content.element.cloneNode(true); } - (view.contentElement as any).style.opacity = opacity; + view.contentElement!.style.opacity = opacity; } } diff --git a/src/web/RNSharedElementView.ts b/src/web/RNSharedElementView.ts index 2865759..c470526 100644 --- a/src/web/RNSharedElementView.ts +++ b/src/web/RNSharedElementView.ts @@ -1,7 +1,8 @@ +import { IHTMLElement } from "./types"; import { Rect } from "./Rect"; -function initElement(element: HTMLElement): HTMLElement { - const { style } = element as any; +function initElement(element: IHTMLElement): IHTMLElement { + const { style } = element; style.position = "absolute"; style.left = "0px"; style.top = "0px"; @@ -20,7 +21,7 @@ export class RNSharedElementView { // @ts-ignore public readonly element = initElement(document.createElement("div")); private _layout: Rect = Rect.empty; - private _contentElement: HTMLElement | null = null; + private _contentElement: IHTMLElement | null = null; private _contentLayout: Rect = Rect.empty; get parentLayout(): Rect { @@ -46,7 +47,7 @@ export class RNSharedElementView { const { x, y, width, height } = this._layout; const widthPx = width + "px"; const heightPx = height + "px"; - const { style } = this.element as any; + const { style } = this.element; if (style.width !== widthPx) style.width = widthPx; if (style.height !== heightPx) style.height = heightPx; const translateX = x - this._parentLayout.x; @@ -60,17 +61,17 @@ export class RNSharedElementView { style.transform = transform; } - get contentElement(): HTMLElement | null { + get contentElement(): IHTMLElement | null { return this._contentElement; } - set contentElement(value: HTMLElement | null) { + set contentElement(value: IHTMLElement | null) { if (this._contentElement === value) return; if (this._contentElement) { - (this.element as any).removeChild(this._contentElement); + this.element.removeChild(this._contentElement); } this._contentElement = value ? initElement(value) : null; if (this._contentElement) { - (this.element as any).appendChild(this._contentElement); + this.element.appendChild(this._contentElement); } this.updateContentLayout(); } @@ -89,7 +90,7 @@ export class RNSharedElementView { const { x, y, width, height } = this._contentLayout; const widthPx = width + "px"; const heightPx = height + "px"; - const { style } = this._contentElement as any; + const { style } = this._contentElement; if (style.width !== widthPx) style.width = widthPx; if (style.height !== heightPx) style.height = heightPx; const translateX = x - (this._layout.x + this._parentLayout.x); diff --git a/src/web/Rect.ts b/src/web/Rect.ts index 7427d64..71ea95b 100644 --- a/src/web/Rect.ts +++ b/src/web/Rect.ts @@ -1,9 +1,4 @@ -export interface IRect { - readonly x: number; - readonly y: number; - readonly width: number; - readonly height: number; -} +import { IRect } from "./types"; export class Rect implements IRect { public x: number = 0; diff --git a/src/web/types.ts b/src/web/types.ts index b3d2a64..e9f9ad2 100644 --- a/src/web/types.ts +++ b/src/web/types.ts @@ -1,5 +1,26 @@ +export interface IRect { + readonly x: number; + readonly y: number; + readonly width: number; + readonly height: number; +} + +export type CSSStyleDeclaration = any; + +export interface IHTMLElement extends HTMLElement { + readonly tagName: string; + readonly style: CSSStyleDeclaration; + readonly clientWidth: number; + readonly clientHeight: number; + readonly childNodes: IHTMLElement[]; + appendChild(element: HTMLElement): HTMLElement; + removeChild(element: HTMLElement): HTMLElement; + cloneNode(deep: boolean): IHTMLElement; + getBoundingClientRect(): IRect; +} + export type RNSharedElementNodeConfig = { - nodeHandle: HTMLElement; + nodeHandle: IHTMLElement; isParent: boolean; nodeStyle: any; }; From d2a1dc3ab43e0146aea72ec73101500d946c1057 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Sun, 8 Sep 2019 08:51:26 +0200 Subject: [PATCH 19/46] feat(web): added support for scaling --- src/web/RNSharedElementContent.ts | 1 + src/web/RNSharedElementTransition.ts | 7 +- src/web/RNSharedElementView.ts | 109 ++++++++++++++++++++------- 3 files changed, 88 insertions(+), 29 deletions(-) diff --git a/src/web/RNSharedElementContent.ts b/src/web/RNSharedElementContent.ts index 41d3dbd..09e100a 100644 --- a/src/web/RNSharedElementContent.ts +++ b/src/web/RNSharedElementContent.ts @@ -48,6 +48,7 @@ export class RNSharedElementContent { reverse?: boolean ) { if (!content) return layout; + if (!content.element.style.backgroundImage) return layout; let { width, height } = layout; const contentAspectRatio = content.size.width / content.size.height; const lo = width / height < contentAspectRatio; diff --git a/src/web/RNSharedElementTransition.ts b/src/web/RNSharedElementTransition.ts index 3fe3d0e..614c3c9 100644 --- a/src/web/RNSharedElementTransition.ts +++ b/src/web/RNSharedElementTransition.ts @@ -212,7 +212,6 @@ export class RNSharedElementTransition { // @ts-ignore interpolatedStyle: RNSharedElementStyle, interpolatedContentLayout: Rect, - // @ts-ignore originalLayout: Rect, content: RNSharedElementContent | null, opacity: number @@ -225,8 +224,9 @@ export class RNSharedElementTransition { this.views[index] = view; } - // Update layouts + // Set layouts view.parentLayout = this.layout; + view.originalLayout = originalLayout; view.layout = interpolatedLayout; view.contentLayout = interpolatedContentLayout; @@ -236,5 +236,8 @@ export class RNSharedElementTransition { view.contentElement = content.element.cloneNode(true); } view.contentElement!.style.opacity = opacity; + + // Update layout + view.updateLayout(); } } diff --git a/src/web/RNSharedElementView.ts b/src/web/RNSharedElementView.ts index c470526..f1f39f2 100644 --- a/src/web/RNSharedElementView.ts +++ b/src/web/RNSharedElementView.ts @@ -21,6 +21,7 @@ export class RNSharedElementView { // @ts-ignore public readonly element = initElement(document.createElement("div")); private _layout: Rect = Rect.empty; + private _originalLayout: Rect = Rect.empty; private _contentElement: IHTMLElement | null = null; private _contentLayout: Rect = Rect.empty; @@ -30,7 +31,6 @@ export class RNSharedElementView { set parentLayout(rect: Rect) { if (this._parentLayout.equals(rect)) return; this._parentLayout = rect; - this.updateLayout(); } get layout(): Rect { @@ -39,26 +39,22 @@ export class RNSharedElementView { set layout(rect: Rect) { if (this._layout.equals(rect)) return; this._layout = rect; - this.updateLayout(); } - private updateLayout() { - if (this._layout.equals(Rect.empty)) return; - const { x, y, width, height } = this._layout; - const widthPx = width + "px"; - const heightPx = height + "px"; - const { style } = this.element; - if (style.width !== widthPx) style.width = widthPx; - if (style.height !== heightPx) style.height = heightPx; - const translateX = x - this._parentLayout.x; - const translateY = y - this._parentLayout.y; - const transform = `matrix3d( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - ${translateX}, ${translateY}, 0, 1 - )`; - style.transform = transform; + get originalLayout(): Rect { + return this._originalLayout; + } + set originalLayout(rect: Rect) { + if (this._originalLayout.equals(rect)) return; + this._originalLayout = rect; + } + + get contentLayout(): Rect { + return this._contentLayout; + } + set contentLayout(rect: Rect) { + if (this._contentLayout.equals(rect)) return; + this._contentLayout = rect; } get contentElement(): IHTMLElement | null { @@ -73,19 +69,78 @@ export class RNSharedElementView { if (this._contentElement) { this.element.appendChild(this._contentElement); } - this.updateContentLayout(); } - get contentLayout(): Rect { - return this._contentLayout; + public updateLayout() { + if (this._layout.equals(Rect.empty)) return; + + // In case of images, run the resize algorithm + if (!this._contentLayout.equals(this._layout)) { + this.updateImageLayout(); + this.updateImageContentLayout(); + return; + } + + // Update layout + const { width, height } = this._originalLayout; + const { x, y, width: scaledWidth, height: scaledHeight } = this._layout; + + // Update size + const widthPx = width + "px"; + const heightPx = height + "px"; + const { style } = this.element; + if (style.width !== widthPx) style.width = widthPx; + if (style.height !== heightPx) style.height = heightPx; + + // Calculate translation + const translateX = x - this._parentLayout.x; + const translateY = y - this._parentLayout.y; + + // Calculate scale + const scaleX = scaledWidth / width; + const scaleY = scaledHeight / height; + + // Update matrix + const transform = `matrix3d( + ${scaleX}, 0, 0, 0, + 0, ${scaleY}, 0, 0, + 0, 0, 1, 0, + ${translateX}, ${translateY}, 0, 1 + )`; + style.transform = transform; + + // Update content element + const { style: contentStyle } = this._contentElement!; + if (contentStyle.width !== widthPx) contentStyle.width = widthPx; + if (contentStyle.height !== heightPx) contentStyle.height = heightPx; + const contentTransform = `matrix3d( + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + )`; + contentStyle.transform = contentTransform; } - set contentLayout(rect: Rect) { - if (this._contentLayout.equals(rect)) return; - this._contentLayout = rect; - this.updateContentLayout(); + + private updateImageLayout() { + const { x, y, width, height } = this._layout; + const widthPx = width + "px"; + const heightPx = height + "px"; + const { style } = this.element; + if (style.width !== widthPx) style.width = widthPx; + if (style.height !== heightPx) style.height = heightPx; + const translateX = x - this._parentLayout.x; + const translateY = y - this._parentLayout.y; + const transform = `matrix3d( + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + ${translateX}, ${translateY}, 0, 1 + )`; + style.transform = transform; } - private updateContentLayout() { + private updateImageContentLayout() { if (!this._contentElement) return; const { x, y, width, height } = this._contentLayout; const widthPx = width + "px"; From c83999a48c5cf1b7feb1ca763dc6d54f4b41c71f Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Sun, 8 Sep 2019 09:13:07 +0200 Subject: [PATCH 20/46] refactor(web): removed unneccessary code from view class --- src/web/RNSharedElementView.ts | 143 ++++++++++++++------------------- 1 file changed, 62 insertions(+), 81 deletions(-) diff --git a/src/web/RNSharedElementView.ts b/src/web/RNSharedElementView.ts index f1f39f2..10a27b1 100644 --- a/src/web/RNSharedElementView.ts +++ b/src/web/RNSharedElementView.ts @@ -1,4 +1,8 @@ -import { IHTMLElement } from "./types"; +import { + IHTMLElement, + RNSharedElementAlign, + RNSharedElementResize +} from "./types"; import { Rect } from "./Rect"; function initElement(element: IHTMLElement): IHTMLElement { @@ -16,46 +20,30 @@ function initElement(element: IHTMLElement): IHTMLElement { return element; } +function createTransform( + translateX: number = 0, + translateY: number = 0, + scaleX: number = 1, + scaleY: number = 1 +) { + return `matrix3d( + ${scaleX}, 0, 0, 0, + 0, ${scaleY}, 0, 0, + 0, 0, 1, 0, + ${translateX}, ${translateY}, 0, 1 +)`; +} + export class RNSharedElementView { - private _parentLayout: Rect = Rect.empty; + public parentLayout: Rect = Rect.empty; // @ts-ignore public readonly element = initElement(document.createElement("div")); - private _layout: Rect = Rect.empty; - private _originalLayout: Rect = Rect.empty; - private _contentElement: IHTMLElement | null = null; - private _contentLayout: Rect = Rect.empty; - - get parentLayout(): Rect { - return this._parentLayout; - } - set parentLayout(rect: Rect) { - if (this._parentLayout.equals(rect)) return; - this._parentLayout = rect; - } - - get layout(): Rect { - return this._layout; - } - set layout(rect: Rect) { - if (this._layout.equals(rect)) return; - this._layout = rect; - } - - get originalLayout(): Rect { - return this._originalLayout; - } - set originalLayout(rect: Rect) { - if (this._originalLayout.equals(rect)) return; - this._originalLayout = rect; - } - - get contentLayout(): Rect { - return this._contentLayout; - } - set contentLayout(rect: Rect) { - if (this._contentLayout.equals(rect)) return; - this._contentLayout = rect; - } + public layout: Rect = Rect.empty; + public originalLayout: Rect = Rect.empty; + public _contentElement: IHTMLElement | null = null; + public contentLayout: Rect = Rect.empty; + public resize: RNSharedElementResize = RNSharedElementResize.Auto; + public align: RNSharedElementAlign = RNSharedElementAlign.Auto; get contentElement(): IHTMLElement | null { return this._contentElement; @@ -72,90 +60,83 @@ export class RNSharedElementView { } public updateLayout() { - if (this._layout.equals(Rect.empty)) return; + const { + layout, + originalLayout, + parentLayout, + contentLayout, + element + } = this; + if (layout.equals(Rect.empty)) return; // In case of images, run the resize algorithm - if (!this._contentLayout.equals(this._layout)) { + if (!contentLayout.equals(layout)) { this.updateImageLayout(); this.updateImageContentLayout(); return; } // Update layout - const { width, height } = this._originalLayout; - const { x, y, width: scaledWidth, height: scaledHeight } = this._layout; + const { width, height } = originalLayout; + const { x, y, width: scaledWidth, height: scaledHeight } = layout; // Update size const widthPx = width + "px"; const heightPx = height + "px"; - const { style } = this.element; + const { style } = element; if (style.width !== widthPx) style.width = widthPx; if (style.height !== heightPx) style.height = heightPx; // Calculate translation - const translateX = x - this._parentLayout.x; - const translateY = y - this._parentLayout.y; + const translateX = x - parentLayout.x; + const translateY = y - parentLayout.y; // Calculate scale const scaleX = scaledWidth / width; const scaleY = scaledHeight / height; - // Update matrix - const transform = `matrix3d( - ${scaleX}, 0, 0, 0, - 0, ${scaleY}, 0, 0, - 0, 0, 1, 0, - ${translateX}, ${translateY}, 0, 1 - )`; - style.transform = transform; + // Update transform matrix + style.transform = createTransform(translateX, translateY, scaleX, scaleY); // Update content element const { style: contentStyle } = this._contentElement!; if (contentStyle.width !== widthPx) contentStyle.width = widthPx; if (contentStyle.height !== heightPx) contentStyle.height = heightPx; - const contentTransform = `matrix3d( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - 0, 0, 0, 1 - )`; - contentStyle.transform = contentTransform; + contentStyle.transform = createTransform(); } private updateImageLayout() { - const { x, y, width, height } = this._layout; + const { layout, parentLayout, element } = this; + const { x, y, width, height } = layout; + + // Update size const widthPx = width + "px"; const heightPx = height + "px"; - const { style } = this.element; + const { style } = element; if (style.width !== widthPx) style.width = widthPx; if (style.height !== heightPx) style.height = heightPx; - const translateX = x - this._parentLayout.x; - const translateY = y - this._parentLayout.y; - const transform = `matrix3d( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - ${translateX}, ${translateY}, 0, 1 - )`; - style.transform = transform; + + // Update transform + const translateX = x - parentLayout.x; + const translateY = y - parentLayout.y; + style.transform = createTransform(translateX, translateY); } private updateImageContentLayout() { if (!this._contentElement) return; - const { x, y, width, height } = this._contentLayout; + const { layout, contentLayout, parentLayout } = this; + const { x, y, width, height } = contentLayout; + + // Update size const widthPx = width + "px"; const heightPx = height + "px"; const { style } = this._contentElement; if (style.width !== widthPx) style.width = widthPx; if (style.height !== heightPx) style.height = heightPx; - const translateX = x - (this._layout.x + this._parentLayout.x); - const translateY = y - (this._layout.y + this._parentLayout.y); - const transform = `matrix3d( - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - ${translateX}, ${translateY}, 0, 1 - )`; - style.transform = transform; + + // Update transform + const translateX = x - (layout.x + parentLayout.x); + const translateY = y - (layout.y + parentLayout.y); + style.transform = createTransform(translateX, translateY); } } From 2e81177ef0918210371c1e039a79638475b90085 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Sun, 8 Sep 2019 10:01:25 +0200 Subject: [PATCH 21/46] feat(web): implemented resize & align props --- src/web/RNSharedElementTransition.ts | 4 + src/web/RNSharedElementView.ts | 146 ++++++++++++++++++++++----- src/web/WORK_IN_PROGRESS.md | 9 +- 3 files changed, 127 insertions(+), 32 deletions(-) diff --git a/src/web/RNSharedElementTransition.ts b/src/web/RNSharedElementTransition.ts index 614c3c9..9869daf 100644 --- a/src/web/RNSharedElementTransition.ts +++ b/src/web/RNSharedElementTransition.ts @@ -224,6 +224,10 @@ export class RNSharedElementTransition { this.views[index] = view; } + // Set resize & align + view.resize = this.resize; + view.align = this.align; + // Set layouts view.parentLayout = this.layout; view.originalLayout = originalLayout; diff --git a/src/web/RNSharedElementView.ts b/src/web/RNSharedElementView.ts index 10a27b1..126065f 100644 --- a/src/web/RNSharedElementView.ts +++ b/src/web/RNSharedElementView.ts @@ -60,21 +60,29 @@ export class RNSharedElementView { } public updateLayout() { - const { - layout, - originalLayout, - parentLayout, - contentLayout, - element - } = this; + const { layout, contentLayout, resize } = this; if (layout.equals(Rect.empty)) return; - // In case of images, run the resize algorithm - if (!contentLayout.equals(layout)) { - this.updateImageLayout(); - this.updateImageContentLayout(); - return; + // Run either the stretch (scale) or resize algorithm + if ( + resize === RNSharedElementResize.Stretch || + (resize === RNSharedElementResize.Auto && contentLayout.equals(layout)) + ) { + this.updateLayoutForScale(); + } else { + this.updateLayoutForResize(); } + } + + /** + * Updates the layout by only changing the scale of the + * element. This technique achieves a very high performance + * as it can be handled completely by the GPU, requiring + * no layout passes in the browser. It is however also more + * limited and can't be used for all effects. + */ + private updateLayoutForScale() { + const { layout, originalLayout, parentLayout, element } = this; // Update layout const { width, height } = originalLayout; @@ -105,8 +113,22 @@ export class RNSharedElementView { contentStyle.transform = createTransform(); } - private updateImageLayout() { - const { layout, parentLayout, element } = this; + /** + * Updates the layout by updating the size of the + * element and its content element. This algorihm + * can achieve any possible layout, as well as + * clipping of the content. + */ + private updateLayoutForResize() { + const { + layout, + parentLayout, + element, + contentLayout, + originalLayout, + align, + resize + } = this; const { x, y, width, height } = layout; // Update size @@ -120,23 +142,91 @@ export class RNSharedElementView { const translateX = x - parentLayout.x; const translateY = y - parentLayout.y; style.transform = createTransform(translateX, translateY); - } - private updateImageContentLayout() { + // Content if (!this._contentElement) return; - const { layout, contentLayout, parentLayout } = this; - const { x, y, width, height } = contentLayout; + let { + x: contentX, + y: contentY, + width: contentWidth, + height: contentHeight + } = contentLayout; + + // Get content size + let overflow = "hidden"; + switch (resize) { + case RNSharedElementResize.Auto: + // keep original size + break; + case RNSharedElementResize.Stretch: + contentWidth = width; + contentHeight = height; + break; + case RNSharedElementResize.Clip: + contentWidth = originalLayout.width; + contentHeight = originalLayout.height; + break; + case RNSharedElementResize.None: + contentWidth = originalLayout.width; + contentHeight = originalLayout.height; + overflow = "visible"; + break; + } - // Update size - const widthPx = width + "px"; - const heightPx = height + "px"; - const { style } = this._contentElement; - if (style.width !== widthPx) style.width = widthPx; - if (style.height !== heightPx) style.height = heightPx; + // Align + switch (align) { + case RNSharedElementAlign.LeftTop: + contentX = 0; + contentY = 0; + break; + case RNSharedElementAlign.LeftCenter: + contentX = 0; + contentY = (height - contentHeight) / 2; + break; + case RNSharedElementAlign.LeftBottom: + contentX = 0; + contentY = height - contentHeight; + break; + case RNSharedElementAlign.RightTop: + contentX = width - contentWidth; + contentY = 0; + break; + case RNSharedElementAlign.RightCenter: + contentX = width - contentWidth; + contentY = (height - contentHeight) / 2; + break; + case RNSharedElementAlign.RightBottom: + contentX = width - contentWidth; + contentY = height - contentHeight; + break; + case RNSharedElementAlign.CenterTop: + contentX = (width - contentWidth) / 2; + contentY = 0; + break; + case RNSharedElementAlign.Auto: + case RNSharedElementAlign.CenterCenter: + contentX = (width - contentWidth) / 2; + contentY = (height - contentHeight) / 2; + break; + case RNSharedElementAlign.CenterBottom: + contentX = (width - contentWidth) / 2; + contentY = height - contentHeight; + break; + } - // Update transform - const translateX = x - (layout.x + parentLayout.x); - const translateY = y - (layout.y + parentLayout.y); - style.transform = createTransform(translateX, translateY); + // Update content size + const contentWidthPx = contentWidth + "px"; + const contentHeightPx = contentHeight + "px"; + const { style: contentStyle } = this._contentElement; + if (contentStyle.width !== widthPx) contentStyle.width = contentWidthPx; + if (contentStyle.height !== heightPx) contentStyle.height = contentHeightPx; + + // Update content transform + contentStyle.transform = createTransform(contentX, contentY); + + // Update overflow + if (element.style.overflow !== overflow) { + element.style.overflow = overflow; + } } } diff --git a/src/web/WORK_IN_PROGRESS.md b/src/web/WORK_IN_PROGRESS.md index 546a748..c7d2753 100644 --- a/src/web/WORK_IN_PROGRESS.md +++ b/src/web/WORK_IN_PROGRESS.md @@ -5,9 +5,10 @@ Web support is under development [X] Content fetching [X] Image content fetching [X] Image resizeMode transitions -[ ] element scaling +[X] element scaling +[X] fade animations +[X] resize prop +[X] align prop [ ] style interpolation [ ] scrollview clipping -[ ] fade animations -[ ] resize prop -[ ] align prop +[ ] scale/transform handling \ No newline at end of file From f5f8393473706b76f91d3fee40d185677a2fe0f0 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Sun, 8 Sep 2019 10:57:37 +0200 Subject: [PATCH 22/46] feat(web): opacity interpolation & wip style support --- src/web/Color.ts | 44 ++++++++++++++++++++++++ src/web/RNSharedElementStyle.ts | 50 ++++++++++++---------------- src/web/RNSharedElementTransition.ts | 10 ++++-- src/web/RNSharedElementView.ts | 17 ++++++++++ 4 files changed, 90 insertions(+), 31 deletions(-) create mode 100644 src/web/Color.ts diff --git a/src/web/Color.ts b/src/web/Color.ts new file mode 100644 index 0000000..3307964 --- /dev/null +++ b/src/web/Color.ts @@ -0,0 +1,44 @@ +export type Color = number[]; + +export function parseColor(color: string | Color): Color { + if (Array.isArray(color)) return color; + let cache; + const p = parseInt; + color = color.replace(/\s/g, ""); // Remove all spaces + + // Checks for 6 digit hex and converts string to integer + if ((cache = /#([\da-fA-F]{2})([\da-fA-F]{2})([\da-fA-F]{2})/.exec(color))) + return [p(cache[1], 16), p(cache[2], 16), p(cache[3], 16), 1]; + // Checks for 3 digit hex and converts string to integer + else if ((cache = /#([\da-fA-F])([\da-fA-F])([\da-fA-F])/.exec(color))) + return [ + p(cache[1], 16) * 17, + p(cache[2], 16) * 17, + p(cache[3], 16) * 17, + 1 + ]; + // Checks for rgba and converts string to + // integer/float using unary + operator to save bytes + else if ( + (cache = /rgba\(([\d]+),([\d]+),([\d]+),([\d]+|[\d]*.[\d]+)\)/.exec(color)) + ) + return [+cache[1], +cache[2], +cache[3], +cache[4]]; + // Checks for rgb and converts string to + // integer/float using unary + operator to save bytes + else if ((cache = /rgb\(([\d]+),([\d]+),([\d]+)\)/.exec(color))) + return [+cache[1], +cache[2], +cache[3], 1]; + // Otherwise throw an exception to make debugging easier + else throw color + " is not supported by parseColor"; +} + +export function formatColor(color: Color): string { + return `rgba(${color[0]},${color[1]},${color[2]},${color[3]})`; +} + +export function interpolateColor( + color1: Color, + color2: Color, + position: number +): Color { + return color1.map((c, i) => c + (color2[i] - c) * position); +} diff --git a/src/web/RNSharedElementStyle.ts b/src/web/RNSharedElementStyle.ts index 92beb9f..2faec04 100644 --- a/src/web/RNSharedElementStyle.ts +++ b/src/web/RNSharedElementStyle.ts @@ -1,5 +1,6 @@ import { Rect } from "./Rect"; import { CSSStyleDeclaration } from "./types"; +import { Color, parseColor, interpolateColor } from "./Color"; /*int backgroundColor = Color.TRANSPARENT; float opacity = 1; @@ -12,13 +13,21 @@ import { CSSStyleDeclaration } from "./types"; String borderStyle = "solid"; float elevation = 0;*/ +function interpolate(val1: number, val2: number, position: number) { + return val1 + (val2 - val1) * position; +} + export class RNSharedElementStyle { public readonly layout: Rect; public readonly style: CSSStyleDeclaration; + public readonly opacity: number; + public readonly backgroundColor: Color; constructor(layout: Rect, style: CSSStyleDeclaration) { this.layout = layout; this.style = style; + this.opacity = Number(style.opacity); + this.backgroundColor = parseColor(style.backgroundColor); } public static getInterpolatedLayout( @@ -27,36 +36,13 @@ export class RNSharedElementStyle { position: number ) { return new Rect({ - x: layout1.x + (layout2.x - layout1.x) * position, - y: layout1.y + (layout2.y - layout1.y) * position, - width: layout1.width + (layout2.width - layout1.width) * position, - height: layout1.height + (layout2.height - layout1.height) * position + x: interpolate(layout1.x, layout2.x, position), + y: interpolate(layout1.y, layout2.y, position), + width: interpolate(layout1.width, layout2.width, position), + height: interpolate(layout1.height, layout2.height, position) }); } - public static getInterpolatedColor( - color1: number, - color2: number, - position: number - ) { - /* TODO - int redA = Color.red(color1); - int greenA = Color.green(color1); - int blueA = Color.blue(color1); - int alphaA = Color.alpha(color1); - int redB = Color.red(color2); - int greenB = Color.green(color2); - int blueB = Color.blue(color2); - int alphaB = Color.alpha(color2); - return Color.argb( - (int) (alphaA + ((alphaB - alphaA) * position)), - (int) (redA + ((redB - redA) * position)), - (int) (greenA + ((greenB - greenA) * position)), - (int) (blueA + ((blueB - blueA) * position)) - );*/ - return color1 + (color2 - color1) * position; - } - public static getInterpolatedStyle( style1: RNSharedElementStyle, style2: RNSharedElementStyle, @@ -67,7 +53,15 @@ export class RNSharedElementStyle { style2.layout, position ); - return new RNSharedElementStyle(layout, style1); + return new RNSharedElementStyle(layout, { + ...style1, + opacity: interpolate(style1.opacity, style2.opacity, position), + backgroundColor: interpolateColor( + style1.backgroundColor, + style2.backgroundColor, + position + ) + }); } /* diff --git a/src/web/RNSharedElementTransition.ts b/src/web/RNSharedElementTransition.ts index 9869daf..0984151 100644 --- a/src/web/RNSharedElementTransition.ts +++ b/src/web/RNSharedElementTransition.ts @@ -178,7 +178,9 @@ export class RNSharedElementTransition { animation === RNSharedElementAnimation.FadeOut ) { const startOpacity = - animation === RNSharedElementAnimation.Move ? 1 : 1 - nodePosition; + animation === RNSharedElementAnimation.Move + ? interpolatedStyle.opacity + : (startStyle ? startStyle.opacity : 1) * (1 - nodePosition); this.updateView( 0, interpolatedLayout, @@ -193,7 +195,7 @@ export class RNSharedElementTransition { animation === RNSharedElementAnimation.Fade || animation === RNSharedElementAnimation.FadeIn ) { - const endOpacity = nodePosition; + const endOpacity = (endStyle ? endStyle.opacity : 1) * nodePosition; this.updateView( 1, interpolatedLayout, @@ -209,7 +211,6 @@ export class RNSharedElementTransition { private updateView( index: number, interpolatedLayout: Rect, - // @ts-ignore interpolatedStyle: RNSharedElementStyle, interpolatedContentLayout: Rect, originalLayout: Rect, @@ -234,6 +235,9 @@ export class RNSharedElementTransition { view.layout = interpolatedLayout; view.contentLayout = interpolatedContentLayout; + // Set style + view.style = interpolatedStyle; + // If the content-element does not yet exist, then clone it and add it to the view if (!view.contentElement) { if (!content || !content.element) return; diff --git a/src/web/RNSharedElementView.ts b/src/web/RNSharedElementView.ts index 126065f..eabb825 100644 --- a/src/web/RNSharedElementView.ts +++ b/src/web/RNSharedElementView.ts @@ -4,9 +4,12 @@ import { RNSharedElementResize } from "./types"; import { Rect } from "./Rect"; +import { RNSharedElementStyle } from "./RNSharedElementStyle"; function initElement(element: IHTMLElement): IHTMLElement { const { style } = element; + + // Reset default layout behavior style.position = "absolute"; style.left = "0px"; style.top = "0px"; @@ -17,6 +20,10 @@ function initElement(element: IHTMLElement): IHTMLElement { style.backgroundSize = "100% 100%"; style.boxSizing = "border-box"; style.overflow = "hidden"; + + // Clear styles + // style.backgroundColor = null; + return element; } @@ -39,6 +46,7 @@ export class RNSharedElementView { // @ts-ignore public readonly element = initElement(document.createElement("div")); public layout: Rect = Rect.empty; + public style: RNSharedElementStyle | null = null; public originalLayout: Rect = Rect.empty; public _contentElement: IHTMLElement | null = null; public contentLayout: Rect = Rect.empty; @@ -72,6 +80,9 @@ export class RNSharedElementView { } else { this.updateLayoutForResize(); } + + // Update style + this.updateStyle(); } /** @@ -229,4 +240,10 @@ export class RNSharedElementView { element.style.overflow = overflow; } } + + private updateStyle() { + //const { style, element } = this; + //if (!style) return; + // element.style.backgroundColor = formatColor(style.backgroundColor); + } } From 267f3aa3d9b263dcfbb0461d5c26507a1df7b04e Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Tue, 1 Oct 2019 12:58:28 +0200 Subject: [PATCH 23/46] test: upgraded Example app to RN61 & react-navigation 4 --- Example/.flowconfig | 80 +- Example/.gitignore | 5 + Example/.prettierrc.js | 6 + Example/.vscode/settings.json | 5 - Example/App.js | 114 ++ Example/__tests__/App-test.js | 10 +- Example/android/.project | 4 +- Example/android/app/.classpath | 6 - .../org.eclipse.buildship.core.prefs | 2 - Example/android/app/build.gradle | 76 +- Example/android/app/debug.keystore | Bin 0 -> 2257 bytes Example/android/app/proguard-rules.pro | 7 - .../android/app/src/main/AndroidManifest.xml | 6 +- .../app/src/main/assets/fonts/AntDesign.ttf | Bin 70344 -> 0 bytes .../app/src/main/assets/fonts/Entypo.ttf | Bin 65584 -> 0 bytes .../app/src/main/assets/fonts/EvilIcons.ttf | Bin 13456 -> 0 bytes .../app/src/main/assets/fonts/Feather.ttf | Bin 58272 -> 0 bytes .../app/src/main/assets/fonts/FontAwesome.ttf | Bin 165548 -> 0 bytes .../main/assets/fonts/FontAwesome5_Brands.ttf | Bin 125016 -> 0 bytes .../assets/fonts/FontAwesome5_Regular.ttf | Bin 34092 -> 0 bytes .../main/assets/fonts/FontAwesome5_Solid.ttf | Bin 186228 -> 0 bytes .../app/src/main/assets/fonts/Foundation.ttf | Bin 56976 -> 0 bytes .../app/src/main/assets/fonts/Ionicons.ttf | Bin 112472 -> 0 bytes .../assets/fonts/MaterialCommunityIcons.ttf | Bin 531476 -> 0 bytes .../src/main/assets/fonts/MaterialIcons.ttf | Bin 128180 -> 0 bytes .../app/src/main/assets/fonts/Octicons.ttf | Bin 28364 -> 0 bytes .../src/main/assets/fonts/SimpleLineIcons.ttf | Bin 54056 -> 0 bytes .../app/src/main/assets/fonts/Zocial.ttf | Bin 25552 -> 0 bytes .../example/MainApplication.java | 60 - .../MainActivity.java | 2 +- .../sharedelementexample/MainApplication.java | 74 + .../app/src/main/res/values/styles.xml | 1 + Example/android/build.gradle | 33 +- Example/android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 2 +- Example/android/keystores/BUCK | 8 - .../keystores/debug.keystore.properties | 4 - Example/android/settings.gradle | 24 +- Example/babel.config.js | 2 +- .../AppIcon.appiconset/Contents.json | 158 -- Example/ios/Podfile | 53 + Example/ios/Podfile.lock | 427 ++++ .../ios/SharedElementExample-tvOS/Info.plist | 29 +- .../project.pbxproj | 1762 +++-------------- .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../AppIcon.appiconset/100.png | Bin .../AppIcon.appiconset/1024.png | Bin .../AppIcon.appiconset/114.png | Bin .../AppIcon.appiconset/120.png | Bin .../AppIcon.appiconset/144.png | Bin .../AppIcon.appiconset/152.png | Bin .../AppIcon.appiconset/167.png | Bin .../AppIcon.appiconset/180.png | Bin .../AppIcon.appiconset/20.png | Bin .../AppIcon.appiconset/29.png | Bin .../AppIcon.appiconset/40.png | Bin .../AppIcon.appiconset/50.png | Bin .../AppIcon.appiconset/57.png | Bin .../AppIcon.appiconset/58.png | Bin .../AppIcon.appiconset/60.png | Bin .../AppIcon.appiconset/72.png | Bin .../AppIcon.appiconset/76.png | Bin .../AppIcon.appiconset/80.png | Bin .../AppIcon.appiconset/87.png | Bin .../AppIcon.appiconset/Contents.json | 119 +- Example/ios/SharedElementExample/Info.plist | 20 - .../SharedElementExampleTests.m | 8 +- Example/metro.config.js | 8 +- Example/package.json | 49 +- Example/src/components/icon/Icon.js | 1 + 71 files changed, 1229 insertions(+), 1957 deletions(-) create mode 100644 Example/.prettierrc.js delete mode 100644 Example/.vscode/settings.json create mode 100644 Example/App.js delete mode 100644 Example/android/app/.classpath delete mode 100644 Example/android/app/.settings/org.eclipse.buildship.core.prefs create mode 100644 Example/android/app/debug.keystore delete mode 100644 Example/android/app/src/main/assets/fonts/AntDesign.ttf delete mode 100644 Example/android/app/src/main/assets/fonts/Entypo.ttf delete mode 100644 Example/android/app/src/main/assets/fonts/EvilIcons.ttf delete mode 100644 Example/android/app/src/main/assets/fonts/Feather.ttf delete mode 100644 Example/android/app/src/main/assets/fonts/FontAwesome.ttf delete mode 100644 Example/android/app/src/main/assets/fonts/FontAwesome5_Brands.ttf delete mode 100644 Example/android/app/src/main/assets/fonts/FontAwesome5_Regular.ttf delete mode 100644 Example/android/app/src/main/assets/fonts/FontAwesome5_Solid.ttf delete mode 100644 Example/android/app/src/main/assets/fonts/Foundation.ttf delete mode 100644 Example/android/app/src/main/assets/fonts/Ionicons.ttf delete mode 100644 Example/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf delete mode 100644 Example/android/app/src/main/assets/fonts/MaterialIcons.ttf delete mode 100644 Example/android/app/src/main/assets/fonts/Octicons.ttf delete mode 100644 Example/android/app/src/main/assets/fonts/SimpleLineIcons.ttf delete mode 100644 Example/android/app/src/main/assets/fonts/Zocial.ttf delete mode 100644 Example/android/app/src/main/java/com/ijzerenhein/sharedelement/example/MainApplication.java rename Example/android/app/src/main/java/com/{ijzerenhein/sharedelement/example => sharedelementexample}/MainActivity.java (95%) create mode 100644 Example/android/app/src/main/java/com/sharedelementexample/MainApplication.java delete mode 100644 Example/android/keystores/BUCK delete mode 100644 Example/android/keystores/debug.keystore.properties delete mode 100755 Example/ios/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Example/ios/Podfile create mode 100644 Example/ios/Podfile.lock create mode 100644 Example/ios/SharedElementExample.xcworkspace/contents.xcworkspacedata create mode 100644 Example/ios/SharedElementExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/100.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/1024.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/114.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/120.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/144.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/152.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/167.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/180.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/20.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/29.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/40.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/50.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/57.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/58.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/60.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/72.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/76.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/80.png (100%) rename Example/ios/{Assets.xcassets => SharedElementExample/Images.xcassets}/AppIcon.appiconset/87.png (100%) mode change 100644 => 100755 Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/Example/.flowconfig b/Example/.flowconfig index e66a97e..4afc766 100644 --- a/Example/.flowconfig +++ b/Example/.flowconfig @@ -5,22 +5,18 @@ ; Ignore "BUCK" generated dirs /\.buckd/ -; Ignore unexpected extra "@providesModule" -.*/node_modules/.*/node_modules/fbjs/.* - -; Ignore duplicate module providers -; For RN Apps installed via npm, "Libraries" folder is inside -; "node_modules/react-native" but in the source repo it is in the root -.*/Libraries/react-native/React.js - ; Ignore polyfills -.*/Libraries/polyfills/.* +node_modules/react-native/Libraries/polyfills/.* + +; These should not be required directly +; require from fbjs/lib instead: require('fbjs/lib/warning') +node_modules/warning/.* -; Ignore metro -.*/node_modules/metro/.* +; Flow doesn't support platforms +.*/Libraries/Utilities/LoadingView.js -; Ignore the compiled files -lib/.* +[untyped] +.*/node_modules/@react-native-community/cli/.*/.* [include] @@ -34,38 +30,46 @@ emoji=true esproposal.optional_chaining=enable esproposal.nullish_coalescing=enable -module.system=haste -module.system.haste.use_name_reducers=true -# get basename -module.system.haste.name_reducers='^.*/\([a-zA-Z0-9$_.-]+\.js\(\.flow\)?\)$' -> '\1' -# strip .js or .js.flow suffix -module.system.haste.name_reducers='^\(.*\)\.js\(\.flow\)?$' -> '\1' -# strip .ios suffix -module.system.haste.name_reducers='^\(.*\)\.ios$' -> '\1' -module.system.haste.name_reducers='^\(.*\)\.android$' -> '\1' -module.system.haste.name_reducers='^\(.*\)\.native$' -> '\1' -module.system.haste.paths.blacklist=.*/__tests__/.* -module.system.haste.paths.blacklist=.*/__mocks__/.* -module.system.haste.paths.blacklist=/node_modules/react-native/Libraries/Animated/src/polyfills/.* -module.system.haste.paths.whitelist=/node_modules/react-native/Libraries/.* +module.file_ext=.js +module.file_ext=.json +module.file_ext=.ios.js munge_underscores=true -module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub' -# Support the library import in examples -module.name_mapper='^\@react-native-community/geolocation$' -> '/js/index.js' - -module.file_ext=.js -module.file_ext=.jsx -module.file_ext=.json -module.file_ext=.native.js +module.name_mapper='^react-native$' -> '/node_modules/react-native/Libraries/react-native/react-native-implementation' +module.name_mapper='^react-native/\(.*\)$' -> '/node_modules/react-native/\1' +module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '/node_modules/react-native/Libraries/Image/RelativeImageStub' suppress_type=$FlowIssue suppress_type=$FlowFixMe suppress_type=$FlowFixMeProps suppress_type=$FlowFixMeState -suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) -suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ -suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy +suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\) +suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)?:? #[0-9]+ suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError + +[lints] +sketchy-null-number=warn +sketchy-null-mixed=warn +sketchy-number=warn +untyped-type-import=warn +nonstrict-import=warn +deprecated-type=warn +unsafe-getters-setters=warn +inexact-spread=warn +unnecessary-invariant=warn +signature-verification-failure=warn +deprecated-utility=error + +[strict] +deprecated-type +nonstrict-import +sketchy-null +unclear-type +unsafe-getters-setters +untyped-import +untyped-type-import + +[version] +^0.105.0 diff --git a/Example/.gitignore b/Example/.gitignore index 1bcb3d9..a3802a0 100644 --- a/Example/.gitignore +++ b/Example/.gitignore @@ -40,6 +40,7 @@ yarn-error.log buck-out/ \.buckd/ *.keystore +!debug.keystore # fastlane # @@ -55,6 +56,10 @@ buck-out/ # Bundle artifact *.jsbundle +# CocoaPods +/ios/Pods/ + +# Yalc .yalc yalc.lock yarn.lock diff --git a/Example/.prettierrc.js b/Example/.prettierrc.js new file mode 100644 index 0000000..5c4de1a --- /dev/null +++ b/Example/.prettierrc.js @@ -0,0 +1,6 @@ +module.exports = { + bracketSpacing: false, + jsxBracketSameLine: true, + singleQuote: true, + trailingComma: 'all', +}; diff --git a/Example/.vscode/settings.json b/Example/.vscode/settings.json deleted file mode 100644 index bba6c14..0000000 --- a/Example/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "prettier.eslintIntegration": true, - "javascript.validate.enable": false, - "flow.useNPMPackagedFlow": true -} diff --git a/Example/App.js b/Example/App.js new file mode 100644 index 0000000..bb77580 --- /dev/null +++ b/Example/App.js @@ -0,0 +1,114 @@ +/** + * Sample React Native App + * https://github.com/facebook/react-native + * + * @format + * @flow + */ + +import React from 'react'; +import { + SafeAreaView, + StyleSheet, + ScrollView, + View, + Text, + StatusBar, +} from 'react-native'; + +import { + Header, + LearnMoreLinks, + Colors, + DebugInstructions, + ReloadInstructions, +} from 'react-native/Libraries/NewAppScreen'; + +const App: () => React$Node = () => { + return ( + <> + + + +
+ {global.HermesInternal == null ? null : ( + + Engine: Hermes + + )} + + + Step One + + Edit App.js to change this + screen and then come back to see your edits. + + + + See Your Changes + + + + + + Debug + + + + + + Learn More + + Read the docs to discover what to do next: + + + + + + + + ); +}; + +const styles = StyleSheet.create({ + scrollView: { + backgroundColor: Colors.lighter, + }, + engine: { + position: 'absolute', + right: 0, + }, + body: { + backgroundColor: Colors.white, + }, + sectionContainer: { + marginTop: 32, + paddingHorizontal: 24, + }, + sectionTitle: { + fontSize: 24, + fontWeight: '600', + color: Colors.black, + }, + sectionDescription: { + marginTop: 8, + fontSize: 18, + fontWeight: '400', + color: Colors.dark, + }, + highlight: { + fontWeight: '700', + }, + footer: { + color: Colors.dark, + fontSize: 12, + fontWeight: '600', + padding: 4, + paddingRight: 12, + textAlign: 'right', + }, +}); + +export default App; diff --git a/Example/__tests__/App-test.js b/Example/__tests__/App-test.js index 583303a..1784766 100644 --- a/Example/__tests__/App-test.js +++ b/Example/__tests__/App-test.js @@ -2,13 +2,13 @@ * @format */ -import "react-native"; -import React from "react"; -import App from "../App"; +import 'react-native'; +import React from 'react'; +import App from '../App'; // Note: test renderer must be required after react-native. -import renderer from "react-test-renderer"; +import renderer from 'react-test-renderer'; -it("renders correctly", () => { +it('renders correctly', () => { renderer.create(); }); diff --git a/Example/android/.project b/Example/android/.project index e99695c..d7d4814 100644 --- a/Example/android/.project +++ b/Example/android/.project @@ -1,7 +1,7 @@ - SharedElementExample - Project android_ created by Buildship. + android___ + Project android___ created by Buildship. diff --git a/Example/android/app/.classpath b/Example/android/app/.classpath deleted file mode 100644 index eb19361..0000000 --- a/Example/android/app/.classpath +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/Example/android/app/.settings/org.eclipse.buildship.core.prefs b/Example/android/app/.settings/org.eclipse.buildship.core.prefs deleted file mode 100644 index b1886ad..0000000 --- a/Example/android/app/.settings/org.eclipse.buildship.core.prefs +++ /dev/null @@ -1,2 +0,0 @@ -connection.project.dir=.. -eclipse.preferences.version=1 diff --git a/Example/android/app/build.gradle b/Example/android/app/build.gradle index d2ccf01..660e41b 100644 --- a/Example/android/app/build.gradle +++ b/Example/android/app/build.gradle @@ -1,5 +1,9 @@ apply plugin: "com.android.application" +// +apply from: "../../node_modules/react-native-vector-icons/fonts.gradle" +// + import com.android.build.OutputFile /** @@ -18,6 +22,9 @@ import com.android.build.OutputFile * // the entry file for bundle generation * entryFile: "index.android.js", * + * // https://facebook.github.io/react-native/docs/performance#enable-the-ram-format + * bundleCommand: "ram-bundle", + * * // whether to bundle JS and assets in debug mode * bundleInDebug: false, * @@ -73,7 +80,8 @@ import com.android.build.OutputFile */ project.ext.react = [ - entryFile: "index.js" + entryFile: "index.js", + enableHermes: false, // clean and rebuild if changing ] apply from: "../../node_modules/react-native/react.gradle" @@ -93,6 +101,28 @@ def enableSeparateBuildPerCPUArchitecture = false */ def enableProguardInReleaseBuilds = false +/** + * The preferred build flavor of JavaScriptCore. + * + * For example, to use the international variant, you can use: + * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` + * + * The international variant includes ICU i18n library and necessary data + * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that + * give correct results when using with locales other than en-US. Note that + * this variant is about 6MiB larger per architecture than default. + */ +def jscFlavor = 'org.webkit:android-jsc:+' + +/** + * Whether to enable the Hermes VM. + * + * This should be set on project.ext.react and mirrored here. If it is not set + * on project.ext.react, JavaScript will not be compiled to Hermes Bytecode + * and the benefits of using Hermes will therefore be sharply reduced. + */ +def enableHermes = project.ext.react.get("enableHermes", false); + android { compileSdkVersion rootProject.ext.compileSdkVersion @@ -102,7 +132,7 @@ android { } defaultConfig { - applicationId "com.ijzerenhein.sharedelement.example" + applicationId "com.sharedelementexample" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 @@ -116,43 +146,53 @@ android { include "armeabi-v7a", "x86", "arm64-v8a", "x86_64" } } + signingConfigs { + debug { + storeFile file('debug.keystore') + storePassword 'android' + keyAlias 'androiddebugkey' + keyPassword 'android' + } + } buildTypes { + debug { + signingConfig signingConfigs.debug + } release { + // Caution! In production, you need to generate your own keystore file. + // see https://facebook.github.io/react-native/docs/signed-apk-android. + signingConfig signingConfigs.debug minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" - signingConfig debug.signingConfig } } // applicationVariants are e.g. debug, release applicationVariants.all { variant -> variant.outputs.each { output -> // For each separate APK per architecture, set a unique version code as described here: - // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits - def versionCodes = ["armeabi-v7a":1, "x86":2, "arm64-v8a": 3, "x86_64": 4] + // https://developer.android.com/studio/build/configure-apk-splits.html + def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4] def abi = output.getFilter(OutputFile.ABI) if (abi != null) { // null for the universal-debug, universal-release variants output.versionCodeOverride = versionCodes.get(abi) * 1048576 + defaultConfig.versionCode } + } } } dependencies { - implementation project(':@react-native-community_masked-view') - implementation project(':react-native-reanimated') - implementation project(':react-native-screens') - implementation project(':@react-native-community_viewpager') - implementation project(':react-native-vector-icons') - implementation project(':react-native-fast-image') - implementation project(':react-native-linear-gradient') - implementation project(':@react-native-community_blur') - implementation project(':react-native-photo-view') - implementation project(':react-native-gesture-handler') - implementation project(':react-native-shared-element') implementation fileTree(dir: "libs", include: ["*.jar"]) - implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" implementation "com.facebook.react:react-native:+" // From node_modules + + if (enableHermes) { + def hermesPath = "../../node_modules/hermes-engine/android/"; + debugImplementation files(hermesPath + "hermes-debug.aar") + releaseImplementation files(hermesPath + "hermes-release.aar") + } else { + implementation jscFlavor + } } // Run this once to be able to run the application with BUCK @@ -161,3 +201,5 @@ task copyDownloadableDepsToLibs(type: Copy) { from configurations.compile into 'libs' } + +apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) diff --git a/Example/android/app/debug.keystore b/Example/android/app/debug.keystore new file mode 100644 index 0000000000000000000000000000000000000000..364e105ed39fbfd62001429a68140672b06ec0de GIT binary patch literal 2257 zcmchYXEfYt8;7T1^dLH$VOTZ%2NOdOH5j5LYLtZ0q7x-V8_6gU5)#7dkq{HTmsfNq zB3ZqcAxeY^G10@?efK?Q&)M(qInVv!xjx+IKEL}p*K@LYvIzo#AZG>st5|P)KF1_Z;y){W{<7K{nl!CPuE z_^(!C(Ol0n8 zK13*rzAtW>(wULKPRYLd7G18F8#1P`V*9`(Poj26eOXYyBVZPno~Cvvhx7vPjAuZo zF?VD!zB~QG(!zbw#qsxT8%BSpqMZ4f70ZPn-3y$L8{EVbbN9$H`B&Z1quk9tgp5FM zuxp3pJ0b8u|3+#5bkJ4SRnCF2l7#DyLYXYY8*?OuAwK4E6J{0N=O3QNVzQ$L#FKkR zi-c@&!nDvezOV$i$Lr}iF$XEcwnybQ6WZrMKuw8gCL^U#D;q3t&HpTbqyD%vG=TeDlzCT~MXUPC|Leb-Uk+ z=vnMd(|>ld?Fh>V8poP;q;;nc@en$|rnP0ytzD&fFkCeUE^kG9Kx4wUh!!rpjwKDP zyw_e|a^x_w3E zP}}@$g>*LLJ4i0`Gx)qltL}@;mDv}D*xR^oeWcWdPkW@Uu)B^X&4W1$p6}ze!zudJ zyiLg@uggoMIArBr*27EZV7djDg@W1MaL+rcZ-lrANJQ%%>u8)ZMWU@R2qtnmG(acP z0d_^!t>}5W zpT`*2NR+0+SpTHb+6Js4b;%LJB;B_-ChhnU5py}iJtku*hm5F0!iql8Hrpcy1aYbT z1*dKC5ua6pMX@@iONI?Hpr%h;&YaXp9n!ND7-=a%BD7v&g zOO41M6EbE24mJ#S$Ui0-brR5ML%@|ndz^)YLMMV1atna{Fw<;TF@>d&F|!Z>8eg>>hkFrV)W+uv=`^F9^e zzzM2*oOjT9%gLoub%(R57p-`TXFe#oh1_{&N-YN z<}artH|m=d8TQuKSWE)Z%puU|g|^^NFwC#N=@dPhasyYjoy(fdEVfKR@cXKHZV-`06HsP`|Ftx;8(YD$fFXumLWbGnu$GMqRncXYY9mwz9$ap zQtfZB^_BeNYITh^hA7+(XNFox5WMeG_LtJ%*Q}$8VKDI_p8^pqX)}NMb`0e|wgF7D zuQACY_Ua<1ri{;Jwt@_1sW9zzdgnyh_O#8y+C;LcZq6=4e^cs6KvmK@$vVpKFGbQ= z$)Eux5C|Fx;Gtmv9^#Y-g@7Rt7*eLp5n!gJmn7&B_L$G?NCN`AP>cXQEz}%F%K;vUs{+l4Q{}eWW;ATe2 zqvXzxoIDy(u;F2q1JH7Sf;{jy_j})F+cKlIOmNfjBGHoG^CN zM|Ho&&X|L-36f}Q-obEACz`sI%2f&k>z5c$2TyTSj~vmO)BW~+N^kt`Jt@R|s!){H ze1_eCrlNaPkJQhL$WG&iRvF*YG=gXd1IyYQ9ew|iYn7r~g!wOnw;@n42>enAxBv*A zEmV*N#sxdicyNM=A4|yaOC5MByts}s_Hpfj|y<6G=o=!3S@eIFKDdpR7|FY>L&Wat&oW&cm&X~ z5Bt>Fcq(fgnvlvLSYg&o6>&fY`ODg4`V^lWWD=%oJ#Kbad2u~! zLECFS*??>|vDsNR&pH=Ze0Eo`sC_G`OjoEKVHY|wmwlX&(XBE<@sx3Hd^gtd-fNwUHsylg06p`U2y_={u}Bc + xmlns:tools="http://schemas.android.com/tools" + package="com.sharedelementexample"> f zwNMB{p#yLWZ7E?0l!gRoDNx2z3bYKj(9^nb+dwHzd!v)@zs^2#d%rL7 z(wWa*ds_2ehjGT3jcsExYniop>C^|*9sk7`@50%s3l=xGE&J=-AsnBN<7FpoT)k=k zF}JQ~%ycPZWuSn+2KE-K(vIn@75^DKpdD-1aU5eP zVfxH@OYo$4vADuFoVPe+$>mSjz_3)}hZt{ek<%xD7bdKPpN_uhDiGaBXf>S`7PmBS4;04q>;G-@_Q1amT~;Y>|JUgXs$v8Xt!og~GE@m#CRgAr zQMCqaL49%FApHf$NrpWT$gRrX|7ag_5BY{tL+PQep#?)n4s9R0XXpn*&knsl^w|NT z)>{?!M|sFK+Qi^Nf%1WHMOZk^bgr)wuKegm)KeCbM_CmkNtrC2RoZ> zWj_L!eVd)b&SmGZ^VtRLLWT}w7qM;NX_v6Su`jbr*>Bhm_G9)Sdx$;2E@NL|m$NI_ zmFz0^RdzqSnthF3!>(o5vFq6l?Cb0s>_&DI`zE`Y-NLrBTiI>wc6JB*7Q2((#lFqH z!~T=~iT#B=#hzx*u)nfDv!Ah_vya%b>=*1g_B?xm{gS=NUScn^SJ=nwRrVVD6?>ii zn!UmP#r})!=aoFh<2=c;ypGrN6wmN#p5`^Ymc7fq%kE+KvWM9t?Dy<5_IIYT1DtWr zB`$LVH*ymg2**$E3LWK8+!Qy2cW26mw+TUg^mer&=Q4?0Yv&0Iwtx8I-}4rkvO!hLdO8i zSfQ*;1@Vu}u+RZP)=RbgKT&@ZOw07}Lb9YE8V zq64TKQ*;2GV~P%-cudg&w2vt|fC@522hc;N=m5&d6dgb#nW6*n4@C#iO{VAo3d$56 zKuejT1E?xfbO3#2iVmQ(Owj=}mnk}c`Z7fa&|#+N0E)~M9YC9zq64TjQ*;2mW{M7= z+)U8{G@L0qfSNN!2heq<=l}}O6dge8nW6(5z`hQk|4h*VoPa4hfG03T2XF_b=m0*! z6dk}Zn4$xC2UBza7h%e50pKT0nIiz4g(-sqz+;#)R{*#TQ|1W(-(kuT0>FWoGG73A z5mOcj09RtlLIL1UOgT~jI2BVC2_W53Su6nDiz!P4fR8a{sQ_>^rYsY{c4K>#0B|{` z94!F+jw#0o0Ow=Masl9hOj#iS+>j~93IJbZ%1Qy?kW5)60KAeZ#|Z$}WXkaZz(1L? zS^zjHQ`QIoPi4vp0>E9FvQ_~2EK^Pt0FKL)bppV9nX+C0xG+;r5&(Y8l#>O3Gc)BB z0pQV0IaL6-HB&YS0N-ZHMgid9OgT*ecsWx}7XYr#luZJ_-*9!Fy(v! zkSmySfdEJtOu0}1WDTZVBmhzeQ??0!{K1rq1wayE$|V9IlQ8AW0wA3*bBE@R5=0wAF=`eKU07&mld0hbHc&7YX z03>>*ydeOxJyWQU0g&>U@}>aD`%Iy641na%6dK0>=m1RltpI2PO!=Jv=mku9M*uVg zro1Zvx&l+)69BD&Dent_{=gK%2>?xkDZdv0oq{PJ2!M9Mln(_!&tS?Q1VH0piXs5I z2UGqi09puBsBQr0BTN|*0L_Fcgew3#3R4It0JIgR&@}+`7N-1{0BA5wp>_d4mthLk z833(@DSHJ#zhTNJ0-)(IG{Kem4pz$>x+OaPBz`*#66&Y)up;7M!^0(cf%qX1rq ztw{jM@P9N5;3;e^0(b`7G6B3ATdM$`#?~f)*I;WG0IiD+xdcG}Vnc2L(8Sn~R{(S} zHslik?TihfJOb!xYzXfqfX2p#x&%OXV?zrBK#OBTM+$&G$A&OB2%y=qAsR$?Fafpz&+T4 z{t)nTYgR?r^)^C%IqqoaEW=dB1#K`K9H*_cnQt_Fm$B z-Ph#1)c13LyMK%S`9NJ@L*V{kP4LX%u25U(`yn;FD*VInpDXT;B%`6|*2=!how0?n zyJMfm2dmnvZmRk$u_f_9(wRIZD`$?rZ@9=c2ahG_Vt?Hnw_-+ zwOec7uJhH+uKQuVss4%vYr}O7A2%*)ysGi{O>Iq=G(FTDXuhy{cS}pl-7TNBcD0_? z`be9lZFbvrZLj5gxrMo_a?j+{_Nnb(X@9=M*D=`f-HuN?kM7*rxi?>zzahW3tFPXiBzCuUq~0n)z$K zz2@^1)}8SB+UaYzpE&)*drwr>RjgaJ?t%5D^(`k2oOHvxRw^ zTQ=5h{Oq)+PW#vC(@)>IDYohEGp3*M;hAk`zP;JK`I;>lxnw0c@SpM%atL~O4fMk4 zB+qkGJx@BNN}kBJH%ax}pD_A^KBt^bWfSI9vPquIgGrMw(AL?W37X6%7tA{`o=dcK zW}Boe?`ZFndU#u)lJjt+VsUvoS}tG5t)Xn}GIdb;HuuLEXg{qo9W3K~ z+cxfvR5|bI_f&ZBcYZ~{TOKyM9hOjqBUSC=XMbo5dF_>%4`>d7N*#Dy?vrPdeV~kc z+BXG*muGaVjo%49u#oX_Gv^1EDq0`nMTW=3Xm`_!Pz z#fJjTlGH5l)Sf#ap6hHwOPI`wCOmf|J@@tEb7p~d@i}V4ZRn?Mcn(w?9L)^FH!Rl~ zCYw!7ytAKYn|L2=sR5tF-csK)nRw!@w|K&2Qr~O&$PP?wFTZT#{;2&Un|zT`eebQe z)%T1>o_HHK6+Zr*jR&K)r=GS|2DtSd8w3#1Z^bepsf;Mo$(wnmy`Oi+IHqPW29`Xk z(6u%cWw(87tJI4gTdK#Vm1Pr!KmC-gQX4B1l<75Pnz`A@n>dPXLq$zv%8c47txrE~ z)#_lavc6;GV++0A#%-^>f|jTRZiL>5GDo$o*KA6nqJ2CN=lMPmpfN?p-Vp@_iY1RJ zQEeCHpczED)V7dX^!^ONa@UF0Z9^jlF&3O0Wuh;$nNF0L@64BUb=I5BI0+Zr6{BWo zm)J3j7Mz<%@nquM1&bam**|7ff4ub{qenqLnLKB~q8*FopPR(L;oaGz28U6N9_*mv z=opEA{&4Y^edxD7j*dj#nqaR-A0BoE9>#bY9>>&s@?qD2yKEQ?fl3=hE=t9XpQxjXI1N)&E{U{O{MH&^2Bi zK!Y(MxGb?M#?oaN7k%*DfOY0`F;1-0oND64I#WqZ3OIN!R4;WJf+-hY=XYtm5PePea+rL-lWzrwXZjbV^i9CcG8cj4SAm}vnL`)`+ zSX<|0-ky;g8a7T=A2`zZOWeB&v3w>*U<$Xd-4W|FCha$o>JzKZh%q%c3pStL>!AyfFA zQfeH``s9xG3_p#pJlhtC+8?x9cY?B8&r$E0ykTjhKju$PStPA+(WXiL&Q@z6YTKdT zvy~syOZQ0A&bCJbwg+vMww+dx->r?yHuRFH)3j(x@_ez`Y8!C}Z_sWL^>`BX7=V-l zKAO+z_0TXU$tRT{X)&GXL&MdBY-$bL(Zq$2wDDJea#U11J`ShD5E#qVC%xe?|0kbP z9uAk|QY7X0nB!XbAAfSBB94z=qw~BAH>Jam(uF@cQx*1)U&RTp`ipXicGRvV_@q;# zOAKn5pml*&a16Hmhoz-@36T*0m4=qL6xC30RLQ_T9hPhG!$+a2;e>hgJ&fsc@D!E? z11U}>O{z;J$2rA+WHUJV1?pukIf$Wux7)2A<8b-Zd&fPE$zwk_!G7SVbEx;xj2e4V zj6L9UPZ6I)G7FIbauP%aa~Vdt*)+~6so7;$k9NEH-Of}{cBz-~3!DaHS8&Ih(&X}x1Z5kq!+0p*-4eY!?Ewqd zs!HOWkK`7jV#y4DLwh%mI?@haIsEQ=sZV<~&p^h0Q@pzHwDxL2r!JMAqxX6f*-X18 zGLn#<%zy?=rj>Qa=~d9q%MzysZ=XCfdNI z<)bF7bMd{!R;qTq5=x^b1iss(OUVDqH8j!dke{GQfvN}OZC3R@8a6-Bx{SB-9Cewr zWZdpO_`corzH~d@l?0mLz8KmuO!Eoe_p!^t@4--Bt_>o7p891PM53Q`UW4}~NNT5d zLZ$+KPT zeI!>sDenQjHo!ZLSY|`&McErxqf&X_>m&ku zut z6=Jc^Y|56Fk1CHrVddlnNAA!B;1tQiJB}o|IGH@E1TF3xgV_F;CMQxO9uRW$8wcA( zjOi)-yA*doGj2r7SB`i;Klb2rBkMW)FzYF&z_m!ZujC|(wE6-)99)jn{Cr0aY`V1_ z0%u9nQu9wx_nRL@x43ml(E|z>1V_ZQ}9?>K^JY^*L>#QcXHK-sNBF9y@S% za9`YqzrwEso^BuS(YhF2uHNN?>6z?q#ra&V#j+hS5>M}hb1hYrgtg%Z%(WKOWMT|I zIR!2RzLq@ffv7I^yHF3ms~1%fwY##Ksv0}|(b&b0E7nx~S+S<5wc?^?z^Fu@U|>Eb z{X&ZXgkK|l*wy&P#Q0soZyYZ6+JnVP(PFWBxs52E;uB%PLm=Jb9b4g=CE>A)< zZ>-2v;BQaR!~aU6y6W)+PxI0#O_nGfTR~Pevd@gg_o9p-jWOzoF#}0esi0)AM!a>* zH2S?(?6vg!lt2becW}IrO@g8$dr@|g03WnV2*NzVF5#J|#>;goJZzlMNbNDB$k*E= z8%FL*CPzLXh&fp%N|}nWunkRkMzJm%^(HK(P1%vHC)22f6^UjiEN0YvFziqpy2dgT zhYbdU?b~4zqu+!3V_LIt3aLW3-bzZ%t+$r!m(qzSY~NFW4JmwCp?c{$Oi<{4&>-Xz zThD}(Q+g2!)HrBux4k*4StsBM(tPW9$O3Ubc~lEe#2rV_|4}2<%Tu5$sbRYrjCEv_ z9EDq*dJC70Wo16wMzc8*H810{(9mO=R=rF8ra?BAKk10N%+4G6Y$%@?swMQ-iwL?d zviWA4Ai+VACXJosx=ix$n)6llv1OJ>#BAPZ^OcnuWquO+`gfzyovLGa6#nMw0qnL($BP$DQqt#!SvBctKm+_CF?b{1` z?Zn5Y$qPg;Yxp;Hj&vl$-53lU3lDPlIRMy$i_ z@F(7lIH(8U4}J_WWj}}i{WbW@-=tZ9-U3>hwNv|nh!ezrvbtnph-iz!H3aTyGIv58 zBBP9El9AB0WERCaBQ&-^FrUd1KncS6U?!Vy&3kbwmu$`DTRO6Ns7QDPOm&?(Bh;E; zATDXo@z#!fTQ1cC*Ak3N8WqjAPllis?CdbpGyUA>@4y_yvvMYj$J(>NFO#JwT5&RK zGIs!9zbTK`;+36wd8Wx$v8uQKivHeJVY?|*?@m>OGpz=L)6Z+>uHJC`yqcPHRSoA; zo8*@1)0&M_x2~!P7*dgN1)sYA*IY77a=*llHiI1F&N7!p;#Py*XtWzR0+?qRjZ@;0 zNZgp04LsA-V>I?O8BIomWH6}LZa_$M!ci`11klpPx$!)MY_G1A@lTTIS9b9-6aIy5 zPNz+>7)@@Qi+6L5LX3#0o)!uBtO!?Bgje)bM9N};=AKl4IBg^2*$3^b2D910RqY?Q zuS&t4yf0e z@z2OVppCgjmS@Pg=|P*>Y?BN|eU6@fpM8A?v6zY@N z1M|ABKFJABBHfYjb8?+Qp3z)sBq5TF4Y{y*EbrWZT^t=&6PGv9wl=o^I(ZX8p@U38 zfXB-Q}1vX^P+?u!yf&tzRQvw0X02m(Trk4td1|4NaahN(bEktn{h6 z(PsM^95&Yw3;WV$TP3sxbbg$E(42(pMbJszutGFaWG}A;tu56^jeg8#7wTC-m#09~vi!N&&MwAM~8|X^l$?a#=f~nIX%2hebaw>C8;7`-C^YAE`!r2NtwhznoAXr*N3aa zHh;ixlg^1J;*;jol3J3V3u|4v#oO7HoKxotNafBzu4>AHs_d-7XWkH;{9d~qY`RoF z_fhAIOdq%UYTUSq)#}dgvZA=}sD(3uvy>QNqUiC@dWc-BX>5#wE$; zG`PySp*h|Zkff-)F4#0#o0*Z^l({o1LZLA-)BZPk2)68Wh<`6JqdijRag|E}ce+2; z+~~^2+~r*AZKB4no|21HMk-JNZS_Wpu9!xI#*q|-Tw1dU1=6%R2_9Nf#Z*ZZWvZdp z4%8Z{_CDSQ^%vcB_`2f{vy$|MEg-bC>TcEyto!9|Qm54wTG_!-G z+ZhfXQGb+R4cxQ1Uju|$EleJmjMZfAV4(@C8 z|DYYAUGpOyj-tXxM5wf95~GgCpgDn%UHF8M0r0H8GY0pG^c4R1$hsV?7uvW~Pplf* z!kD}?ZL_-3s*;auuF1lx2DyN6gV|~fQiUN9(3<#OLV7O@pQU|TP3u<>(&87K7OY2iy_8ATGV~{hf)-6(%&PA`3&Jh=O+M_m`ZA;;O znkLfO{6D$P>~;PG=PGSms2)$1p3s=Bu0KtcCXv4L1z3G|g0lHQ={u zBiApHv((%w+@-=4hWf~T$wz?+@Dbsqe?P>mP>kcU)WlxQ5<|Z2l*VZ`LI_ zuQ<2>ZDZmE%73E5*H6$pyaZ7%dp-Oj`^ACp7<6d6&$=H$n`t z*`xImvk`Wa)?_x#F}gfP=p&u^w5LTr3yvL44Us<4)R0rv&t#j+ZB_qE`cA>co8yg* zabAa|-8J#THM#A&JU{?EdF)KtLXXY!Mf<>Oc>Hw!ig>cu9h z9V)HxnM2c#Np1R}X06gA2FMWTL$H^A*j}_Q(6JQT;cf0{N&9@>9h®9K?4Tre1; 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

9po(mC;xgZJxI5gC)~i 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

R0AMv>n9kBSrZWQv zj8gze2D43>%1lq=EoEYKXnJNcW0)Apj%Q300}~mniO~t`cy@Yp@8}R8Su?eG2E#oz zY#1FM%pQ@b);e`ybSzV&eM06J7y%kZ ze0N}M2;9eXc2XW1p(e}wMyE$+1|2yr1@mz~0B`3wNBcx}Wl4Gh8cbcvLHEh*B$Sh*B@x=+zqSq9$vZnV2gBzYHA3 z3K=-6gGafR<8>4Jv@cE!@8tzE;i`;&Z(^DkEHmT# z$Fqld*>pHN$y<~*4rATWe{-%-lT{962dRO|^Z;-;eq|7Cm_mgqaH&|()5hTeJQ|qF zC^U>%Hl~s6%;dhYfvG8Rf99yPcWhuE7W>ic%(Mc;K{Hd_vbk59+CMrjO=q)XB4&{l zy{5&zZxZteeVd%5`eto9(*wtRk=GFq42+ATQ-`E|qkE_2(P6wYY&igwIRq?&b!-Lt z#45{-0en-^BoL&$d0=m5`lx((U<~~*9M0kkG#2!A;L-8@a{pv@V&tfi7BXOv&J`LA zW25^s4FJv*FYrr(6~6>PX2u57$|R;Xz=M$*15ncPzy#1`TH&XftZ`s`crrUWj2l|P zJ}@?Vcwl@V{jbTUEqRx~&`0%knYPWBQOh`yJ)D`$?%iveo*Wp?92l6~FYN`IFww|! zoNSoN&WsNmXq}Hphk@p#siWgVSbzIQ$7LL85GDbXf#Ece_0-hBzD(Kx%(*`!_H0;b zMr%QZCNnizQ?7`|Lj&V!nnaliqB59z*g^~pO;4GovSTy+mV`C6Um}7F>t&6k5IU~W@Ue-PX$_dL*#X8G-8XInmzOjr9qJ1n2en@-h*gG(U36b5ezocLsCNM$FT5Vzj97L$l_}of% z&^($sP;($Vp4~S&aDcGi*uY@!HZ2zdy|8hkVQT-;iHvP}AUima)qfz@Ms3|IG>>Nn zGxA|Vh11G3mN`~{;c#YjFe~--uU(USTdQy75A+`C7g}#EOVOdtm_BH{3^*K}88;jo z86BBX1~VgI5;Ml($X^j< diff --git a/Example/android/app/src/main/assets/fonts/Entypo.ttf b/Example/android/app/src/main/assets/fonts/Entypo.ttf deleted file mode 100644 index 1c8f5e910bfb1a4a2871eeedc6eae01ca25e7ce1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65584 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 Mo)UlS#?4!Q1Drm*)Bpeg diff --git a/Example/android/app/src/main/assets/fonts/EvilIcons.ttf b/Example/android/app/src/main/assets/fonts/EvilIcons.ttf deleted file mode 100644 index 6868f7bb64ba71b131690286ddc82aa0f542293e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13456 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�*Ax zeM_w>w)f|gvC?uZiG~neQe(6AMl1L#JhkL!j`SGI2^h-H#{t`pqX}R;$W>f$N~;Uk zssJOz^9%ix;2DjHMSQw#A(hTGodPHn3oQajNJJ<5n{w&Yf?AyH7qlaUvoK=NGNm)I z?=|K6K)K5yJgzx(|72gT>3cDi7X1?V-xBQIl%UAE6a+S7 z6i}c^<05JYWMsp_oCzrmj}JqQ&DeyKaRnMJgbyy*xNogV3)0Sb1?CUCY8N{?oPVjs zNW}g3Czk&cp9nw+iu?(bgg=R3JpKt9L@dqFbh77EPjWhuaCUm8t=OrUHErRa-Z|fQ z{5aTL%(~U*yA|+r6de2O?1QfZZ>eD9w1_Jh`37=y(kFscSXf-+&mhD>g6SkhN4pS& z9D?;!S+LId?10~dE&=EqElE4of(`+K%&DTF;6TWma(Texp_u6p*nTjp1>GMguF^1d zX^BN<$G`*Lhw(zWLfO9sTG~M^|D6FMT26U<0QZW6PN9xe6cCe0QTec7V{mCcJVr~D zV!w2nTlr)kw}7@#UdmMKm!}rI1GbRWqkQ zKyif(wQW%h(qb{_{T%iIc2wk+TU#`#Q?I*F+}InTvVn@IxJji^jS^eqqv*$QV<5jh zE-Fy#vAve_EvY9^Mz8Jr*tam_c0Vb!gE3GMj_ zV-vWqq0-c>$ntx0H70b*iAj^qC!?lDvE>TTr-Xb6wN!sFzNwcWd%(Zv4TmE=xx04s z?#!XEH@xS)18uRkj_hmx9gS$OphQK1?}ons2bwPtsKG~I0f zeYH|47pc-h!Aie%M)$akQU!)3MCx!cwcr%U7Vu)r7pxQr7sKE*NqZ45!Is0FoR4x& zAx>iswq%<9mE1sbO@g$n+i#Z&E}(@L2*RfA+i#baT7V^ha%q{V5TDbhX3+OZ_WgP! z4$?kW^`!K>_vIpcEAMg2RE?fdMFLEtKdoPgBF(_L%F+>j<~Y~Hs&fogeQFW662 z`9MNd$GYzB_Y?4P8U`v_-78}oz>W%U(pAu9cxU-giU4d&HwbHvFTx6g`@I-Vw4loOsd0y^aNQ_)wRhyCxt!d!2C zPRr%7GB(Bzae#K(_m#5K+6h1sdSKydf5Sg|;IZO!WINAc1ph94PB;3X)?phpRw3tn zN5$kly2j)0LC7xEoOyHPqvCqPHW>S;6^;Z>iM{*L2Yrlz>ws0Gx`tAXLLN;_+c=i`ly*fizydC`9>@fKawT&inIz0noMP~=&ps>;JW zIRIuF@Xti59Y1?xp*wm4HKC}Pw_;GXz$;e&eRUN+y0?H=!0byFAkSTDpsXrnETA84 z3Qbbb%>xnkskR*>nI7D+LXbs!s{nR=Jl4-Z8At-Wwc?iD(F3wA|!#67Cd z-@0@2_UXe(m@_q2%~)%FYcg#06dJ5l^VLT>tS}^R+su`R$E2^HF$0LS9fjs+B-tcr zkxbfc6RIY#Nr%zA>l(!*EoiNm*k7Bu5%~AD!d1yw_j&EUKw%7uS2S$rI<5YkG{N`< z7j

  • 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 diff --git a/Example/android/app/src/main/assets/fonts/FontAwesome.ttf b/Example/android/app/src/main/assets/fonts/FontAwesome.ttf deleted file mode 100644 index 35acda2fa1196aad98c2adf4378a7611dd713aa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165548 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 z zq1_(l4SX+ekaM;bY|YgEqv2RAEE}e-Im8<@oEZ?Z81Y?3(z-@nRbq?!xD9Hyn|7Gx z-NUw`yOor_DJLC1aqkf2(!i=2$ULNfg|s8bV^xB!_rY+bHA;KsWR@aB=!7n&LJq(} z!pqD3Wkvo-Goy zx1edGgnc}u5V8cw&nvWyWU+wXqwinB#x7(uc>H44lXZQkk*w_q#i2O!s_A?a*?`Rx zoZW6Qtj)L1T^4kDeD7;%G5dS816OPqAqPx~(_-jZ`bo-MR_kd&sJv{A^ zs@18qv!kD;U z5Evv$C*bD~m z+x@>Oo>;7%QCxfp-rOkNgx4j-(o*e5`6lW^X^{qpQo~SMWD`Gxyv6)+k)c@o6j`Yd z8c&XSiYbcmoCKe+82}>^CPM+?p@o&i(J*j0zsk}!P?!W%T5`ppk%)?&GxA`%4>0VX zKu?YB6Z)hFtj@u-icb&t5A1}BX!;~SqG5ARpVB>FEWPLW+C+QOf~G-Jj0r`0D6|0w zQUs5sE6PYc)!HWi))NeRvSZB3kWIW|R^A%RfamB2jCbVX(Fn>y%#b1W%}W%qc)XVrwuvM!>Qur!Ooy2`n@?qMe3$`F2vx z9<=L}wP7@diWhCYTD?x)LZ>F6F?z8naL18P%1T9&P_d4p;u=(XW1LO3-< z`{|5@&Y=}7sx3t1Zs zr9ZBmp}YpHLq7lwu?CXL8$Q65$Q29AlDCBJSxu5;p0({^4skD z+4se#9)xg8qnEh|WnPdgQ&+te7@`9WlzAwMit$Julp+d80n+VM1JxwqS5H6*MPKA` zlJ*Z77B;K~;4JkO5eq(@D}tezez*w6g3ZSn?J1d9Z~&MKbf=b6F9;8H22TxRl%y1r z<-6(lJiLAw>r^-=F-AIEd1y|Aq2MggNo&>7Ln)S~iAF1;-4`A*9KlL*vleLO3vhEd(@RsIWp~O@>N4p91SI zb~+*jP?8B~MwmI0W$>ksF8DC*2y8K0o#te?D$z8nrfK{|B1L^TR5hlugr|o=-;>Yn zmL6Yt=NZ2%cAsysPA)D^gkz2Vvh|Z9RJdoH$L$+6a^|>UO=3fBBH0UidA&_JQz9K~ zuo1Z_(cB7CiQ}4loOL3DsdC<+wYysw@&UMl21+LY-(z=6j8fu5%ZQg-z6Bor^M}LX z9hxH}aVC%rodtoGcTh)zEd=yDfCu5mE)qIjw~K+zwn&5c!L-N+E=kwxVEewN#vvx2WGCf^;C9^mmTlYc*kz$NUdQ=gDzLmf z!LXG7{N$Mi3n}?5L&f9TlCzzrgGR*6>MhWBR=lS)qP$&OMAQ2 z`$23{zM%a@9EPdjV|Y1zVVGf?mINO)i-q6;_Ev|n_JQ^Zy&BnUgV>NbY9xba1DlY@ zrg$_Kn?+^_+4V4^xS94tX2oLKAEiuU0<2S#v$WSDt0P^A+d-+M?XlR**u_Xdre&aY zNi~zJk9aLQUqaFZxCNRmu*wnxB_u*M6V0xVCtBhtpGUK)#Dob6DWm-n^~Vy)m~?Yg zO0^+v~`x6Vqtjl4I5;=^o2jyOb~m+ER;lNwO$iN ziH4vk>E`OTRx~v#B|ifef|ceH)%hgqOy|#f=Q|VlN6i{!0CRndN~x8wS6Ppqq7NSH zO5hX{k5T{4ib@&8t)u=V9nY+2RC^75jU%TRix}FDTB%>t;5jpNRv;(KB|%{AI7Jc= zd%t9-AjNUAs?8m40SLOhrjbC_yZoznU$(rnT2);Rr`2e6$k!zwlz!d|sZ3%x@$Nw? zVn?i%t!J+9SF@^ zO&TGun2&?VIygfH5ePk|!e&G3Zm-GUP(imiWzZu$9JU)Wot`}*RHV<-)vUhc6J6{w&PQIaSZ_N<(d>`C$yo#Ly&0Sr5gCkDY(4f@fY5!fLe57sH54#FF4 zg&hda`KjtJ8cTzz;DwFa#{$!}j~g$9zqFBC@To^}i#`b~xhU;p{x{^f1krbEFNqV^ zEq5c!C5XT0o_q{%p&0F@!I;9ejbs#P4q?R!i$?vl3~|GSyq4@q#3=wgsz+zkrIB<< z=HMWEBz?z??GvvT54YsDSnRLcEf!n>^0eKf4(CIT{qs4y$7_4e=JoIkq%~H9$z-r* zZ?`xgwL+DNAJE`VB;S+w#NvBT{3;}{CD&@Ig*Ka2Acx)2Qx zL)V#$n@%vf1Zzms4Th~fS|(DKDT`?BKfX3tkCBvKZLg^hUh|_Gz8?%#d(ANnY`5U1 zo;qjq=5tn!OQ*-JqA&iG-Tg#6Ka|O64eceRrSgggD%%QBX$t=6?hPEK2|lL1{?|>I^Toc>rQU7a_`RSM^EPVl{_&OG-P;|z0?v{3o#pkl zC6Y;&J7;#5N#+H2J-4RqiSK^rj<_Z6t%?`N$A_FUESt{TcayIew5oWi=jxT*aPIP6 z?MG`?k5p%-x>D73irru{R?lu7<54DCT9Q}%=4%@wZij4+M=fzzz`SJ3I%*#AikLUh zn>k=5%IKUP4TrvZ!A{&Oh;BR}6r3t3cpzS(&|cEe&e{MQby|1#X`?17e9?|=i`sPG zL|OOsh`j@PD4sc6&Y3rT`r?-EH0QPR*IobE@_fkB8*(886ZkjkcO{K8Sz$H`^D-8P zjKG9G9A`O!>|!ivAeteRVIcyIGa#O<6I$^O7}9&*8mHd@Gw!WDU*@;*L;SYvlV#p( zzFSsPw&^UdyxO}%i)W8$@f}|84*mz&i2q@SlzMOd%B!BHOJ<(FYUTR(Ui$DuX>?85 zcdzl5m3hzFr2S@c_20C2x&N)|$<=RhzxI!}NN+yS16X^(_mtqY)g*Q%Fux5}bP3q$ zxQD|TB{+4C1gL>zI>g~-ajKMb{2s_cFhN2(I(q^X!$H(GFxpc6oCV9#maj|OhFZaI z;umX6E*fQVTQ@lyZauuv>%E)5z-?zQZne18V5A}}JEQmCz>7^h0r)!zhinBG6 zMQghGt!Do5h%HmAQl~%m+!pr-&wlrcwW;qw)S$6*f}ZvXd;cHw=xm|y~mHbT3yX>?hoYKfy--h+6w9%@_4ukf0Et^zr-DbPwFdyj0VJHi}4bqRetSNR`DoWd( z(%n5>8MQl+>3SeL-DB@IaM{NDwd{{v_HMIO)PKO}v{{##c@ihB0w$aaPTSP4^>n3Z zC8Il%(3dCLLX$-|SwWx1u7KVztXpzNhrOZQ78c$jd{B9lqsNHLr*9h;N9$i+vsrM1 zKzLB_gVdMCfxceejpIZat!MbR)GNZ%^n|fEQo?Xtq#Qa_gEWKTFxSL4b{g}kJNd{QcoQ}HUP-A)Rq;U(***IA*V_0B5mr}Xp$q{YSYs-b2q~DHh z?+muRGn~std!VXuT>P9TL_8Km9G{doqRb-W0B&%d> z^3@hs6y5jaEq%P}dmr(8=f}x~^ z*{I{tkBgYk@Td|Z{csd23pziZlPYt2RJW7D_C#&)OONEWyN`I19_cM;`Aa=y_)ldH z^co(O-xWIN0{y|@?wx@Y!MeVg3Ln%4ORu5~Dl6$h>AGSXrK3!pH%cpM?D|6#*6+A# zlsj;J0_~^?DHIceRC~0iMq)SJ&?R&if{fsdIb>y;H@M4AE`z8~dvz)(e}BqUWK^U~ zFy`PX+z*Bmv9VxAN;%CvMk(#kGBEMP;a-GgGZf~r$(ei(%yGqHa2dS3hxdTT!r>La zUrW2dCTZ!SjD_D(?9$SK02e_#ZOxdAhO%hgVhq54U=2$Hm+1^O^nH<>wS|&<)2TtD zN_MN@O>?A@_&l;U)*GY*5F_a~cgQb_3p`#77ax1iRxIx!r0HkDnA2G*{l|*}g_yI% zZdHt2`Hx^MA#VH7@BEN68Y_;sAcCNgCY7S&dcQsp*$+uW7Dm@$Vl7!YA^51bi} z*Vy8uTj{neIhIL|PhditfC1Jeub(uy}w|wV5 zsQz)04y;BY2$7U4$~P{k)b`hZb>gv1RkD)L#g~$*N^1N1GfNMS)4r|pT*V<&KE1M9 zTh}rzSW#Kcci_#(^qf0gTW3&QN&zsW%VAQ+AZ%-3?E)kMdgL)kY~@mC>l?RH28u;Y zt-@_u^5(W>mDdtqoe){#t;3NA7c@{WoY9bYFNoq+sj&ru;Z`x>4ddY0y*`HRtHFEN% z@mFkp=x0C6zDGgA0s|mP^WNEwE4O}S?%DOtce3At%?ThxRp@`zCH6MyzM)dA9C7IP zI}t;YUV(Jcnw$4LoD4H(EM#!{L-Z|&fhNYnBlKcQ$UScR#HH>scYBTf2u|7Fd8q$R zy5Cbt=Pvf^e}m4?VVL@#Pi3z*q-Q0MG8pGTcbS|eeW%R5bRzKsHSH#G(#$9hj9}0O7lXsC zbZ7#UjJM^FcvdKK3MOEl+Pb-93Px}F$ID&jcvZdJ{d(D)x|*`=vi%1hdg(dd-1E>& zoB4U&a${9!xyxoT%$7gFp{M<_q z9oVnk*Dcp$k#jA#7-pZbXd=L8nDhe<*t_*%gj^Vx>(~KyEY~i&(?@R~L_e^txnUyh z64-dU=Lc;eQ}vPX;g{GitTVZben7||wttapene^dB|oSGB~tmAGqE^`1Jxt$4uXUL zz5?7GEqvmLa{#mgN6la^gYO#}`eXyUJ)lFyTO8*iL~P z$A`A_X^V#!SJyU8Dl%J*6&s9;Jl54CiyfA`ExxmjrZ1P8E%rJ7hFCFo6%{5mRa|LY zk^x76W8M0tQBa1Q(&L`|!e zrczv>+#&b2bt zuD1Bfoe>oW0&!ju$-LI)$URptI!inJ^Dz|<@S1hk+!(n2PWfi-AMb5*F03&_^29MB zgJP7yn#Fw4n&Rod*>LlF+qPx5ZT$80;+m*0X5ffa3d-;F72#5un;L$}RfmR5&xbOf(KNeD|gT1x6bw5t;~j}(oMHcSzkCgcpbd>5UN z7e8CV*di9kpyJAo1YyE9XtfV1Q8^?ViwrKgtK$H60 z%~xgAifVV#>j>4SN10>bP9OV9m`EA-H{bzMimEQ_3@VZH%@KZzjDu` zRCG*Ax6B^%%dyLs2Cw{bePFWM9750@SIoZoff4mJvyxIeIjeZ{tYpbmTk4_{wy!_uygk4J;wwSiK&OpZWguG$O082g z^a3rw)F1Q!*)rNy!Sqz9bk0u-kftk^q{FPl4N+eS@0p1= zhaBFdyShSMz97B%x3GE|Sst~8Le6+?q@g6HwE1hJ#X)o^?{1!x-m`LlQ+4%?^IPIo zHATgqrm-s`+6SW3LjHB>=Pp{i<6FE#j+sX(Vl-kJt6sug<4UG9SH_|( zOb(+Vn|4R4lc8pHa-japR|c0ZAN$KOvzss6bKW^uPM$I$8eTr{EMN2N%{Yrl{Z`Y^ zaQ`-S_6omm((Fih26~Bjf^W$wm1J`8N+(=0ET@KFDy;S%{mF@!2&1UMxk>jTk49;@ z*g#0?*iga;P7abx1bh^d3MoAy*XQp{Hl*t(buU@DamDmvcc;5}`ihM!mvm36|GqRu zn*3}UmnOSUai6mM*y&f#XmqyBo>b=dmra`8;%uC8_33-RpM6;x`Rrc0RM~y9>y~ry zVnGanZLDD_lC%6!F%Jzk##j%?nW>JEaJ#U89t`?mGJS_kO5+5U1Gh;Lb3`{w<-DW; z;USPAm%*aQJ)UeYnLVb2V3MJ2vrxAZ@&#?W$vW)7$+L7~7HSzuF&0V95FC4H6Dy<( z!#o7mJKLMHTNn5)Lyn5l4oh2$s~VI~tlIjn09jE~8C#Ooei=J?K;D+-<8Cb>8RPx8 z-~O0ST{mOeXg+qjG~?}E8@JAo-j?OJjgF3nb^K5v>$yq#-Ybd8lM^jdru2WE-*V6W z>sL(7?%-Qu?&?wZNmmqdn?$FXlE!>2BAa^bWfD69lP0?L3kopYkc4>{m#H6t2dLIEE47|jcI$tEuWzwjmRgqBPkzk zM+(?6)=);W6q<2z95fHMDFKxbhPD-r0IjdX_3EH*BFL|t3))c7d~8v;{wU5p8nHUz9I?>l zVfn$bENo_I3JOh1^^ z+un~MSwCyixbj%C?y{G@G7mSZg_cf~&@djVX_vn8;IF&q?ESd=*AJHOJ(!-hbKPlb zYi-r+me!ezr_eCiQ&SetY;BocRokkbwr=ONGzW2U@X=AUvS^E9eM^w~aztd4h$Q&kF;6EJ1O*M7tJfFi}R1 z6X@asDjL5w+#QEKQE5V48#ASm?H7u5j%nDqi)iO@a1@F z*^R+bGpEOs#pRx9CBZQ}#uQa|dCH5EW%a3Xv1;ye-}5|Yh4g~YH5gI1(b#B|6_ZI; zMkxwTjmkKoZIp~AqhXp+k&SSQ)9C=jCWTKCM?(&MUHex;c3Knl(A%3UgJT_BEixIE zQh!;Q(J<0)C`q0-^|UdaGYzFqr^{vZR~Tk?jyY}gf@H+0RHkZ{OID|x;6>6+g)|BK zs6zLY0U>bcbRd6kU;cgkomCZdBSC8$a1H`pcu;XqH=5 z+$oO3i&T_WpcYnVu*lchi>wxt#iE!!bG#kzjIFqb)`s?|OclRAnzUyW5*Py!P@srDXI}&s2lVYf2ZCG`F`H-9;60 zb<=6weckNk=DC&Q6QxU*uJ9FkaT>}qb##eRS8n%qG`G9WrS>Xm+w)!AXSASfd%5fg z#fqxk(5L9@fM};~Gk^Sgb;7|krF-an$kIROPt4HLqq6+EL+62d@~4Hsy9nIU?=Ue4 zJ69;q+5+73nU|TQu}$>#v(M&Vx1RD=6Lu`d?>zHN?P7J&XWwsvwJt|rr?CZu+l>m4 zTi^VLh6Uu2s392u(5DLaM%)Dr$%h3hRB>V7a9XG`B{ZsWgh4IyTO9R~TAR^h^~>ko z(k|Hy#@bP}7OyN92TKE%qNZfyWL32p-BJf1{jj0QU0V`yj=tRospvSewxGxoC=C|N zve$zAMuSaiyY)QTk9!VmwUK&<#b2fxMl_DX|5x$dKH3>6sdYCQ9@c)^A-Rn9vG?s)0)lCR76kgoR>S;B=kl(v zzM}o+G41dh)%9=ezv$7*a9Mrb+S@13nK-B6D!%vy(}5dzbg$`-UUZJKa`_Z{*$rCu zga2G}o3dTHW|>+P_>c8UOm4Vk-ojaTeAg0-+<4#u-{>pGTYz(%ojZ`0e*nHo=)XZS zpp=$zi4|RBMGJDX{Db?>>fq71rX3t$122E;cJ(9elj+kBXs>3?(tq=s*PeL^<(M$8 zUl;u9e6|EP5Us-A>Lzvr+ln|?*}wt;+gUmd>%?@Wl@m%Qm{>Q0JqTcxtB`ROhd6TB z$VY<7t$^N6IC(s*Z@x2?Gi%eB8%(hYaC zKfY5M-9MeR-@5h zZ?V`qr%%FlPQlW5v_Bp^Q?^)S*%Y#Z$|{!Lpju=$s702T z(P}foXu(uuHN!cJRK*W-8=F*QlYB*zT#WI-SmQ_VYEgKw+>wHhm`ECQS`r3VKw`wi zxlcnn26L*U;F-BC9u{Csy#e%+2uD$He5?mc55)ot>1w`?lr$J zsrI^qGB@!5dglADaHlvWto@|S>kF5>#i#hCNXbp*ZkO$*%P-Sjf3Vc+tuFaJ-^|Ou zW8=}1TOlafUitnrTA2D0<3}&zZz^%y5+t2`Tk`vBI93FqU`W!zY;M%AUoN1V1-I2I zPTVFqaw3Pr-`5HcEFWuD?!8Ybw)Y>g7c0tt=soTHiEBxlY;RlQ`iYY-qdd94zWjyD zFcskM^S{_!E?f3mEh9waR7tb6G&yl%GW%e&Sc5i;y@N)U5ZFLcAsma^K?Cg^%d{PO z=SHQq4a|l`AakzEY;A{n6Rn1u`7v~#ufV*6GZ$`Ef)d2%6apsU6^>QJl0@U& zq|wIBlBAgf0j!YaozAgmhAy0uy;AjRA2%(!`#&e>`V` zg`MfSf5gWvJY#?8%&|`Aj0<@aZ;-q#tCx=-zkGE|_C4)TqKjr-SE6po?cX?Z^B%62 zdA!75;$my<*q)n@eB<^dfFGwRaWB25UL#~PNEV>F^c+e2Be*Df(-rIVBJo2o*an$1*1 zD$bsUC-BvObdmkKlhW<59G9{d=@bAu8a05VWCO=@_~oP=G3SmO91AK_F`#5 zwXLRVay<~JYok|rdQM-~C?dcq?Yfz_*)fIte zkE_g4CeLj1oza=9zH!s!4k%H@-n{6aB&Z;Cs8MK?#Jxl`?wD>^{fTL&eQHAQFtJ_% zNEfs|gGYh+39S{-@#MrPA!XpgWD;NLlne0-Vey1n0?=ww18{L)7G|$1kjI(sjs z@|alUMcx*04*>=BWHv_W-t=rCAy0q6&*;kW&ImkwWTe$lzHJRZJ{-{ zl-mK6+j}V`wobm^^B&2Tl?1r=yWbz;v-F<#y!(CT?-4K(($wWtmD631MN9?trDG zMI7;9U7|UsC;urLP%eH1h%U`LJxT3oM4=gpi%X@lpVR9N6Q(uhJ00RWXeL-Z*V(O8 zsIyyVUvf=RXLBKX`!peifjIMvMs1YT0n$0*B;K^yZf&HN8$N%e=EgOejqihLPBT|< zs)z`nNU}BOdT7wYLy}R10eXUksn9o)jG)&=qteGc|XNI~h5R6UBfaPeIHbA32@*>orZsCB4`Q79}A=z@najfekt-_eTg7a}Mcas^D1ELlN6(y28c{ur|tmueFvIDOQxXs1)_lKrA`L2-^^VNC#miFvO%l6w5uK2bFyu?hyNLCjTCNRRVW^i+GX``giwc&TpV~OHu(yN&o)r2$K$1kjh@>iP z^&`?sCk#?xdFX+ilAb(;I7<$BQ#6j*jKsu%LEhQKe=>ki^ZICepr3#_2#pE`32i4Z zu%eXsgL)3x3Q-^OPPRhm<^!TEPoek6?O^j+qLQ*~#TBw4Aq~M2>U{>{jfojVPADAi zurKpW{7Ii5yqy6_1iXw3$aa!GLn|$~cnvQnv7{LMIFn!&d6K=3kH8+e90Zq5K%6YfdLv}ZdQmTk7SZ7}>rJ9TW)6>NY{uEZ zY^9PI1UqUFm|h0Vqe60Ny=wCFBtKb zXtqOa3M?2OEN=zDX7z}2$Y{2@WJjr?N`auMDVG9kSH~FjfJRNfsR@yJQp4cQ8zaFkT4>5XQqSVt5c}`-A#Z=3-_mGZ^)Hqayei zhJ}wgZ5UDln%)!;Wz@u=m(6C_P@r9*IMPe7Db`CSqad3ky-5-EcG=*v8J&{RtLJ(E zw2h-ghGYcDtqj4Z^nU7ChgEXO0kox=oGaY;0EPqeW89T6htbZg4z!uU1hi;omVj+3 z0B%$+k$`oH5*SeoG`Ay&BAA%nAUjQxsMlNdq8%;SbEAPVC#qm!r7j75W=A)&a6)3% zdQq$fCN;@RqI!KPfl9l=vmBFSFpD1cAxb@~K-$ZIlIL3W}?#3+|2p{|vZVq`YA zMbx|Xl57kJVwoetAo+opiewCkCIO=uBLEaG+!0U$MRdReNsx>+PIJWN6dW)pfeZ(u zQ8ei-Ht69)ZV`qv=vmorhOkF)Squ;)8AUfh<7A_xI8FGHMRW>~%o`1Wt3|8IMrM%& z8)|@=#ssro9=f9HtN0F#O085{Bf6PJnurfzS_yg?qqszmnQIYDP{N=xqPfvl;VNsK^qpoy2&App~Fe(MB7KCI)$p1!&YEB&%$9gTk zmvlt?t7!>_paNt_fYJvw^~LCqX{4opLy!n)md7}<_s?`gytfSAdoScQWTy&Tbr&~( zg9myGVv)l|4-umFBL0)Y(d}Rvt11)(O4ij#zeao~K$vh~JDn0_@3RjP2M0|79T&9+ z?>Vx&M30Sb15&<{RtpeYUf|n7n5GHyc+-FtA=7H$p6Mh=&M0O!so)tze7#WT>pp|x zfWae>0++DfscU2%>|@oiCQj+6O827)1}KsN^a>NSI*4?#ylfG-{q?3MMXX$dUH^S6Ni=Ve1d0(janpz@WqGJ?cG&sewpq294Qa zL{huwuoARdt5F4Dbh#?<2ruzSS{VeDAOtY+52t^xJW=!(0f3P&G3Cs^%~Q~~Wq{YA z!QrEk#>oXK{sc&Z7VB1_>fA1^#YyU1Ff<^9G(!V0!JW`n@EDdj$$2SVK6*7$!BvXP zmAC;h-W75(Nnzpro3CE9eV=~Lp7yS(vXnk@$g3{R`!(UG013==W*Hj{-*F!ujl+np%IX?E0*I&-K^u zY1z1I!`iOu+Ll`UtL|F6Vb?~vk=x9w6}eE^*<)O?pZQ#8YKE#b($x>w$3E*F0Kfk zfnyCo#zOpX1(P2yeHG@fP7}}~GB|&S27%6=@G^V=rmeTB$(w9rC6J@uQmcAMq zQ=Ce?Z0RkF_gu30<;5#jEW32il2?}$-6PZ?au16Y)?kUFy3L?ia1A@%S3G-M`{qn8 ze+|6jh0vqfkhdSb0MvIr!;;*AL}QX^gkc+q0RJ4i9IyOo+qAyHblI+$VuZ3UT7&iIG7640a)fe&>NOVU@xZ*YE`oy!JGMY%j}bGq!= z`R5xY(8TK&AH4b6WoKCo>lPh6vbfu1yYy02g^t9bDbexN!A`*$M5`u&}WqF?+*m?ZoW85&MFmXqQ1J{i;_Oz>3*#0?lWa zf?{tv`_JzP7D3x2gX&ICRn(aR$#>;ciH#pO?<*}!<}cYh_r{hb6*kkXSteV>l9n6i zwx63=u%!9MdE>@2X)3$YXh=DuRh~mN2bQFEH&_nHWfU{q+4=t07pt+Jfj90Or;6JX{BCQrE8bZe&wi3fwEXHRp zz8{VAmxsWU)3nT;;77X7@GCm7_fL1p_xKEG&6G~luO;Bc3ZIa?2b(*uH7qJ!es71c z{Buj4(;Jds$o78u<3df_2~DLq`e9*$SGmrR9p2OoVB5Q(KL3M{1>eq+;+lHK9N?xvyBPHni<#j$sZK{QrKEcdR9+eQD0V? zGPaq!#<-c#a>t4bt+R#Hu_|}dlIGeve@SR!d((u)Ga45+BuhHfA88G0cPrw>>(`ID zZ;aIyn|qmhuDXBthoW{J(WN+`Yud=y(wvd0rm&1*4>6?#8&)Fz z&@V=a0w4)F{^!&W_l6<5xg|-0F!~>aCALbeVsZTd*)M*^tr*!)O8w)mzKThWyQW@X zw%BFs5_@CIic5EPcTJu8=CmynV;``)3}gJ`Vl#VY_3Yib@P-KvBk_%!9OVu#8tG|Nc4I~A>8ch-~X%M@!>yk~ERI|QEcwzgI66IaaY>gx0~lm<@f z5-k^OY#SGC80Yr-tDRP(-FEJ{@_4LHsGJ=)PKZ@`eW75-r0ylN%0Q>&*M;@uZLdJ$ z)rw7Dt5ajr;P;~1P>jID!><(7R;w|Yf}qI&8klT?1dTfc@us5mKEe;qw;YKR(cp-D z6NmUMP8x7cM%~ytE@l*Mp^oN*mCF`gRNhw3gpO1PVi_^JzCJo>#mX(q+iJ(Ts$5=! z13b45gILEULS!=)SmZ{qsC1)$8-4eADGR?v z>~4k_SvdvPHAC}=4(!I^OLgQ@9EMDE7d$PvJbi+K%-HTh`P0#Ea|Jm6zj> z?R)(YWtZoIRx>AqzlG1UjT@6ba>yE z{Wf<5moh^-hu;ptAtPG}`h$4PWcOn>vy`#bH#Ss>OoAEE1gIbQwH#eG8+RHG0~TJ$ z>`C`c7KyM^gqsVNDXxT|1s;nTR&cCg6kd<-msrdE5Ofk=1BGDMlP2!93%0c@rg~4` zq)UFVW%s|`xb>;aR@L^*D>nkSLGNmM?cv)WzHZy3*>+*xAJSX;>))*XRT0r9<#zIpug(}{rSC9T$42@gb zy8eb6)~}wl<=or)2L}4T{vum>-g)QaKjtnp5fyd^;|BxHtx~2W^YbKq1HfB7@>Hw@U5)?b^H=uNOpli?w6O#~V`eG;`irLcC(&Uxz`L_Cl zS8r24e*U71o@dV6Soupo-}Ttu*Dk&EwY`h4KdY-k55DSqR&o7nufO)%>%s-Es^5Q_ z60#cReEy=$4|nW)bLh=|4bxW4j}A?qOle+wjn88oAeYb~!eA+EQ;8Ggp-UldAt$3M z7*E590amz>YB9L(z?Xx&?I37XYw?Os-t+05x6Z4vkzBE6-hrbB=GAB?p{DQXV4CKg zls@_wh*&XC<3R(CEZxg8*Y(6a>cIOq9Nss7{=UQ7Nv%O_WxSyBqnH{@(<>A&2on@z zn57W4Dh*E)o#rJ2#tyxV2;C5#rl8%%As$4qB=IbMt-z|jnWi>>7Ymq37;AW!6Y4nx z1Ogx#!WVdA92mEipgUxzy_?ddg|x)KOCyK)P5v@usc;0sN3{=0slt4CuwaxK@20eO zhdp~Z8iJ7GWrkq_-X`~(eBpthn9|`tZEUCIGiFpJjjxPVE9I)#z3Q$3tw`a69qxjuf+~ z*?v>d5~pcH-AQ~0)8PyIjumD^?SM8!Wb>KZoD7hOlc2nA0_(eG!in>}Ru}>6)>5 z@*}T`Hw{I^-?PS9>(#UFBQpW72* zsfj(2+_9@5x+57aN!`e`f(Mp_I(D>}p8)@&g^g+X1%d{ z%X5boE?hEoj0CiwTh9)#8^?~;|wgor_=Z1BI9_dI{ z&t*f95n?ZgZ5CnQa!v(p|JT?y0%KKgi`Smi9k5r!+!Mkz=&Z$%CFl;?AOzV`YBKrY z0#Y6~J6&dA=m>T@TYb8ukaV4z^Z?VX*MCKcp13-ye1*`gAj_Tm@r{fpm?K!U@Xg2AfndEo6jZN} z=XK0GRNXVLW2c?}B)rH^yR>u}b?|p(W$!TkQTAgu1AIG>MFfNchMQB_^-AQxRE$Th5-E_tBP@v(Cy|ojjP5LEU|JrM8 zVF5;$>Hl^jlHWDPChrTH(vh%bARyj5#TPb>omAs-)4zN z9?9(wybd0$Z5s+}Fiytv}-8U`IC<{6U2_NqEAkv;7lys5Qcq3EKt z0-!^Xy3idllgZ~qX^QTe=i*oGUCJNk>Y26?+9U(Ks|C81S{-v+6ebc`c(yibQbuB% zxM7mk>}dI-TfUi5Jqdu6b`4SqF)y5humuCaHhssdcR(jKf5ZGprx;Oe7VG#G6TA1+ z8oZLl<+ey(L+$Qsck^4fi{I|)p15MX73gHFUU!l${lN{)Ht_Wb%j#UE6cZ9}Wq^>+1wz z9TBA@%f~tby^0YWafmn&8Ppjn1Ng{d;S01WImtMzV<`!zU7;+8e-Xko>qM^OfOZ`Y zEZG#vcm>EGF??&G6+v(3l`X(xMn8ESv=@LdMfdcxFi%g1?0HDPG>blldR`OLlWN80 zz<$t+MM9%1K~JT@#aBZjOu9*G{W$u7cqTM|&a1)0wR8R^*r$<&AhuCq1Z{-aUhc5P zdyaaK{$P=Y6R{40FrWmLbDOCijqB(1PrKlnL)Tm|t=l}toVLAZOXJ*~-dx|_A&o65 zskcpT@bs+d@ia`f)t8ivl{(t%H?O?;=^s3O^GXqopx7E3kz06f^UQq<>gyNmo4Ij; zrOxuzn{WOqP75~PwPXC;3mZ#YW1xy&DEXsl~)u4`-v_{*B%R6xNH3* zJElz8@d#i4`#JV(ko%x;u{LMqLEEDmwD*(ccB9Wp;u*9I?=sC7g>%L{%$4m#zhbjm z)gK{LWQvE1>_yl|4T$nYKNVZ<)vza7FKU5*W~4)KNgN@;SA<9&ERxIfA&UZnB=r%N z5YD4fY$9Mkzy}!G+`KUy>3l(FSi1 zw)t)*w$E4#ZSxfm3cZLC(o3aQQ7uHk>_@fMTHoM0=quh%mfN6%{`O($pyzg0kPf=2 zjA%M7bRl4BhV5{{d4HbnTh`HM&YKw@N~47e7NFGr*9Yzi(7XQl-FJb4hPEKOC!K2x$nWy>8=PJYE)T$=Cqe(n*ChZE zklF{Ms}h0Jd|@o;Gz(~b;9d&c#0O^j{1?tF5dtMj9dG`|j0qZi^aF1r{<7KC5hZ`E zNX2nxJYEr@>u86|tPjTDet;fLn1R+IOm6&3b*}TOyNpIaid@W9c9!jIfiJOgK-aw=xb5Kpb)`E9x%CU82 zEQg_v`e+tWYClJHl=_EsSW?LZO3)o#ox(#2UW9|V7I8fYnz5fRtph`u)dywWL9}UV z*hdU9-BBK5G&}j~O6&dSdWDIpFX;&Or5wNbm^Y+A-x6(K$$Of6JTVl9n0gFY&=T5p zZX?pCxA&w{J)eDSfb?Zh*LT#AdiPlB;A%p|-`Aw6RP2mYTh zLmL~zM^VS0V@*4LkOEG~nQR)HyRB+;*KWli%QqKt&%16HWyMXRhtwdCgyoTm*5#itgp(Wap66 zyr-dgKgjl&t?JLMuw}!Boz)TOa2|37p^FAcPmxX0apWmfp$B1WF_@-dsK+?1F6~yY zEwi!-))Q_CbOP%?p%bx|=d^nLBig-_$e!nh19^Ps`s{SNq{nnW)V-qnz3y+Ipd7HS zsb}z%!+}y8izoy>Nyyj4m_br&8TGFcze#gP4?v*NEdl zzGBLM4qpvdu;5vCFi9^zXU;sW`>pPi|NFD# ze=$xI@7q9B4WPsw4CAO~UJ(S)s@u41E>#9D>!?=*N5m$%^0E` z<0RjkAj02TN9RLX3Js+GArg=Nu>E5z zPa!vMuMV06#7$1dLbwv+VGT(5V_&A~Uy3T^+|y~Q2>lA|=hZZ)ex%G`rhkN54C5gq z>w?qN=A+LgB0-@s{OJs7Da|z%dK)uDH4?m5Y=K(N5KWL)uqDxwBt>QmOk(h~1u6_s z>9x>G_+@bJhBQ;(Rr?20>Tjn}^Y`|rQvI3Ua5$aGq{HFf4BhwAFVk2oHNbk)hmAri zjQ_!g*-c^AKM>A@je&H)i1PsJ5929F<8bLXvONK4;-n6d;Zm7Q=G|k6Fp*AY!b1a`eoS*c zF413z6`x;!NZV1k5)sv;-Dqjt?t&|JLNGSA2yWhU-RYC^oiWI1+idw;6*>m1&Io`^iPgF6c$sN zw9j3KFYs@%*HNz1Jr?F^RiLV%@DyQ^Dnc1h&59pWKhD#AMQV~3k7}>c@gdw=dyRf5 zHGNU7bA_hHWUnI-9SXtjM~LT>U5!uS#{ zKSOhB>l^nUa&S8kEFoAUIDG}(Lr#|uJCGb%29Xr>1S4yk0d)9hoJ7#4xNbi?5Dt?N zBp45evje1L)A;&Smy9J8MJe@1#HwBFoYPv$=k%GOaq!kd58)tzBI~EkGG3Rqy>GOTce-p>jH0rb~c(K z1|9q=$3)Vdgcwyvy&>S3p(f~O;~?XK{)Kch&2!gs=%kNH#-Ee-i}S+a@DNWR(Xnv< zv7kIUUD(c?RS|JmPeXBC6cbxUl6qRxl;fFAiK%!>EzFa zJ$-mz?G%WqC+P-l!DLX&nfxzGAnLaFsOg^Vq~gaW2QQ<(qixj#J=;Y{m`?kHkfO)i zdxQ*`2Jr3iXdj4QE%|AlQ;|Wx~pKrr7xuNnTe=t-AO)iha6xDYpH}>yZ z+FD^H2VS0x4us;Wo_95^kElZ$>j2HW@wyeLi3i%Q28NXxQT7V1{iHY}Llc~!Dkv8* zM><6X$}-pv0N#?+N%W`5%}K0Is%8kCOC~LuR6+;gtHYPi9=dqUoin~Q^MhE;TSIe$6dEI=Xs(`oTlj_C-3c4KT+wJvpu4Kkn_RZVg5jE+RF`XNx?0xmaV~bW?v}wVTXn4{5 zO&2X+*pF%!%qu@3SLRk-npU5?`f_cV9;|pa#ktlD9VuvRx;TK+fWUv_$vC8-@TcO4 zN_-D6?7|-4!VWMEgQ}TUe(c3w4{eyxe8C5t7pS0MFe;X@U&B?sVDIGR;u>?mPyb2F zV5WLiQ2mX&1v=E#B`oe9yk4Y2^CFRk8*rV6k1!uW{m47&7E!m%(ANz&+ixrB^ng(;#RLHnX%tfsjJWM- zyBo5Of=eNl8*;gm`ozE0weGdP7~Iz5$$pI`$C5 z`U46T|8cnpt;J+VO?%~H_`Ph??bcn%Jzu`2`z~tc^PoA?r znJlfFuxIeRC?a>J?C!EC2Bn;dnhn3XeZ}sbjb-10*a7A?aS00$P{m0wm zO_v_`nJOwO*k6S$tHR@xmt`N`;fR%l>^^ZvbfRm}PUBtryK5pTwRdIZgj<#_irORP zr7I?yj7m&+KkD(;PKtLXmF-s9=>`j_AFjI$YN7_w1g7hD(md1~ysZj9;u_Y4i3Ssz zgRH~g_UH9AHR4A!67Z@2zch=Odh*4WzWc2=ekK0-ueW&=xy{z7Gz9CSbv}Pk+4ST# z#ZxnW&!Z1tS0A}`@LT_*wh{sv=f-Dy+2cPoUi{nzYTGjx)eit9s#G5^D0+(|iNBlJ zV$vUX35MrZ8K19VAN|i75_}Z#DO`R~MZQy~2$6gqOvN0Js%d70SzJm|ER&Jy5k>-I z!fh9^fC*zr22w0EG6&Uqo`eqC7_L8gi(#?!A>;y86ak0F7|oHQIhmW!15hHkZ(*|o zF+vd5r!A(imA-b0}qc4-&FS58}j>!?PW$SEg*;W8H~a^e%b?2`O8 z*`i%!x17FmIo=X;^83K2Y3Hja(b_rMns6%ts^>=(bA-9V<9O1I>564?R3a}v1yYtH z*l6T7AY0T66-95WtZgaP8(}|MBGlfNdh@=~Y1m!IA7($BPUtE`qT@h@;M3Hd z;_dtQw^?1x7-WaPK4XDxuqd5+qVz|PQlALGw|x}&MFa4RtVSK`(e|RtFN=u%s&M?) z7+HD3$diG_iYZuX{0ijc(*2C7cTX)p*3LRRtn3r@wq>%<@A9jY)yX*dv zSq7pIH0)jCA$)wa^7RfPVlWXzzoH}vzHmu4?W&f|zEC#fi<;dYS!Z*G+=!O(wLx7} zkfS~!6{@R-(Uw86L(mJl7`6&&tfKDx<)c+WIlqL)3pSX=7*`N5ysyr`8ap$bd^E3w89)ZgPiCBi|f{Ji^U)|AMCk%95n_gVk3|_XmE_Z6(keo8NCgI|@0sfZs3_s1} z$KK|ZCF;AE#cQiOrv*z^HWTBHM`H8Hwdx20FDq8lu^{(Q!@5s%Urrmi_ZX=7)j%7* z2x#|wO+pMI^e#2DpLkU+erWUorFxiNlu1s>XIg^5wIEm|joek2Rd2IsPtNkBRLQTFsnoh4v_<(`f@uV0I_G*I9RD+?L~j{1bx`#0ta zEeZiTNBzhh^|GEN+1vl7{w)Wm!`yhLKAuC&Ve`GhjRo0c|E^`tZXfkQW;&_kBLS|M z7!XYb?!E&&=u`h5Ld{_dyivFMQHW{aI!yVS7oS=ttZ_4U4sb{P=wmO6wCrO3g8Cir zRxN0ht{}^=kNOy`2fdgiLzr_8?$^fWMSdbcHb<)&+4+$`i%$>mB*aF7fv0tiFWhcK zRThLy0Mtx?A6Q34Vn$tJOcHkv?-ldg8_%9Jr8YX#=C;}%u*pWq^?L5VVi61EUkC^@ zTi3LAgna%bC9aB?Qos0?XlUZtnp9cISx)1AbGeO~JGb1<*DpHId@iRrT4e7+!$h07 zWDZ4FAXQ;*hdB%9)8U`#Aq1XW1`G)sm$Ol@ZCv2#2r5~I^BXuYJm%NgOkCQOAufat z)Mo2&C`TDc7EDz1sE;V{`=Bx<#5gYrDb+@@FE3>Yx=pZB79-7UjD-g%Z#qc&td6cl zI`S1u2Q2b!m^1LOg{LEV_eV*@cFW|i{!+a94itA#8 z2;?I%3?C8LQn5B+Ac|?$1Ejde^`AH_B}3`>#H=np*@XDR^y^=fZDd~Fz;wS>e@!M7JaPvv zPU?=U|2$6iw_+;&j{0oiARgl1!2p}_PMTg!Yxs?H%{HmJgU62_ghA}_;}{7x*brZc z@>!rSz|M}1YPdKizI;?B3~2O%LY`8A1SF;-m z+Oxu{+PYOU-V9O}bVd$T!;AU2M<2*KtciMEC29!H9V-u9ZUJ$M-4#Nb$5QVy@LP8HyfiyK->WR(e1g77J;isq@ zxu$>@C(@*mf}RY@L8hJXBrWMOEKDqt3i8iwFSwpR$W>G_j=iMN>(!1>S7GdmXt%UH zpfdn%XxP3S<>d1=1{yBn9c@?(YZkyNN1 zQx^M4-32#mo8SKR;r8t_CV3=RwbSNzS!Jbd%GS0L=qT*0!ERw05x~DzSsUKHYQ||Y zuwKD!+2nux!l3~g>0-F=;qnW{w$F|jqXuhZz#N`4WtzLDj_MYvu(*X@fb3G;s!oPE z?QMW|e7J7#=?C#3QWQRp-~(1;_=?J(Y^}oNmHRoN$^y4Pv2Z8cL)EmwWVNJh@>2ER z)el6y-IQ`!2h2{kx3}jwTf$_!N75)(mi|n=?Ylj_>QzqjfMiO67Wc4{rOcF4JS+{j z&z%duf1`r(U@ZlI{F=sZFnCGJv}cN<(cA|5AP8m+HUK z@vG9%#_zOu)ChxFSxmKsBSSO9XX%g4SU79e4=G!|Cgo(;VeA8dsRxIZ$Eqhj(brh0 z>Jh)P2`<<#u_i^?L>%2jxXAxZX%?<7l073C+~1p!t{Dj_9ZxL$sz|_G{C#{Hv@t=B zP}EsMr62u$;U#=d%MRJHCiNv=5OI3(_o-A=G_9B~AsrRui@pzUDE@tHg#6PmWEuT^ ziPt|@8=kjTNmkqdOlyJS!m{E9I87hqn;%9rT0<0-L99QeURoyK-&OxH^mcao3^t~WeS^K zH`XC|VCLo6*duA78O!ugN@5Elxkhd!CmdSX&*f=utfmDFD9PkBHMk3&aFB&)R8NL4 zD&i)OQLO z(Z_o2Zs~o#^$zu`{XU~$I{T&vAH3;ofJ*ZpJ&JR~s{J0}8cw}`t#a3NvWA?#tMY67 zLG}{Q{#6^CipQ$*V2|W$g2v->Y9+4=(K+K`;I4$BFUb9!Nrk0B*fL+v z_lcdO1uEs@|8I@xoKCB{68@q=)}90JCVF33Lb?M@bC5mog<2~vPXXzk7B$|75Lya& zL)t=%E&Pk`S-PznN<)4iAI;NU!@f0_V&wOND{4!~b@1&pAN$Goqzvq>;o=lr=43Xx{tUtEaN3B>CWZ)Uac%%Y9--wFCA~Ek7aAC_APm}b zpXAnlNOIF+;t%pPlAxIkvv1neXa8*XxNLX6ZDDR(+U5bi-=^>US$+3TyUFaf{gSPI z&A@*!TUbRQ-p-3$KUDc=Hp9j|c+t%)Z{KNid2DyGia&p6lgtpOkDeM{Qy=)H&22V` zFBRKM=Etf98a&;o2pD`R2ctkyWxz`aTDZXBjY52aOspy*2=?xDIZi>&&))8y?Pe*( zt;DkFm|`@cFI!Kx=wFn7fh&cqy-f1RZb2KRCK7JNBsApYHWk=M5J&|wBQOdb+2_^g z*;b(s3o^wX$sWZHhUhNh^+UU2+hPaWw)eN~kHy66akHOp4#cDm_4zDetK1Mqx+sR1`nMz9wwQP*hL>=&Kei3+FtV>|yg%{T(6f`N5BR!MdXj8xHG^3) zqCJiEswQF>ZLP}3Hs3ciKciD63}0Z^MFL6+`V473sGm^=U1^Mx3`Y|Mrl>H0pEcT6 zg^H5MH*WeRUNMs9VN5fcZQ=>}GHBs};LS}+P-y~P#IlYJ0P8ym@R(0L;jYe*1D4ll zwDy~vES0HtyCCI2411OeiC>SA#1wX;8DRXzVihdy^T9BjrZUmN_=b)~n*!R4%Wps~ zkbFH!%W;I*pJZ#8%)c_#RUtKlOksrV!Y3i%vh>?b076sjL-)-NtH_t7E8;OBZOPa@ zAofQ3jdT&<%k!kzaG)7qW3j4HcvQe1&&jd+f8}J3!f+>UDx7H_B8^6hA&r*!PDQ-B za5jys`+BVIUd>7lmgi)Y&fyh!`yosPQAwyIh?7D-h2#b7);pTpdfDrCm->#&W_JPe zRvi?=>OgitOs_62y`!|JbhXf5STOdjJDPjj*#EK7D|Q>bl1&L=hPkN@2)(QE#vP@l zt9uJeTG&n{WG78N)aYu19%#`y%8i44oVsSwNLRxgR6hF`tsw;8VRy)COB4`B4i4SsLAa4`Y(WRazi3X`Vv!fMiDilJX?r1a{9%U3-*f6J-iKJh{i^La~ z$yJ?ASG(MP>=IKImh$g9bD7xJqR}YghlfIHszUwEmoF2yQ`Xet0HgZCGNmYge2TvH z+d^IF=q3{GD`-m8K+R-7AdPA64e{l|c4AofbmD)4hUvwM1bw^%@mXLok{H%R#q;qz z+gU3h@JZH-G^8$-2?T_&a!E51(fhSa5Q$w^j>=mA9b7)O1^G1VKyM1v8fOAgDLfFwlSN7aDkBbh=1Vofi; z{_|sQ`!zOY>fWC264~Y0Y;ZbE!j3Cqv4wlfV?E8SiTe3tr;ceTaXo*JV!Oufp0KT} z!>xB&7aARQo9It=F0Wa;$5j)X(=fKBtv5LhYKFC6eJA)BwZ>zny85O7zI6@a-&ln8 zLF2LorHz$i{9dO!8mb#Jp?&t4L$8*9&!)KTkLxQVHBP8FA!bZwX zC$1xtlqa{pU|8*e#v_V+#E4OT zjwi(7(vGZ$V!mG>tD`=FtRvSqWZ9$*B?GPmVd1ek!0@{$s=gg&_gx>I&W_E$e<7Y+ z5K(_sDS$qH^8rKPSita&*B->#;u88_rMf;Axsguitwh`|=XF8(EVlU^L*PKbu#TN~ zwj8|9X*SENE}$egSAG|3#!^5By}_`$$?RM3+{=QMMid7b`V01GIvvI+&E63R2wQNp zn}sc$*2c&2oUL%!tO4~7wk4n)tpFT)D3<_3R0r=|=}&0KCf!VqIpm|jC(z<~qb-#Q zZxk@2wJZtt%hiN1;J9w_Hzt9B+S-HzVkb8@NIl-+0XLm`=_dDWyDqXB zn&w}0*`hmpYVLH;R9>jKpbgr%Tssmku7 zB4?i;DJ=yE$6)n>a-tiWd=_(RksK=Y6Abz5;b5mLI|>)(FA9o zGzACes-Q@1Vend}5C)iY7*G)}1M%Udge?eW(1HnSXri;yq(~2bXQq`x;Yrz#0k&ke zS%JGlk~lDWC_ny*-Pvc@4#dzy&@`+2PkV%% zOIv<3)+u>drFF184*~^AoZL$_J<;#J>d$8hF1HEz)8d7HT$%mI=(a%Fw_CitukY~T zzCPh-wvU#V(e-YoddEiUO$O~Gr_8a91@$Jc+rpZOpW6;!qTct6s-1GiRv51Kzn!ku z>d;8_q{~ie0yF5Z-59^#vLXATUx*cq!zD=G$XZeu&u5Te*HqWE4IIDJ=3 z;X=s*MnE=AeJ9|E8#P5YEW>Y3>i7+gy{D`72zWgEJ6_;p$$k1u>hqEMJ4WhXT+1`J z2UoHdw1-mEKE?MEYBN#+HGKNk5c-SiJgPNDBrxIO3hq2zQ?Q-Gzn`%I_?VYp&dv2M zvIvf0jiNBnpf1lm=3_A6ApuPS)>4!*8O26GMgpxwaM6T-up7}x$fShgk;qe5v^RIo z>TaB#z4r{2{wUbivuj#sL%^MIIAif88=Zo8VO`(VhtJ#lK)G7`AVbhecjuza-rrB| zo4s>x>$20;IoY}UyhY=kM#Bz+WZSjeUwYHVtw){{#_rt79ybJJr`6`3xa`^N&f)n! zT=yimh90T==dW``)l)vNIle^QUoEWPPd=w1q+I0(zj?aa4;5EaZaQsy5FJ4LeF}5{ z$zg##sP#GwKG2!Ph}IYe2=jqBViZeEZy;=DiXR5O3_2O25Y~Q9y=cg)D}9l1=&&Xw&3l?g{8))$`(k@{a1p3a{ens7utuI^2=vshxrlD-kY-br`D+hAM=))3(PZ zpyB3*357l{^D%K-(OTUkjEoJ4X>x<^UfmPAA7hlXG?QgK21ybCZk1lxS0Sifv<291 zEjcA#Q%-#E!a(4PJtQIWk)#atL{s*GU*JZt07Zc#S!1%fwV7fXkwZu$LI=?Jii9b& z9N7&))d3Vh8fPHy4GD@Ijl7yD&?%NGuJ_OccYXkIaDN7{Ux?ntALbeUyb?sbz03s# zLfJD@r)GcJGkZS!PFErpG3low5RJ#jCL63{qLHqyaMc*AVNejQp_b+{ucvHN$a_^~ zK+n|6Qz^l#n5WiWi;#UEURyWC?C}74{5m0i9bm^jS=(82np)-?!p5j&Hj8-6#y5q$ z-cZx{GVhaJT^!E3OK(B$?9)Oq;h*nmgonr@l}$~5ny#*74^BUz-dtT@>WZ;S_3r_} zQNaQi9BKB}jHzND-dA1Yeacj3_qnU%q4vw$L-Baogt=3ig3Ri*h;4T_HQn8u6~D8% zu3dIGR>z7KUO$}07IDA zm>ULZ#zLtQpB=zl`Xly=k@2w#_&57?*Xi!kJ;wQT>Y(diU_s7c9> zJt9NLo6(QTdY?<&%(7s~gGuhxX6Ia@TxNd)1c%NSn z1vg!?!9F%t+BbteRT}T^ikFtgySn40Y{9CQ#s-^l6%*Z|a#r=PT|QRt>uzZ1KDuU2 z_UG&)_39e07-r|Hmy8d@CawADtYBN~ud`dnC6l4WwkC7cwB?%@#G0C73m(O(B@{A= zKYo4MwAZI+m;dFW_8z_0tM6&w{t;apJRSqCB|8-3|G^xy4{cteem4EFg?KyO^H>jM zvPiWhJ7a++c1XQBBKT_Aev;X1adZCx?O6i7i}=MPVM!{DFhM1no>Vgi=FJObSSzE4 z!cz06q4?jt9&?tl`>Ym||8Lbn@fQ|L_G8v#F`IpVs|l!&x&>B}_z$1B(XGyIsHAWY znA8qOJ=@^)4xPoaU-h^g^}_jK@kTQ7$?aFf|5I6D)sIC2%qiC(coF8shYu$ie*)ue ze%G2{U`NRIn<&=&^cNmI;H`MZjd~?#3I1s@KF{obqiu%g9@l{o^DS=Z{*u!j)-EktzHk%L~ zUeueNeuutfbuxAHnCfe9zB#!P8?xVF){CM-QK}``94{Bxq4Q=lI*@*(t$ z0*llTSuC3*FY_i0Esz=DU(#!`f?@wi{if=Z>r@~3asMrB8H6RvvkTcW)vbP8ZeWX4 zzxps+&i<@^TXl<*)K}C$u*vFs=c>O<uva_OepgZ3^mp(p%~u)K{5Z{k!@f>W^5N zctHJ;`gb-C%!>u<(kED#4A{XPx$+SHa}?%+(O6P8P)JhxL-2PKS-#1p!TbB=d;5nL zMMOs=yP`{Yvn%^wn}ki9e$C!VtI_NeVz`$Lz%L_RchA@F7J^6AM{gFM+M7MOSKOPu ztXH`F#C^w(VO);r;56Hd1-i|6n#b*T>ceqoYd9adu&Oc+x`?PF5k{oi7$_HEV@K2z zymA4)N+`DI{|3bN<-4D@&N)YxIVoqR5q@8N=Kc5COtz?XZfomYb%y==nU^drYn>b!5Ctr?PZ$sZJGC4(Lx<*GmYK3@9};69v2?xCz*86!x1fq z9-^Oe{|eU+0lSwM-%%oRlZiDYBcsgabpN8BFSM>vThx{{TLd#395z2-=dkJ; zUPumj_0A`QOXa%S$dG#HKaV)PHrXJUqTZlMEURp*D&K#c?PX)`>TojQ>yzh(U5ggE z+}3v2ww-mQmrPrgHX82`E)7LZ#9*S)OrYMVHZ2*%Ix2 z-f6n^R()lg_{@W9puD-%bs!$vZY>)VYBn{#u=iUtgZ1U*4oibOw!C4kr;~&cIo+d? zul5rmlh}%uY=)i|^mJ>IyR&mweFZIu_7x~{W-C@zr5Q1cK^!y+OU~frPEZqXZ04#L0$|tY}D-NPT^J>z!>2 zLk;VdDSg7vTYSmLjc%I1lCVSm>+G7BEY6w@(XH|*G{ zSt~)o`-!M-5J4aV2N@%gOd!0FRFIBn|vW}Drt z-eWVGJOi3H9hf$!nudR8+Nmhg011-@!@NC3DA2QVhVsnWtq@_vVUsn7Lgo{)!})lf zHnxUxXX|Z}q6~&9Cutz=WXN1iJCP;&D8)pBPR#N=xfBTp2pd7-lFF5XXBc!;f}%nR z1Ca6zjC^CAo!5Zpsbiu(lgpE2dZaZQmR3Pl1Nu#$p&}HOO1KhD0hr0cDxiUoC%PDR zz2y;b(?1FUenyXAUfrc`fgeIi%?Q>s#3O>1`S`d7)!ab-ztxcdp zi(oNgfzqrSy+Qa-h~$kCFl>tV#u zT0yo>Sj8|%X=Z5eLYl_j3H$wFA3GlQ`NIC8!J3ZtWgQ*Tf>iySj%6K(I%;b=*zAUs z@a=8sq4nu=XBezD!_2jBtet7FSqQn zIF@m`p^X#2_+Y@)f(;Nc7NdxOl%T-$NRFKpzZ*Diiyv-9$byI~Y_VA7@fF$z4H|Dx5g*3@-my-zW{NS^+s=4LU=S;5ULvFYRU7E$thNp8*A(h3CX5s zqQ~5@=c+ot#VX*Ndavjg1ef4*RI#r4+51F`-Xy>#L9~eMYl6w8mrb%>5bZT?ljVD6 ztEdNv0*uOqR@o*xU>7I~%q&O{-x-#ny*Sp3}O21M?Rd(O98C84<|F{P!iYQi+&Y*nsLu5^Ihu$V)k)=GECZL$l#xZCMb z%xz~?w@;eYGR~3+M_}0ce(?P zl902^TxqD4$DQx-Ouql3YC)>Mv?0+^0b7X9MdejK@03cTh{%+U%}ktHqQF-^C6`xw zO``FD0}P~L0z_&PDjancf@m?ZGR0TUYN{lM-RfudpltLzU;yJ{R+GzQ*P|q&zCuzY zP@pguLKr`*Q*oFilK?v&y$CF+j-b`jSz!_lC6mW>m+2px;ND~mcq=BCmMTz-PuXY< zOa5z2j)rQ{(LTN*&~0=Yh5whf_W+NhI=_eaPTAgjUu|FYx>|LuiX}^yT;wh{;oiU% z_p&Z@Y`}m`FN5C~v?rUXJU2@qOB4H#QH{+~N5*}@@#Jm2%V%+B2D zcW!yhdC$u$WMz8Y@Q7Sm;An!nZCaUSSuojY3}>m>9D|bq{)XtxPsx!lnpMKJ$>l0=VE#0Q${LhbVQ?(avB~M5H(A<6VIs~Hmen|XCr57cj;wDg~y7PjIZR* zau8CZLCaPfRJMsKeNi~1P;*LSAkgMF^Q=afBekooDqXYIppZJ`(kv}2%`0n&8lEg` z4=C(+1ET{^|A%kM#z zXK7m|9Wcfc3=~;>1jcJfX#rU|Ppz!j;7pMyJxd%-z##=(QTY&BIZl!@lVSAb*KE2t zsC)F&?X{LH;g7;@GHGHi9oIy36f@s3g3 zRt#I$TBG}b-9;4UrV$&5Ij9vP)Y;Np6VLT3k-c!=P<<;z&y-p^C+_T2?PjhnuA3&) zZg_w4iMx50MTey|GHd-~Qvv|JOonzEpncEx-PZbcYu(#|MF)Yep>~>mY?NK)j*MDlofYp2?IA zdWFjqQYB^@4u{F4kONMK_E=?Xxs$LThk3UpU19S{Nzmr?e_{2qb`9sV2yanqH0d@5 zKGJp8aZ;((RpJ-E(g5Ey-P)#3bab(6W+bgQb9J5E$fs<9fcfNuxIvFo=h1Dgwcy+w zPuTU(HesXi2ZPm;XEiGog3BROSUdQwi5UwQ_J3+1m1G-UYluB@01JOMr|AGf`7CDG z0ig`8Ee4)kL6qbPGy~CNdwL7bt`jNhr{b~f<0Mqx@25+$lS$DH(Vxp|&m0t?&qQTw z7?k*9V*W>p{DU=}4O&dJVTtJY(^>`^lPL~F6O|IFf&j!DWck6E9}tqnNz(gl(B;1+U04#Mx7H@PM!jr;8}`p8X5AFzRgZ z`H&lBbVagpDgs^cAL}3%1zD$XOne$PNmH;OFF;TKQt?TS2u1Xly;A5E%X>i&LS8)c z94WDnS|omqYiN=XeK3B}x+|c@HmfZ(WQ<~YG9AvJ!q|jbd#I*5WUrl&T>ys=H|eYa z=2P;fwY|sZguD`qxdX)M>uI;{{E0Cl55B`!K{}wLHeN|4VH*YnBfJf$tm5E77<2U`gq>@HG1qNC7Hcyb!M;d687pf$B(PUZ=T|xM7)L(EmRVw z;~E{-q~ZvOOr2pdE3KGuy*wmJ%9P@R0*A2yuAhIFS3E2{e{lXEPa&La>y?-W>-8zjMwKGjQ$BzcAdCp)p^-It?U!LP5Hxpchm^Keq$?$57$5a!Z+()BJRD{ z6WgCQN}23z-^iC&TytVqsnMs6p-*RQ(ixw2F8vzfP=&GB|8F?{vwhrLatNCSGk0hY z#-0-r+MT6XGIxqGf<)4vq(!0^mfU%UhXXyCkz}3fmG;0s&`8l>X!W^JfDuz9HUo@{ zuuFqpp>Uv)!psk76{RqQDF$&!v^n_ECT`}V@{zZoqC)oA7_w~`M~N|5Q|_k zJ;Up>vyh*=Kjn%>HQJW}(v6${w!9Z%lq8ZlF>@K=Ek<&|IT4DB~B~Y_O;v9%9bdID;FI$4}a;O}@l!+Yy zZ67)fU;`NEa8WOT7DH7N_&*q17&?q>qwQXMcFgOOnF<0N*-^sEWbzzvC)kr_vv+i5 zgPm2{O*$B>IAd@{>+WUK><(pc@%$Y%QkK)@5Tn}4^Ln|tOsDsh=f>O`Mru?jc?N+S zjv9?oZ;e0J6*s%IG6n*@)S#6c137i!nnDgDIU_YINmjH(${tUCloc<{sdVK)q-C~s z^SX%F!SQCb+A?8SAq-ab;ILesL&}?2F1w-0Zdb;3_7dq1y_J`mAZv20%2Kk(?Wvhm z?BgJojYahs`X@A7)HA9Qm5P}EkW30FIDr{C1ON{u z1g5dIMr=}b5GjQLE~kiOEsekhAqGW;iWew{c8QDP()f-j!!>b}0<_?aiq6~yI>*3B zi`CdXW~Cg76+JS8SL=N!|F26HjVUaAW#N(;&=GruQ@h?1{-Ra%60++(*a{-;SN={& z3m*yJzP9zU)P6F#y&<2IYIRcSWv>_H=QF%ksji&bymFkwB+s?s!OWBD?KvFpwAYaF z6HB9tl5(fq9jdFlXQI1E?Q^gHxncuVOg#lH7*|HYd$Tnnm)HD6gV_v+Ekb4 zp_-m+TC}!*?8^M?Y`$XK{JN&qk1Sq6xYYg&+mlym)o2Awb#46$jTWSN#;OI(jOptu zaCbaIeUAorw`cR3Q9bDuE~l}?)pf9WSllS}RTN5{AmKP8TP%l##64O+ z<9w~)>KD$L^#-v&PKLdn&JjL-V;0%hPd@a%E}(nDen@49b&%5#O-QsX6;-7Ym_{)3 zVl37&u%3X?ma&!7b)K&CFgV2vcWds-QvlU}1h5qyxV^(mlpUfHjzhVqKa?A?iY8<~>_=ad! zk8dO`rvOwQj>Y9oP2*Ot9wKK_hBC~WVtf!r`yU%(p%oD8e+cg4QUi%h2a{}O5}EG* zZ-HLS&Y#FkWd<|*0G}o#4taLmE^k0-iGxUlg8Xl6I@jpH*%~?tx@JuRJn#pu1 z@%_I=rNM%Y&`YFTCG|8jY9=GAaO%H4EqhwG9gJlaZKg1oi{db>rau>VdE^b)^5%>b8}?cL9itw!Y(Bor%WpI?%Pj4J{j!bwjl?n=A z?##%PqWmuA8zS)5vCxk(#bC(9jFU0xQk5C=7R7TRzMFn&JpLe}gI6mL{C!MbWW0*I zJeV8RWO=t%FK{h(m362pOLR55=AN7W`u2&T{v&qlpQUo)8&gl^+xyG^_=H+E&E8{g zDtj>Tm&AiGOuNYD{?mSBc+fDm!jX{TQ=#IZQaQll|>^G`1^D^SV zM+ZBRqk?)b(96%pKAv6kG#;Gx_9RUJOrL=Ch#REmXQRXa?RfD@|1DZPOH<>K-+Z~L-ZeSdCe_=8y zv$DFgjbD+f$Xn5p?QtF#T$_pgT|@$@QGPJGo8D>TeAt8fg6onA*w0M>p@iDdM_^a=-IIAa==ijmLcDs$P+!j}iuEj;;q_SK-hF(6t&u*(3 zU!LE)pqCz!$h##W9aWv*rYjeIUm+JxEFjgC8ezyBN-_G-vS}?09R$E(jR6BMU5U^@ z(V0P0B}3^eADjeW+@$S6T2jX+!gXXQh=c{DMBthD%*Muwk`k2(;0!J{>|O2$aekt_pC0cNlWBQj*NqU$H3%h)ui z?qoV$6o>@NL$D;;M02ATJ{}%ng;dfcXd{fw1p6fDH854f8 zL_5c+rAD;odO-?4m`z)jE@0QsIP#m%s{3yxi%G|qJ9mC592Bk*4$?J5vvrf&4==v> zL*Z%RPT^^~#-wiB-EW#fR>F=Qt#Nm25b;_CbGzR|l<+O7jV3LT3y%tNHaS?@`}o41 zF$uNZFw7Y~77Aa>jb2bAph2cqyb2hF{`0@kc^4I@JroH*5@Ck{3%HA7J ze{=QfTZrXPG(~C3e0zG=<=@}#yeD$(it9e|@}t3Eyl(l}7SBEY4FhdhBIcb^!*gCl znFlPvfq4vU4akQLkM!yPH0F@Xp4CK5WGsrIY#-Z~%66Yny0cS6LL^vZ{#CoPf547v zDOQeSMJf?e5Ldtea!LXg_#yu@^rU^*gZ%^VuaIC)(1`K^c$#TLNtk$0pons6AR0!$ zLUWQKxeJ{spst%xMbvmTKy*u_|1@&<2(Jsb3$Ne98JRk3nUx!DJ=x2tx%A513Tb^+ z6{A$>`g952ZR_y#^#BMQ;Q?NEWr8Kwqc!wGt6zh&EFKrvp{{ zN~{S=Y!iu^0Jos91XK~^De&WAO?3BQ!NF<=uyq~mg=ar(~#oOa0#k@s$PSzc6DGpZY zT%MiJKfg1}p{soS^vIIw;22}*cuMOjV++=yo`T|dD%z@Ov!(S!t0^oRsA=_x^+YR- zRun2H5=~%|fM4gQs|vMD>7n5f8#?tsN@5RaH1W^l8V#@Kb6(2f^@31PSCF5~CtaD} zHvqx#ExV!o0Lk}Jze|zj2?JMi!xC>^ZcUbx|8oD`UrHT5QaV&bC3|pDTvIB|$&v2% z6%>eP4*a&})c8hn-$b+WaF^U1-Y9%4?aZpl@s?;DwsrU3yUt6`1&HKhr(r4L3qt&ZY~Ue$d;q9YOJv}hM+5p1Omb%T%HEakh-=S^t}!cIW|NCt zvYY;N*Q~sC1sQXeEuA^!svEU*$tdANv&&^(v#x9Tve5*SsoPZk-nva@m)o@7>0Un? z!Atj^ZD6Nk^lh>fKMh(sMon0&1|FKqIv6qslh=z6Ed%72Dy!IIOJsI&k(zNe{r5j` zk_^X6`ZxFWKTWP6!%seNfB&|pQNmWNqVSmX-rpQQ`2bN0Cje~8WfmX!`rCUhuDV6| z?tzm(+(*>4Rl?Uf)zvuzW2UIDP+k<|WI}{Ib%x>RC*r31(n%p}+BT+-9GkW+IrRJX zl4DHYwrN6EI=PMW4E<6fuero2mvA4UMJq5i)7)epXyn;=e>z3@9f-LGcf5hMl*Uci zj^i)l8w{96&a4mrQ~GllC9!c~%TH#{M$B;EW?N3ttH6-F_R*bkE z%xs+9eK>1JJlEyUi3|T4SYbBZx6y2}B_?h-TH3hruKPE(H$8SVQM-|~4Xr_@In|BW zVgnhInnHim#YFuiJF;qqG`&6hB@?p%o1y+ku}Y5rxPFzA>{ANaiBNe-q$cmhZ(g6f}5CD+Sf>5JC1{YNhE(3F0!pqbX3(RwM@_N|c zFzw=ol!l+B7sM0Mdy|AsMx{HQl(76 z$#hO*p?1?0eXP0O(<)bIWm(nM?>D&fvK;|!P?al}G1;T~4{9s&3~cWA(L?15m&fK{ z)~>Hj3O^K`+eU6-gO#NfAS4*o;1-7UNR|0&(@~!?n_WwQKqAZxwyrJL|JM&?c06U%ORPS!-dO@oAf`H*?OVR=v)~F4S5z zN+5)YCd&}E8gy1RrguKlTO10oX1m^K%4>6G=~)DM_>yi%EXJsGuk#kUP6`2@0mFH& z*Y7NFja4Y}-Gp?I88a-Qs4d@6Y3k4^;uG$8HkVZ>6{d2Ts(+j_*H>Op!RM>kkox{2 z;Rsw5Iu&f8xr|1}tTY4tlHM>@EiDGFo?bbl;~Fu({1Z6Pa>+DgRgwURk+FuLorv&p zv=R76sC6XM%S1>W=qad%1G_wM3Sh6nDM0zsc0|E!6pSFE;zY!kd0?&wr8l1tn`~l0 zKjN<7P2T10Tav&7>10G6STwUFdt$Ckoo6!J;)Qlku~Vxs*jOESa`jr1$`w?}mAukM zx|OzkuRpal^rsm`;TczAm!Ag(3+p`9y^Z2s;Xjy+&E`xnc2|LnIxpPt&XsPg6uUf-7ft7w~JT& zfw+4o-?d@ch@?j;51V6l_vA4*Mm!^38vC%}t2Q0LXa*LS0U5%JS+ZNQ2IGMa4z4Ku z1XMXlM4({XWT3mXmejMX4KfvQpFUQG=p6zh1P(#hx0TaeK{z8y&FKjo3kEhe;iDcE zfcF9NrmRd+z#75I#zyOzI${$C4z8egkGJ98@%p80)mt99&dA=tEGF*_>L9oaR=CWYsR-P*G_o6S+z$z#(P~a{(6#ymX0~h z+zw|!lNvkPaUB%ja-FB?(Fv**Bgd~HFZW*OO%_;My4Q{$zEnTq*A43HRN?uNFg=hl z(mS>Jp)!boM~Ci|rMz6Z8QFl};xW z+VC;%K?kAOOY{Zm7ozQ4hK7!RFs`B9d6c9mQ-&9ZPv@IOdauhoi;5;SiiX_ zWHK;M)?aq=IP-A2oqKccL$m)pH~*+mz|;ySZZ3~)-BsluH|nc;xl+!#{ao9QcRBNG&Y@@wdtJbh8!GYyZ)Aw zzW!rQ{z;Ot{z+k{O^#r%wLyJLxwd z^XJOJx5eNf7|~5`*>4^z8HR_EXsbFq6_{Qh=&*U_cl%k zwM=iU2Q-PXbe70@^dA>Q@*j7JJAQ6|4-hly6bGu#Guf4I3#=NJmMq+jRMnDLMGTM8 z6FZqoQTr`j5OI0-s_>JgLyrB~1ISJSSW>S5iIM8Fd`kT8G)kmiG74kB5_qw%knBSo z@oyzBOWuPdb_$`9K7a)3Pq%~9W`D>*IUiM@0O!f@)4ww;cr6QD5gESP1B%!6;MicH!*-Y@P77+wB?U{(vm~ z0JN-bp*I7tds}$B|2Yv_ml9GUw621L=mG8zKA?tYOyL8Y$OA*gF20al| zE!BG;U}OpgXwsPQkfX7WgsEmUAWlI(Q%5G%c5JA@ zvU7cnaQC>*j%_XCf?T?a7#|JPH|92fQQw$ue`M)hN67HnNs*fMopiZ@%w_PtA1jc&hb32b{w#B}vxOro)&kk4QYrL#`LlzCOWDbu%nMm`flvZfG|KV$j$ z-FNRE&whE;GvWRhXt!eH;b*Q&eRI=I-{8}UJ`2g|xFh(1d6<`@`9woMA|kP%%i+S5 zK1F0WhSZW`Qt4EZc`V(MZsAXaeCedS(Vb5ELclEaS@QrmjTB5H)0hpPEE5EQNlSt? z21ITlh|EwEWF@giEs@COAQx(+_op}^iJXqHgKDa5asPlpLpVlbgj@6s?#6S zYL9`li=n^zx)AA&B=wJxE3xcTD*N=wh_LiAeKO-y5#$mc`A=Xw@xj(!AZfrCg?F2! z%%%|*5?(3e55O%Be>hdJWqz|Y>@NYc35+My#uxNsQ%rG0cZ281FRKs`l-S?BR7$Qh z-dVrO@Xl=E(CcZ!zjWz~bC~pbD^8Y^*o%J<{*O3DPI*%37d~UUCSH7g{XNT97LQ$? zYDwS3-Mc~fzXjb-ryofsKuafo;|MWb{O%5q#oGdD3s3+{Gu!C$mzxRqo(e`nj_uaPooI_7+V3f_n$&KXNEvegYzVOAmOI2;f z%Txl_vJgS~zx%NlOt`B5A1jvKoKv>6a#W5%cB9YQE}Ng#F-&RRe*ZmNFS`A= zffzY&T}2~NcH;d+T}$M2l)?WJg&c4iEkTi+0V>Z^9RNlas=*@uckms`6J|+}MwkVl zE*N-dTsD!&Rw6C9;`uACcs{*j*L;_2erJQvcU_02%bc~Ubv}FK!A+YVd~oxo2X_nq zIxLJ(Kec`BV~&r=1*4{GtdwIw_4r|;;(YY{D^5OnWS2C@x2K~s>682AHEryBn;yjZ z4?M8>3E?~8cUvB~Zsk;R?@dJv+4DFYRsX`H578avc%LRj22up7SnVaEaV$dP+@Mb2 zq4CIrhOkSI?M#gOW_%ee~$=YyOXUUtta- z@3Q5iMlTbdyK_ZVk=cxE)U2`ldFI@H5%zHXu&HYiR*LHY$S&l*@|^Pwk?pbS!QI|E{fuLT9l>Vn41g5I@&W>ri?f&GFo z2Mvui(Ha1iNH}VO&gaA?EjuED!@2g}wMSvNZckt@^ zbBcT{_aqY7%7ddWm!=M@i%rJXYvdmtmEHZ<%5=2wE#Ya?`{vOxdvUPHUc~Hq)u^&+ zVxd}piz@JUQn_L0+rqRxfv#aS1_Qa)SFTn?$r9m8tB0)&yDHj4Q)OzVO1NO^@T(S# zL(0QB&KiTUe&dAnr^5A~AR?Oh+sP8L@Ls*u%05spT>iM4%=WoC#%#@Vlnc)Y*M>(1 z%>k=bX=I0!#ZUiZtZ{s3P3^i(18oF$Y@`P&pb7q@ zvO&%Rinll&IO>Nvk;2BP83HY%nxOt@^RQ6}1388?OVhV+Wsgs0?25ERVP|+&EE0^` z9;D*zmtfJOHEx^cUSPX*CM%hFt8IaM+BUL@o;Mw^gE?}ONuG9OHsL}9goCExOl6k9 zcBF9hZPPbzo-Rz=Cbo417-4=XMb6q`w5^}k)dn8)rye-Nvy7(}Gh*3HgK@Lu%)3+n z3oI%!*v)_P(IJ#lCcqSZfges}9(VST_vZX!8Iyu_9WRljFOkeF&%DGjD#;zAuOeiL z)kL;tDxm*yaTD@D7Ic(j;`>P;SyBFLyqBneU^?`pM<(c}IK9OD2nZ!U*T9lL1{g;P zQHC5spChCsLWwhCBD+2mm(S2;iqgWTOcCcZWEYknl3hS(8+Jq-!Js3u!vGXFx%%`X z1GZyXL7}pT{gaax|rmpxnPf6C{R0 zTib|2S=j5#k%yaW)!9?dat0A=*X;8^v`SQ&KeDAp3DgrAcLuh@xA;PZBR zg`=d<4p03_tdo51mGomi;T*5W zBR30JjLniAk}JV|c8{b_@+!PN3ED$3pu<0a5gVJRMq0Nr)(md5j3YKqt%Cs={mM&V zt(QUujwTQ>MqnxgM4FbD0^omUM`j%X;ov|kMM@GAVteUvCTv*~XK!V8i8e-rGO=_w zoddypK}UkYEyU(oO|oKfA7hGR%Au_RIi%5mMX8P!NNn^DF#hO?MyUXe5YZ^CBuAyz zAaoLmQ4tEOMf%#4pPP{;jWHM)?Ifp@kt=LAg`7AKI~*z{W3ezw)pVPUQEMy~jk*Wh zTB*WpR!FsEi}0SsqLk?wqmj|el+#Tnl^ko>maAr>%xuC2=oZxEl4o@~9aI9XR%h1D z(rWcqJyENP-l}^|YjhfkRH_Dq0Csag*5}@Ne*Zr;M)&xhr-|1PuRQ|g&-ss8aV zHQ)cOM)PgI#`o!W$Vm6yr&5JrWzH40eATw{n%~Tk@(&l_f~OwphL< zCqVa}HZY$G%oj?XR`mrDRG?uJ%%7|Dde!ITbG2SC$p5Y}8a2z$XEq>ISjNkZ>1)ov zgE4B@ZHNjMe(1B_iMB^&AdI3IXEcx*Chj7 zB70ZAgoM~V!p$$OCVPKo`w;0RGhZ4!{v}p2VcgvrJjUJQ`tKgHL2`y{a5*?8l{pSS zVw`E_9ZV7@{DRZbcUGeBT!b+Rqb4RXao8LXXKXTqpXO606l_ghxNxwE%@d7RW#3 z3UEXjf7lI6*9ic+0Pae`^tPR>QL2SMsL3oEYnGOP$E&ou>S`~7xQVo(=)(GU4qQK3 zr?C@W$tk9f*D9E@M03cl(WrbDVpAIxG#Fl;5L{*BOWVj61YAL>qYM>lvf-j@87tpW z>ZJvtU!o^7M2?;aC>6H~*pz?_@A_f43oiSGu}SQ@oNif|jUiqc=UP!8 z=>_F32*pk3PFPZ*vcpA%CN-p;Wxmn4U-oTG7E0BO+K-oF$b+b15-I&yI4^>TevPA| z*`O%f1ySQ{Y5ZqvdO^$W`%*F%#Lt9hQ~Pdj5nk<{#WM`}1&EZna`}}EkJxL5;b(RK zf@)(^i_(k8hi0cS63J zs|Oki5QJx-ntFo~>>H%pY^E}xqM$b5MkoYvA@~kW?9WyLsNftU=J84%FU=uI1-qz& z1e^PwZW2CepU0^YenL2@YGH@)Zu1jQ{eo)vbm78VWF|Q$<=}w5W#K|%AkIaL_Q^~f zi|eTOp-#ROKBVnH#1e_)P3HY8s08{;dZ}0gP%Po!hLQr;BV~334uMWAl-Bd--#Lr4 zPP?Qdr)gAseNmTiQDw`*c6`PC1Bk z|3&YFAt(-S5J%N3gxme>D{!fPNgp+SjP6|uarzfLH$e)iK6*+D$1m-L*m8QjAGFH^ z!4#H29_}tYGe9>0-gpLnEkFNVf|O((Fhz0>mN{pkLJV{|+nAL!+nm@Nc5q(1;$0 zM^XlI4futW(0Z&+Dmx`;z%>=+F$`--08{c%b07caoO2rfcx&P4E_cI%*(-V`x`@j; zY3;gE`&aF}^~k{oo~)8NnyMR&zN(UV^8aqFW1e}|cCqmFEzbNRLwxxa?}InfKOla<+Aw3N@!C?SkfJo8^8o_ zI-fw6;_#rs8M>Q+4?{*lf6ip$gGD1_2)F*3nIb$OJoLNYv87o1MtGo;=rMVHc^Mg* zzJq)5cfvzNlfHv34fMZg$+Pso7znVXSU~|SIp>ji?}fH(>3^H-I{4m&4?q0ywD-t7 z&`*A`g)pImWS4M#Zu;G9Tl!s%h6&iR8RREo0+8h2rQ~oF4^Cf%UjrF-Vx~<}RSZ*I zE(2MIVn4)+wu!iV_&KCBJ7WozHtAvFJ})oAL?hICnfWHzmC33lUvkOkcX2xQWGg~> z@BaL}sp{L$pV2vjL?679*l!~z{`9L2m(0`GtD8C#ot^Q#F%1oEW0p0nz3W%&ub4Tl zv7>Bsdu8sZhQ_w8CH3p>X8H^MuC2*;raREK{(9zN$DD5BT3H_a=?1Nud0!pn*^pUZupA z00^Tj5tSm3ES7<&%$QX!=9c9_0)sU3X6E^ShyF8t!uA7Cb=}?d)XA@&a=V}EW*W(c zOu_RclPZ>-{Zx1NQ$Vf%1X5Uw9d3Fmy}|)ud-_SSfJENUoGgFpK<0AjCt1h|evE%Z z;>VXe18_1@Fu#N{v}Dy$lYcahh+FBgOa3nO3B5w!-!FNJjDG1I;T;eXh*@fdciwr4 zjDCtq-A8v`@^_NF?=`aGOWz0iLhnbEgMcy@d_;QkKk$7ipcWA}i23ZFsLEMr>E*^m zNiljMCxS`D0CtQRk`;cwZFtH2PC&AwZk-Esg4y{wTFw0ENVACmqI*lPKgx2}QEvCVye^Z; z7cdw4Cy!~hT58(tTvkqTwpOE+DP#Ggikowbz?sCpE1Y-gkZ|y`3z*$+64-JWdFkBM z*Ij#OYe`h^Gw4gVEuZc6IEwvFsdR;*#pxI9Sj47n+C_64wj)Xcy{3t;pT-^ zp1g)@-ZnI(|2o#{s+>8q(rfAp^75*M!p%o28Vqk=(~!6B6Rq}RU(=z=?xM1(WkubU zhnjpJYqg*F8xK`aD#}}&S2U^mP@|C3P(crm1S=Pk9!@{A(q$bR3U-;imDb8&gx;j0 z;T429XfFCd_&s7}e*eKm7kxl#5W7Zh_&9LS%OJK_PssaKWeGE7bk2mF(NjBbZ8CnPRDNY_y0vqvSTwEU)@I|E zO68Zv=36_MNF$?~kh8xcr^0{F%jpBc+=KqI8uz?&m(F%qRQMx)?AV_(LB-(KX^Hq` zc*ZkN%k29pbUyV*rbJ(s3^CW0uoy3ptf1(|FpOf9QHdS+wI<@yAcjwBu(VmQ6c=8m z6b?EH45R20DOnSoM;S*<`PnH@ znU-mbX3h<@cXoy%caE$qshO~gkdgW$q6rpc|}mM zfW4fn2@zHg?ak<`h$MyQiiQ`Lv=lS5hhmgJXsl0?YsZi4E)8$=c$QBnnXh9F&2c*$ zo}1qk)E{n2YI&bMPp&&}lpO)v=eQDNTY=41B&;b>thIE#&z#?7w)+at2l>OB;qvN; zop}qqD&bJPd~C*5L)|+2Gh=x(#-YO)hiLs$8|GplsgTtp7@+wT*fLZpU7J+vUEW}w38eItqmZNf`rIh|C45G*4gvtuv2ThuDXc4 z_`F(~o4xr#n>-TrA-kYAe{7|2#8J7Z{f-(gd;Ga>&c1)lWrqs;pUj`koHIS(pOU_D z^8LS$#%g*dRg)QD^LVnOJea-VNlv(W8>d}4abi{VBvc^g{(<%>=A~8;kSobx+W^dd z&`(FbE}}m!n<$swWH;yBxQ58)FmSG&`4)_se1oQtH6u;oagR#y4*UV% z$RlzEQQ?Bxx~KCmCdnIwnIbM2*apCK_K0`0o;qZC^gB zrnD~peLitnc+7HIOQfYaR@=5i$KjSiQ`sTL}ZLR4Z5zHCAtN>{bMsjN!6PEI-ku9@ESMg(;v}J0-^JMuS7w0b5 znX@cD7-?=8W)2tRaCYfAMyrX35sT!5f6!STjzv9;6_lBvK768%HD@<*NHttQXnIdk z?y7^F`IN{L?uU%rCUVHqK1zo@akLs-EoXkZnBZUz#7i_Tpn#3a5+TYeLYd_#dc{U1 z(h#`k#S*5uBs;gUF*loal*U~7`L0;$=f#;4=AN=BEs2&1-}$2Zg%57C1^v#VI#-t> zJzRMAY0~-3eWdazv*eQV6Mxve+y^*iS4kA#R|fn- zu&3e;qG3vLMn`=l-=NG{P!dW@q#yXDaL&2329-vr{@Uo%C`>lC=j2i0{4mP|q$wR{ zgn!v%CnO%Y0uBjp+Bjf5$TTk4KkHU)cFe@~QB_pz^SCGfJ*?JQKf0@!=#AcW;GQ7N zoi;maX8SBB zw0v&=GnX)%`~NoZ44HYcOdJ!a{DCi*(Pc}iWH`|I(H=k{g-Q{v<}ma?m=r%QWf!J} z8H0%E83q-u1cZqn?7c^L{#>B=FH!3BvbI-O&wt|5F=H-$V*bp7Etk-A)B;d}v8Z?J zB4WCFFCq`qCkDZL$3!R|>lU7)++0^}S32aEDj4OA`8fRuuF~3gDH32)EFsOzy=Bgl zbuV3)$8@b(Z6hmq6?u zdXVtQzxf91Fn&M9rzk%aFfXVsQ6;NGq(q#$=}<**)WJ{ZWib+A-;a)nqTVnf6_5cn z4t)>}4PzEXog;w~#$Z1ki{Lk<(qh}xw}&MofCb9!BjRB5?P=tIsR5L1!lWmvIA=!w|rhUdd}Y5$nj z@Zd2XuQLzdk4WtBzY3^hY>D1*R4J-QL@7{T4h1Gs&|F;1!b2qrcn-4Ri{yl`y@Yd0 z*^pzgBXmX3x!4)Jdgi9aQKc`rW~P=gL~>^9sMO=stc>u zp1E|DPH z1|+>G%%}<4&@;lb7~m`>2842kdFnKRX;3oaB^xJ=tNn^$zN#HJY2(KGHZfn-jm65O zv2|Y|sE=$MDk`P#+f=niuhp-qLb%_?NizMK%8mDJtX!j)P1?vF8!9)6SVmEIG{8bp z2aE9}WF=dHrxwk=qJ>vZKCOv%Yh zo)At7f2FjnBAx2PwiC{psVaa#f^a&N&m&A4FlmWM^^S9%ZFIKlfmIcYLA zle~cwab?#R3c6H?C69~O?j5+5(Ku}I{&=DcPF1X14!C@Ld06RKKXaA|hyZ9WLm+u1 zYU9HRsSL0LRFN&gn`8*8j+(;EIWTVc&J}Lr|J??}oqO%vFY7Pd{Y6}OUwA+M#qNvh zzMOllm$Y2A^8D}4UwIj6VU8R*BHYKNenP=LIsAo_?BrvlN&QmChJE`sbiAY%o;Ws{ zJ^8}+nDF|rXml9KiJ>Kc>Yu7U7@IPDQ1zHiY1R;GVYn5!>kiY=A@hYZ6D5!jXKm9F zjgDUbX@8jR^5dZ3&mH;m`~C4Uo)bA9>NwaLyc_};espuXotf1sT)&St6D)?TGRdDT zPCw<2Figb7ochV#|KTi>N(;hPVQX42l#brCNgD1 zvWp5s5{;f&-4$_d+2V?%|A$k^r5fdYhRjiF3}qc7I;+Crs?HH`C`>$a*KxQcE=)hS z=pzx^E@g3}=pCRZL~ZT#1ON~Xut5lx&eUcc*{uON08|U3d`6q&Pp<)B?F42E1NRRy zJM%GAHH^}96C?Sr?6UqhDb*1YaDnW1aE>TLszQtvMYxNSj>v)_3QAO@Im7ql1+=foE6>vkVT=e zML-E2DW}+g0qxjgNR(UI1)Cq(jDO_2P2H0>Z=T$}>HXxWlfN2Uojavei`8=j+%dd!-BCV*E({dFq=jrOQYQES*I7_41O!tkCj<#5M2QaG8ryvdqK7=gu9TZr8csspKTHAy4i_ol!q6 z<&!|m64QwpObHr;Z$XeC@yn?D)x@T*VtiL!l|DIvw7dzSd8F_dSYno+%Z(I9k_YJj zv|M0aC;$HDo7~;~Dq$pkFC_j<8=icM@OSfRWQ@v%95YffhmKT`I%QJSENWZSf?);l z!poo|oEX;_!8Rr%>f(a^n0^QrUm-z17`_DZ-=T;mxdE-G&1&Sa35xRsy&xnq5mJN0 zK!wb!qvfZ98jkQ>%^p&%D|XmjyV>G3!aoc_lNykvoS^23*1T~x2U{uIUmA95?=I9L z*Jlw~^}!~T5!peeSTkrd+Vf# zRppW?oSGxi$X>^L&`5?#8hsNQ=(QGe0tSE&-C`W$&(dQ$TdnBh+>We?VZv27Gv#S`x zZY2OyBt_P2SMC;6st1M5LWQvTL6yp|2gJf0<7BwUm3uT-o3rxrvdkMw@MpJCqwJhC zsZ*&j?k0Nqf?0WWb$PpuYUTD_yS6LUDAXx#+PCi}1wHVwKmF-3dLTu?Q9A&nV6oSo z@k-UhPdpYrmPL~F=$s-#*jh4}6K)VM{Y!r-HzX`A;+Gyg=WM=6{lGoW=DZ`R5fm3e zUJ!qT%nyqa{2SQ%$wGES$NUcb69&&849DX!S%_!9&{1|m^t$s{#zpXjSU!ThAZ`em zpMkBPEKH+)mURqx;F(k6X~?W8PDi4?A>1LBv62%KdYqIl(To)^r+k4rkHRibtuKrp z+A+}kFuI9BP}DF9=o3}v!~q124L~~#QGm2Yp#;K80}BN8x{HW(2&G>btrLYno+H9@ z35Jh4PFn1&B4`XL_{g>k=KW^r+_+su5K}zr`hwB#F1xI|d$y4oOH{&}z~X<*=X;n5 zfz3sWma*%`tr432PLpt_&gu7BDvm9EuOiIYq6=p1X{ncj7rFYuMO!}UiUBs)BTs*) z1o`Z5JrSoV`*u2pM+f-Tl<-D7;B|slWs{gddl4xwg@uU$RM2QL(h>#HgZf$A;YVLG zl0$wIQT7Opo4-^W&Ft;P9i#4#aYx_(jN}G|+H66>&7adGyzLmnne=3yCCIN}dz^55 z%q53NnLa4o_=l&E4%Pk62f{t%3gK|tBrIdDXQSypVUnQ#)ZYSK&Dbq7n*`JDF?m)27D?iLX(kMOA%T@ zfiG0Ffqf_p6^<=Uz=~9Qb}N=Wa;dfq39?xAiLF(tr0^|+?3lV+4bD}=FZvDP!*|ZV zleuo#==FO+)Lay)iB4#-+S-?Fy@|QJIIp+>9J{11)nNVZ*TGkL-3_oO9~YaG97`l8 z*{J|YePRu82%1q-h4#rUt33k4Y)Nlow(4E0rq3O23t7Bbe$|x$vS#+eW=Ftc^%IBu z#`5&R9&0=M)JgGTyx2DFr|X7BOXMQjAPG%>5=Me~z-OXC8J2#zo#gSvuEokmLq13>Ks;moLJ;z3yyYjIm? zg0+BGvYJ>*qa~#P6T$wBIE>PGX-G8vh!q|}3>8NeL~*NpU@c$^L@~tDK^DVraY>x& z?bc$O#cGkc2@KvrDU$WVlNFHR@nrPQ)cb{S2>N5OmC_7h^vhB+a6Q4DaVe_5(lU!# zw4+1&r_Wz*i%LbWS3HQz&{u#fCNW?^PSAZ(dZ*GecfnPx^t#xIhor9}Uia*q{^*2( zor4b~3k1>VM86!(%Z+PMc6V6DU}B5XdIGL@P}a@}*xZcN_4A&%c+8lK56{0owQc&0 z+cr&|vU&5AsnfR3n7%D_{rtmp-xKq$XXeNZGSNw8Bf?kHe2W-ikXB#O|-cKR7uZ5(TT(GVQ1;IKD*BA^?N;j z@0}ix!ATR1xOEQ{YHbdiSq;J%Z=uHSbC@*_zsJ8-uF;r^io9-jp=FLI67~A6TB9W( zn-kh*Q+vJO4pAtKQNPEeH5!aIo6)4#n%(}Fki*jDi6SSb_5z#QlcAS z@#%&1i23tyME{#Ci!?+UvreNCDv`Mgsb5hG8a^*#cNk6fiCMnPiX-Hp+aBztPl4Oh zyHn6D*0IHn$3DB=tiNbPC^UlpZ*J0?V|6jJJs@Q`rA}qn+Rc8tYS7vYi29IOYhBsd zuG*5FF<(~HWYziASy7zd5#-z)PSo2q#2&G$?fT0GFSTxP_hrrNTFu!t*=E!SBi0Cg z2=SRH$2YzncHm7u96A(;d=Z&(Qi-??nsK-hIGvf`4q1jA~oib#XKO7tb8)6w1$r@c;e$bb_`&F~Ni2jzvZn2Fw$ zz~B)d_)khjggJGS~kwcJ`S$EEhn$FG)b)C?Be?Rg4{?f);@1;dk*(~!#;TB_6ue~koujG{(Beh zUbt{KVXkcLp4__g$fK)QtXTahxoGr)j=G9-8WhCenK&*7rYIphp6F!0FZDa$cKI}A zbC$PH6CR9|P9~in$MVcdqgHQm<%JWmV76W(Ra?!jyjZd}yEEKSQq&abG|$;JC;bSc zi%r_Ko|C*fHU5MMZZ-d!_K;<@%9@Wx|6OFrky`ijgBLxNotf;yC;P z19KdM9L-wjp>Ck8BG5)h!T0r&0%+sf$hTN2Lv zkjxKXirD2~To#O4g3+K1RK6xdDPT%wEeGp9$`BglwrgN{jB|EL-iaRh)`YmW(^uJ7uLBa*m(&$7XGI-Ke zN;nA09{>_C7UNiom=;}hVi~*+tXPQjh2p-!$Alh2G7T7~LDWZk#B@Y`_||eS0j5c8 z+}MXS8)x<*jNC9-9f5cm&Im-bpfa@rDJ#}aeD&mfrlGy%ww*gk?W`wa$f&eubjT!agn2CWzTsF$9FQLv-MyCyzdwe%0(XgSv}M>Fy@F$&>plh^`XnrC<3lF=|wT zxwE#mprEjD7ST?yA%cmit*xpe>+d> ze4^cc(iT%F0-o}GzhxHDd0~0Nw%;391a(%WY$gC>p7cuGwE}l#_6uJTU3%q&Du-Sv z1BNQ6(xHc+GOV2wta51Ju2zM;w9pK?-$vo<7hb5Tx!}@jjIK(9#}tXZhOa3(4AZCt zeR8mWs=yNvM86y>IS;5hz*qP;0}qHi0D~PqBaSeil!iUQlCV3>8lbEi7?siLw38X7Ay0^wp7>Q~U9X90Kmz9u zGh;-Yf!@kam`UQaU~ zKC^g{E;aY>7jX`w7r}f$FY=D2T_qmcXkvb7<8v^QFe+0lBwIdIEMQiJi?iI}QvaG9 zFIlAGEc-(x;`Yw!xJj5VRhrI|!-jRvUkNW&`eTdRs$1-4wL%XTJcV-aZoPtMmT%{l z$~8)|v|`{C&B}j2h3Jt^>K>w12|Y-kXd!bQUbiuM2zE$ z5%+bOo?z+mdio*1I#~xKh1Nl9@bD{9rvijuq<*AxPY@W|#D%3Lf z|LDW95-oJ%uc7PzKjz*$Fsdr;AD?r})J$)wlbIwl6Vlsc5+KPWKp=z?2qjWO?+|(s zVdyBJ6hQ>RtcW5iifb1!x@%WfU2)a5#9eiDS6yFsbs@=IzMtn#5`yBo@BZFDewoaj z+wVE&p7WfiejXa4W`Z0o=tf#%Y#8W@tEJz+IKR>U~HRPH7}){FA_g z2@RTRpp84qzJ|6Tbl~m%2s1O8`iyqZ5(?E!d*MNCf_fBIp0pN>Y$)^p^{g6c-qdT) z2G|`q!rdp`_EOQ1xd-;oeZW1skI7UsOBvE8XfB>qbJ|9n@GEyp#)N$*zuR$;iHTMl zMb6o*mJJixJe)xE3Q6_4>)`+&0VYGZT=+r_+-_y*&qQ=9TDu^?KY|vD9{9zI3DK(5 zME=Du$arMS#9PPZ2`ya}-Oqi0SJ|R6){pAu>P}GuxC!H>S(E&)JRvc zK(%pLIt!%_Ggh;J!P3mN(C&zQ%b!{2zgdp>O3i+p(=nue_40cDaryCg10&jdx17tO z(^oG`_H-m)1cDqwb`64b;Smyx)_@t0hzGhdMCC4<9`|!TD8jm$rK?L{m%e7ES5xX| zjVv*(Fl`#N^Ymjk_TQ;du2gC}db*#$3;ZWOD(u{Xf?=5$H@|z8nKTK#24ycWnW{7M zAKQD&^LZK7DvgHE{3S1zo_>f1NH&P+M;%Csfl8EPu7x`aIkw>Sb*g?XAd3zsX^HUS z;UC1y6~<^aDLl9k{x&4~;8i-HtfOnX;mQ^KYx5>mteILiZ%SkHXs&4RwL5E-R@LO( zM6u}hNxwS1`A=KMZudb^r4d&kLjbo*jB_XUZm7xw()$Npp75WZModdD;0bDHwr`R1 z_{sVCpn^HUU7WwBZ2nzSn$~Q2(Y)xssf8Q^yiQfaGpCL)?csqTYl$*OC+Z@HVq^XB zOye(GF$~=Qgsvvqt>JX}F)?~g{W!WMD}jH~8i`yrp|6CFShk_1l1@(nOjnF*SpCVK zPZ>c(Klp(l_zKcZz|T@YCZ0yA0EZ^D{lW`$b84Z^U^;j-tpQBvB00=t(w>;jRGNw zHbmPcyBkeUMyN*Dp&<=!4Z*9_kr2sB-A2w*DIcMAtDSr>qu8;Cw5OT*sv9K9fcGOK zSm!4y(a2K=dfsK5;!ihJii?WuI$xqIGc`8d;YdoW%gL@wbJ?B#*wjo{qOWdT^k9m- zk==Ptc1~SdlEaZs=lt{%`6zA(m=DT}5dFZ2(yka(5~#H%rX*T@>g=_aAidv5RVz4Y)D3sGFSTS2r^}yJIAKH`4lg%ntx|R z@g|#cj@ugfX#OhfWp`jJqBtUbHkZ4DSHKDHin0O4ELt|2GH9gHaP!L}3}X%RMu9^v zuS(%Jt&VKN;Q3N&Y~gBXg}t%bWVW+k1Gq)5L#s5@ZkEsLIw^XNABqBodZ8Z+V-=0W zNfK@`WLS{B9Hl>p2R#J6Cms(mA4-IIVD5qlOg);Cpn%vztqY4NIw=`LQ{iB&^7#Wa z7a&uV)>V||WdnY{zt5auLkdb=`8s!>hE*dQPt81kI ziO)fk1BII*_SGJx{lTuOLY^sHz={3|Pb?n%Yie4$M&R<(ilKI}PV{R%0}AWba;7QM zlhO+kSbd)<)y`7?fZ^f#8IR88g^8yYJUP*(>zlFUnxzNtoZYl6N1f{El@=@+k}>b# z?4Dj;?9= zS6nw@ob*rWHR+$@M%;ibXjl5MM&Dm&83`?45etEsp3Zfah6&wn{SbZWiSl#g2s8QF z!b4X)kx8BIv0a|9d#)&qO#jKn1JeLSU&g}PO{iQL9$?_n`%N@9{Doli;kV#$3Nk1^ z#U4_1qX>;tNcxH3ovQtK_!)Q;noSJxssaap?qI9Elad>s5bi2j#ytCs3 za>OCS+>#mBw~`ecHs)WC{zzU^cx+5Je#R3lToHj6;g(tCOO%@6wkpq&GX4R1 zbtJ>0R7-sa=3topyX?tUg83mJE@(3F#$*?KY=Y=`;PXg{F}hsA=r60uXOmHR?c0m~v#F!u!V#*&AI! zFCAz1AzPG%yv`L)O!?wt1!(?ra)UJ3BIHo!{9Yy?_5{>Guyf`FChX$Fc_I zzkl<0r)IOI1!D?xv z|1Xy@#d)U%ppGeWtaJ{l2B)wBCoHNdN?uM*O~xylSFjm1X(4SGMWdi;NKxSuf(5t$ z(yq)xWA3qIH}GW;dPcJn8YKu5f;{oiO;wizg-JCFwS~i3j<8^y&6ATjN8`%xe@W3ZTPIsDF&xo?<=iJvK1bU>vQqQpAR2|98e;? zywn>Lli7c4!^k9)D%NBa68o3AL)UnD;d+hQ!;L5&d5@<^J+vey>4Buo;w7UeC9Ww; z>UC`7uuab)c08w7zw+VUfg^7(8}2hqI@xh>QPckSg{{)#cJ`ZoB^^z5>Wnx}rQ)|t zm9Bv?Y4QiD9p9(jwKLujJIq}-HB>Ae=~c1k&Xe~rE;Db4B|o4OT`5J0Rv@-mt!atz zj@X>-1Cp1zVgT55j#C)|HMfmO@q}V#n`2Twx+XYdZTw(Y`5GfTH>Yk!#zc-pZW=AdnU&ctSGLmPRA#Yl%*st2 zE5@3|99PQ)1!p??$QLg?_qS8cq3YGk^9J=x+wtQaLmvIzOJ(X93s+Gg81?GDFTVN4 zi)CtqLG-vQfkdF``vU)J8+thXfiD0dYXo1A1iUiY;}P;M1b7IG9)w;9FLlWY2N_j$6R}D_C#tuFLyR zQg?8Y>?h+f4n;=rDT>*O1&SreUa?-W86MDk6bIlb(X6-=xcVo7u>QE>DaBdEvx-;o zHejCOiI7E?piCY_R(m?>8YV(eH+fkc1o9v@DE}J~P!EEwJy^lDDl0jm&=M6(WjI1} zhsug1OnxZaJWem}2`>S^DmBPMa~QOGSg}|L3CHQ+J#ajM_k+p-7#qsBCaS65;S<0J2iW7)(J59wVcB6%k{?6%EJ!OsS@Utz_$(y8; zY_=t%V?5*DFrIlzZ{ki!YtM2>w{6Pe9$-Sq>~eHS?^dvtrb=lv8>;ST64@AOhk#MC zHzd7!sHq55P!v@j9C-9X0WZ0+LTk2bC|f@z1F_*7DLz zruI=vvH$QnNO|>oNZOsqiluu5BhEgp6xpgOR(aQlPoGxv0hs4a`qNCWlU_c;dVlqi zTDma!WiF=mlT6^9KFbP?yQEJ)%wpTyIW&YF?FBzULCQyRsUJR;KJU0*`iv#~`OnpC z4l-gG(E_)Pgd|FRRmT4(%sYi_RPEM6;$3%-Z%5%{n>c_iJhrLhpPL>N-gq#SBPHg9 zDzo{9P0z5IZB?7kp52`GFuR8^%q3e+zbL)g1bTBFEEJU4yBB)6py1I-C^!=N&1nNd zCbKBK(G8K1;))gUZ+7rVPAR3Vw7t$6-x$fJPaG&+8+m@w#PTMtSUR>8IWwlE8>A1U z(8^i-@18xi?eGFN_%(Z7r8sxBlq5ZS&Db~Cl-F;l9Je^~taR<5acm>kyS*=)&e>K> zn6*kON8)>1LFFjt>#TO+!OahJ(gx)D`j_ncOO%}4G{JPx7gXF@3{UmqLN~)yN9>Bc zpC>`rSsX-oGVPMHLph6`su_njt$XR&Kiz!upPqdwyjDEi%D68N9r}`S(*JBYcVz9o z&$k{p(E9wnYv-(faNH~R-S=Ja_ctH>=)vYCYu{Y{=JESp5mvRUOUK`Q^Y~KX!uq*$ z+wUr^XJ)0&pP$0-5Nl^v=I{ zJj$bjzVt*|k!cGIjUTvd6KyVeA${ty&7gHGB<#Q1y14zTyV}$4`fA-A?XMQk9G1;8 zp5EWF&#>*jJebfrN6kWh2{r0A9OgK6uv*5?N2oX#x;mx`pR@Uo*GrC8yA6OX273VP`NcBT5$Qr0j?G(M{{P7piqRt*) zN=el73s(VL`SV{oUT6>g%o)xA9Yvu3PritOk*PmT7!2X&#aO|Vk=pG~2a{1WGXR_p zgE>l4UMm$H7b0r$wzikJ{oJv(mqs9+QS`6EILDZbuS@=&Z5%$wIA;~Ut2=)?DwiM7V8y|a2de7gte_wyolz2Y5-{hoV zNoufec(7NxJ*CD7ZahunGQ>M#l7ayb)Ka^pQ*2}^2^dYOPAi<uj~;F1rK7F4-`>hvE3z-Vn_W?n%^t`Kao>fq*aO)WY&#u0N+&ig zJ}Q*7oyn@G$P)Y0@>jpY5>F&PG#&KoJ^YRX^+K*%Ss=<$$y_-}L{UXErgc(E5-&jp znr?_BbPwuI#L%IiL?tQGQxhLhEFNIO&2PPbbo8M$OJ>hnvg%;{q2Ii5`}B85i|$0V z!QOX<^!@rRpKN0Z=T@CRx@XJQI$o|_piwYoJ1MS+k z4@{;Nph^J0Rz&vw*R{6pWnO9y>5qG@xbr22mF}0)L#gr~)}4H_qp>6$<~$925GmFS z&0^K?9>3KCfKji9ml=9*)MPGa_6R~d<|%laTO_^BzGM?4)z`l!wMngf1bd$Dc#b>y zn)D5~h>eq4r8agA3&T>^5wi5Qbc9S$4}>iqA?)E5ky+fW9UZ(72IOS8<1gH;@(K&j zloXa+bBDra6BOoL3kUoHL_@>&^ECv-8f4FE#sp1A{n>?AMziib z$qd)|3UYAtV1Drc0u&k(6_1!N+06DIJd)YHfVjlPDl1-ccwBwGrPxwmkM*Bj&`JO9 zczs)T=dI|h&|7Ak>vWhY=o3EevYFqaC&{Tq z)3qak!8J0(ysUS8nYK5}M38q_I^SDc7B9UZ{n3JhIN{&iL_m^m`s*5hGQUi*X#Er` z6bg?OrWdP`5fltDi&4H2EUat@&_IR9LpUa5W4Rg%4tUpe(;Ger9WZ1j`qB}QTf#b^ z3yJPJRD~)R&xINrsUgCROu=#5G1XI4iK;2pV}O@}KOO%07*Vf-`?EeR$EwxqVsv_~ zH78B)v;dStjN$1NIP~7JcXh{s)q6EbIU@q&-f?ixy=5Md=FW1>?>pa>4E#k(Gs<^oc+1PZ8N16fN=wp54FANlzWFAaH=&b{ zfQAnN$J&Hh3yED}MWOIH7)ogV@}!cEsZ;SyN(m5WYD~`QDI`rOS`C|IRmP8uznuy3 z6YU4j3nT_Wj2)#Thq^tT0U!@=r>Blx9f|3`@u^wA`q~sTeE7h|h2DfqiUHkf@F7ED zuYDvW)BRyvr)4E^ilw7Jav_Gs7aQ@|s+U+3X3)W3FWt2JrdKY!z4Sq+^g^o5V&0dV z1qHkqhFbheojd#ItY@|lQRzNyUi9L?d3B#|Oz?MU#uKs^g5D++Bss#_E~hJT&JrXc zz?^emMMC_0k@h`{lHJLW=t%Jn&Ha_?_9*|MfFDXLc--MM6MEpA;3i*GXw={t1haxc zP`O~@;Da)-23idkDiZUq^f)0+6fq@S=PW6PuYLV{sqOpMudQ0PYG8bpASTE6ZY)hl zG*aHwjnBOO%*LsCJTs=3HujEB7KN<%fvc8PNnxb6k3uS-^=bnQO7TWH*Hy)gvgG8l z85Q}%i&JB8E8I|<5bHDvy5v-s&E`r=ju8y8&IB#)g!{#$77yo#OK1lAl0AaH(6h4> z(VSQ$yN2aB^90#@%0m!-u!JJq(ht2_FagGX;(L(h1it7V^eiZib?`=sRIu_INiKC4V|*i)2yOAx9uOS);1I@Ox3+wfauYF3K4 zOuA;4)LOn_QC(VE-J%WUtrDkDYIq@X0)YDCI7@<^#YJY=;(>PkSyL*zZ_nWm%{ET# zC5_}x+2RxIQr_V`A6&?+38kflYBDbn563}g9u_;~*cxbq6e@C1CRBO&B}a9MFmZHg z>&!U}3RApc!IDO{B7B9g^xk`|r1yg^5$eF`>Vbc3h|%r%WXnmGaS946*%m{#AHL;7 z=?R!_dYl?{EfP$pnC0-+&-WUwd!@fx$VwEwO6D^=?VyBEslcEkgpa6}lN3z`4yHZX z0PJK?bdvJ0Fj_W+No&{9n%>9*>{puinPiN$s+-au%71qGl-(Z(C}l zy-X=>xb4;D(X;8Ib!?q{o3`-fx)3Rmbs0h!^KMx*b`G$h3KiVGf3^t&K3Le`N(YJq z`T??m-Xc>Hm9neQeEFW!XjHi*jq+ootM5tgo!)c20)egr?CPwRuUfLyNo8iMvLbTl z7wD>#prGjauD7x7YW3UykBu=V=6-d>2Mvl# zTMd@Tw#(HL(Xa4!u(TMqUOM{n)hmcjWIp^F%XAv5s*(Aoy|L%plHZjaTRM->L;jn( z(Yu2hvm0`_bA)sevFNaIg4T5+6&Jg&Yy|O_8v!qQUC|6pyf#nEG;`oi7ov(2?tsOx zW$u{H1LI1Mvb{(D%T}Up@bb~XA}v#AsS~tIo6y!hUe3Hpod>3stXub!RwUgIXogZk z%z6oQ`n9kwl4ZuhA>I2=`@QF9hzRu%%$g3QTQ>nzmM@SQ5=@t%DGc~QxEVaeP4Jqc zE{Alb9FSjsl+J($zLMM^QvCIE_uhN%b>{Eb2iB!!>8wMCW-XNs%-qH6SFXIC z3q3(Y{R#O1|M$bvH>XTjkfI*9XHkN54q(mprAzIAYmU6KiOt`%2|=Delpg<6>)oYM zq5=0I!8m-lQR)EeDAT#pyIcQs9D(S9f?ZOoh&EIM?{pHpqp#BEz&v%nL&nrW6Gbh|z9nE=Zz&d4Rf@@`|1|q{5LbefQW~ z(y@Na-`H2D*4*%?Z7cqGjog2Fym_fl%A@S)Jyb3{)5Cj6+>5ufz_Gs;=VK3ci$ultSBF&OH3*5JvSrRY&ov&|RRcDKAZ z(cw&Ty~QfLtM*D4J5(^?V^3o8Thg=GgEmxl+BF8F4JW{^@$+qnKJ#x0Zx>;LPPL%3 zDdoN=vwA^5&Z75q_c;@~T)1b`pb6d5zaIJc$>lpxad^4*pst56UgwNs`X^hT+WSqu4jr1Y{0Y7^+WF+oE2$aU?qR7TA!Y3_<4M?r;FMCY> z>^ypYr$&JXSqv) zJkOTO`5Ya&wv_O*k&sroHp^$Wtud4XmQ7u&@r=;Yy;MG736DQB|-Wj=&+b6p7iRe>0zW&L)D!&`j4@G&%F8+)rOvC}XxURy=?4n#mJfM>!i*&PxL}F-W zkK9IO;HJ||)yaiLUj5NCL14o|7!omTpTvmD-|p^AUS5hQg_f_|cA5JFKL-naH`m7n zI=RB=4=O-BzC3o)xxBqV0Xqb!Tu66N_d)rAQ6f+M;=QQ_1*y{N7hRv__Fq%6 zbo;TFUW#~VpBOGkZ9AD-z}0_ob4dyNou+y3yBady!b zsk!m-lN*MHO8omWr)7?;DG;?sk|%t|#pff(gj0?OGPsDT8jDC;_neTvuR;&>6WRxhYVu;z}Q4(tjcOss|yB*Dg8?( z$7qdB>%TlPefo(nCH$-!{@qcKb>@6!)v8ydFK_+LNon%-`Kw;x3K}$`)|2TElxOd4 znm1NGzMq5F+ilxb_8P59T@woAsifhZH^I;PSC4-=bhbE?ZX%tNzIxlhm1xPGGD9ey)#?$3zhFH_?bxWu38Tp`)Pc?nRWaOu>(v7H@ zlDf9o9vj%k|G|rRTJ#G<8O$^XX>W<(?povI(@G+4a&HDuP4}|f?kLjO$)v~`g&X*S zz!hZRIEaPq;YHFl4|uw~M=0fi$Bt7-bx&?hoe~UINb3*u)8{@Rbbc6V9X8E&&~9{n*uB*L8l|I+P0y*hf| zNK4U>ZwhW$9hk9v`s9A;<}&=58;4Mm8R~;!)xYHW6)Fhbu&aL56A>mLqh-iT)S*Hi zVh9wVw0xuvlQ9-lBDsDgKH@D7cZu={LF`@K&_guDLmGUhP(n_=q-cY(TUG*b23?^S5*O33rKQWp`|kc5{)N;`2O~X&znq+_Ev|3VnupxP#M8lT)F{tXa(Ls#n=<(4Vni86uEij zxr*|XIyD@2Vjt;y08EWu4f$gMAVxChP$i+o2Wl3vT ze{-rKhD#EJ@$K`FxbsVGu2WcMOEg|m@UuFOGA&o#{-?NP{RjMKe8)2bxiy?IQ7L@~ zEfdOxcE*?_JT62j^u$+(_uY>$)saQ&N+fmRWYqgDRx#?5Qhg_K4@cvaa~1tzS?^#< zW`Xyt7j(Wa8^}hmNx-38$$rhAWADKLBXMvj6bUJf)Gkm>Ad7i46SLo^49e>yI{B2* zb1>K990uf+PH-K6bk+q9Dnu<+IR{;@1H7{%dPl))ptQ$`M*zGUTr;9ez`u}u>kM>G zdt?g*8%I+e)b4ngzX&&rURUgJB1?hOLAO9)H9pXprr|v~f`#QgMR(BzNda6c;P(@r z03L%p=H<{f(h)kKOoh=j`b@ino(y9E)c&-jn&BEcOpjEmQv41l;wO9}o`;I#a@++C zlTUGFbVU%HM*z_j)J`r69t!#tAQWWU3>5J`RR9)gdB0CAhvqY&gwCAycq!YK3^4~= zgvuc}i__2?MdiRTvCB_ZqTYCjI#r4M&?vJKP&BlM1bzo!Ovr*hl!mHR9HfHCSApxH z_%)>}6=iY?K;_1Ud`+soz)RIq6(jc}KB$j;D-mGp)GFlBi{i77)ILjGfMX*QP^lu7 z&l(5Uruqbjqf|dOC42C;y!70*CHgVZ)g10+)+;q3rPx=LC^ij82I1Ce|5%%_=(-gn zxbM_f6&oKe&TDW)Mnrz=9GeeJT~4&Bm2rjyl}4ACISiqiVXrP|R(u;|{6mGadqmF3^XjRN+iBC;*8a(j{I;}cU z@07mRjC2VJi8lAJ)Hr=VmtN#c3XOwZh76tEVRBtO>l&%?SQ8V{lltr9QoY8)prCou z(8rpVof99&zo$0yyxyFi#bTw_FYdbQi@S>F%w;NV(uQP>AWGk<0n_p}Cn%M=l&#W1 zQ?F8^1u*a8faiGcX6C%>K4w4c0nm)O${1f#2u;08%PBRg8040<3Uf<^7?%ksjlYiN zigUAK)MicZBsK!MG5oz&H;Abliwno-ox*RPpL%?X(#a)jVzRVWpmSMAb2e^;|)N>Gz+l?B(pIZGYpz!&J^?7uV3IA#fDWGz5!-lJEpLB;|`NorHQjTszjmC z-ebKXp;DtqKHLSOI69@rx=>|QXD6fq?ta z-5z8G>m>ry0eLfV$5^$`?5;@f6{yy5`LRZHqQn?YqRFDyXcJv_HU9u$kEVOCO|l9r zGPd;AyA6iW43kmImagUdZ_S_Xj!Uu#)}(89BpZ5f$xs?i(<{xDYZnP<%WLNGe%~&u zMWwcF>dSGPjxSq&{P^-^k`Em*VFd=2jvv(TNui+u&2AetQZ#Ze^;sFGR$5FqCvh8{ z`du#s^Pjs_ZwGu6VGOC*xC{(QwLV`|1K0^SVH%s+ssr4bxwJx~&e7|W($FlC%?8uJ z6}p(fyy8F|$MyZ7qGWMd(e^1woB-f1t5c`f)%Qzz-EQBPpX%Uwdt%=(%Pp?*dDze) z=s&SGi-0^1XD9X9Sv)Tgqgz>RGUTK9NQ_N9Lq83GlELp9$zvM%ysz-gU@o*P>@ot8 zBvrYXgP*h~k1U+C^6S?vCHzG9{bO7&w3J&?jaj zO`h0T?TZV?l6?;3_||BI3Sl44qHHcOwkQ$U=jhB-M2LSD|0j}cLI< z(l?ECuyNw1O%tPQd(WNgxDj3x#L3bUEsH+V89N2YUfIe7UX1~7qNg`14158Zng(zOWHZZB`0%GAORjEQ%lLEDZf_T|T3sl8!I;#U` zLC?`F!N%B3r}6U1%@mY$MVS)1%M?`#QxHb|q%`cV#bNea923nMVrzz3v?}Ns3Lcz1d|VaGZ6{zYv(1C0 z+pqM%ZPX1Mi9n&bNM3gq;|L#;TA-r{g+kJ|O$amzg;)r_FfI5sH8n9)NDQ}1jp0aZ zYk2S8a4Y8yvu1fU+MIZv9M{m5?SZ7OAgFjHo=>Bx?N1NlS0B$s*YYK&MZ+^&$qq(y;2J`Akhi`c2ew>|nRVJ|Sf!+aP6 z1uA_3C6dCF3pjd}fa9HiZMXut9k>Xpb%|a}7jksHyp5k|E3{*c{y2Oi_|PAG zh`OFh4RBc&G$TqC@@WrJis+;irPD*bRt2ROlCzhji^!QyY1+f=I%C1(1tSq(+8Eti zlHSo+GH4`rLZ(DJcgdJa%=4rhKoU48cD#7g_!Jcr?WTl_Jqf3{>OxY?6EV_v%-xQT zUBX^UPkbEd+B+0ok7kMsTAXo&M~7hU^b)=q#~N`GGPzUHO7LiUnVon@I@HOJ-Z=_6 zDirXC>;@!6f{D&`N1+2C+EK9_`LL3i+Z(_!_!&XEfd~XsfPsT%7pdMLl?I|2w}EMg zTKqJ4TXlP~Q?0%AR;}8pcRBf(9XpU=*4aMi(;@xluMTYQmB9vauS}aUf6bctGp6Ou zPE1_?*wn17sgJFn!PktbDh-XS0y`;{vcC6PhqjmsMA(v`xE#REiM-7hCt#Y66{;ft@pA0iz} zSjM^~tb=&Orj}C=FhH${=v%+Jm=XiYNEry&a0^Th zBfXyf>(lt}6&c)%y(v8>eTO@|xAJyoIC4Z9vg7-^8t;(adGcQAk0)o`^A)eWqB?S) zQ*`rc;4Q@;&B8y9Oe4?x%k#91=@+#jfR9jyt@?H-ORah#q_>7ARkh39fB@D3W3KC1 zv&<;a&PF<|bGI<`^2w7}d9$oZp~+O} zUY+{il&BYt2mU@3DjYROmt#gF2W44BEOhDDq81nEf`JhYWw1aXHH381y+hdo+Nrn* zGQlg@BZi7}u929YwicQ7X-uy$NOoFff3r_rJJrtqMjMfes@&YFTw(Xb8~1JAcjLtB zCDUgMmLV2l_Vgvy?TV}I6+)DKArj)lxMkb-GKVQIL>(R~uayoQSSqiWaPQozjwvmWi`5;Z$A2@%HvTz`RJQFbywZnQ^%PNos)tAUBF@Ka(SRW84X)B!CJ#z22<*6 zFILV6JQ&l^M}Q6(c)JH(8`__uVljNax%qswO+r-n#_nxVZllNzLw7H&?od=O-96Om zbXsXk=-Lv)$T_oU?p$e+)PA|jkP`P`MC@VW<$aO9N$Vf_Zu92v9$KHI@}zrIS8hh> zCproGM>Y@@;Nkzjs$nMc*boqi&}q(}iu(OxwOTtA8vYwi|HV6pd_H97;{N}6O{&Vv z+WKw$`|0(`$?H%5eIwCdqWzc4PO((~o43=5~p6-pOh*OVS)S?o$2~{+?jdTqg(ywmH0_V zD%`WDkb2Y=@4*P`b`9v^k4Q=o4#_!czsI0fAd?iXC@_o9#e0#hy+pL-V29`mXdqPPkfAXtkqjNQ(vnVrWf-TBTXy%VpThV+J86Ln zRRp#Xoy1s_v=%@m47R+Ohj8Q$<>ge#i&R$ZM_w6-#oGB=d2fN=puxe)0#QAxvb3tt z?34ue^qu+z%BH$Vc+`C9wIREv=|ts@$wfJXgfPG%Cg$}+WMsYTKKgCVO_kpDSCH5n z*DH-ZoYw0H+U>qBy;99p<%HK14i#CrAf-58b<^}83QMISvAK0k%SW;FnwhQBcCpDD z?E`46QTr&Aji3|xKw?*rVpx`w@f!#AEj1H04z&!L1u};mB|_q9*O}dIf%q}x+2Err znV;|_NIW5zU}}w{6RO-*6RHmRLV;Rx#SL)}rWC7&h}cK_-4AbHnrwAW+coDF^$^2# zBO-Nu7op@XQJ@X$hVgiuNT$^GE*c)VO9#;?@nOf$#J9K zcAdcO&UtQNnXqe`S-EqLWJu4H<`178%;gmQ$ILyD!XBEoODLoI%RG#1>xFj%ydpNI*<~C9GFl(tM$4k0N>uX1e^R$82$DfY?lLM-#^|M8<&5`68_?lI zW}+zONRW(_aFD}MYD}OJQ}BB<$_SQq*+!ufh5XaUDxBptqSQY3z=64ovj&epFgGWg zTZWn7!2B`N{S$6Fe9V^`4k@*!YL~GJViIz;0siMG!tc|X;FCr^q9f8_xFK39z z5-I2WGH22Jku|J7vluFZ*S4ooyO$OX$ni<9gm>i!MAz~GJ}qp4=EO~Pa}SvReqe57 zdczL;XeamLz`=%~C#On#NLyEMNr9EkdUd?r>nI3mnhinTd_i3sNUt)y6hfHK+!rb` zXLcy8qjdwaxZ47?>pc0=yE*06Id8mCouwWT$QWb>#q8{RvOJh3vil}EG_c8|{0VqtyR!Zfb$ zil#aV30s_eQu;?G-UNINjDl>lDw0u-0?ouQGHIr^Rfa<9+R@KVF55$ zL9={*3VN0oWRD^8lK`fee&v8#z7vuJ@%hSBp1jjjG5tlyuC>Q18Vqs$7|RH0l1ZNm zcn$F|c17tRF2fKn^08NkuC~t5i_27NCz>~nt>0*?pJm%vf6W%dgjK3*wLwQ-N`Bm& z1EmF$*nf1suS|32`aPO5UtWmc96wD{?#r#>m#GBxbaj!3do&}3wU^WuVW_?y8pI2s zTz{EnS^NRM;*w%=E!$ICnC)O6Cb%YU*N&b)YlL(syKls-rDL@>OpHyH6sk;-CEeXEy{d`^M~UA#LiWpps$zpKvy!{UCw86PWiw7no zP1=|^!8E%nQV=DC`{xYobKtLT=B9rU^MRz0!mkt$p_Ww?B37WOaq4@$`j(`Z(L4|u z7aU$2XykeahldZ(`+yr@AFJ9n>AhtOq}`zrQ8GB^mQ*fv?g2RGft&C8cD51mja~(1 zv7Mp-OGapv@?00KVgP|-Q5U9UB8o&0sS$u?X_TP|8;v#u+1bLLF4)iOV(`qOG z_+Z!c5$&Z+J^^45xIOwhq5%T9hKM7@C1MbZ>b|+VoTKeK8Y0u@9{9WYz}&h`iDnS0 z1p9#HPkMre!2^Q@b)ZdE4>-K`c(s1Bwkij^n>C^KO7(@AnH4X9D%FNwGE}8QZ=0Ak zKsVaD%RDF}FhZSG{l*(P)#W+TyZN4VwE=#$v*Ot4NfV^|$IL$frkh)qoiq2q_`z9= zi4aTeVofm3b?k6OJ{xI^&#BsGGG$s4rH^Pm&BYomHehAXa>Pbf3|N%&CFdmlC=^Bp zZ+30l--!od%UJJtpe*)(UenI&eMUaJ{~-y3b3542idFMO!6?b2KL*5!Ij$J_G7Sr+|rgT<=t zsL<=Q<``~>G#0^__eLIyF>AF3{@EC_HF6;~L6xdO(3hF2gbH=ySZWa2+&dbFKp^3e zwTe+xxh{U56e!Uk5YTuaB}C^z2aFt77)hW|=r)j$!9=k1^^Cgqj;cXLuOmT+^`K4t z++l9Xd(sZG!DMC& zq&w(71cMWseA~_!yk3%~qR#;naQ4Kj;5Z<%w`pUifwy#_ugmdESS=N;VdElD$UO9S3EG< z^u$wyF14y!M7QiyqR!sd&7JEVJjVu68>}5{r%k;7QkgHVkQADXZ z8=k=_bYU2mRIwLu>Hpw%&){~rumKQyKkbyHtNsA`x-_(n6?TPamdyb`avHBdMaWsO zt54Qu4p-qWPhP7B zf;c!c(gu=82Sjrs^=VKnkxz(6PJYhqfFn&1ZtFo|V{lk7IIP3JxOp-Dg$;}AhA&y% z+%e$T(q+f){QQ`(@z}DZ$FR}yvGhOBT=(|cwQpbd41cdAAGJjgY=W z7F48EVCw|7KC4`_@Q`%j@Rl#?a!2Y$yX(H(a#*@>XrZP&i!IpCZu?U!yMarHK0e6N z(~Bq3GZ!yrav56W2OndfA3OH>F)5v`W5%`T+s>~Qbc+^_KlJwUrEeab1kY#e#%sW1 z1)*?#;Vn+n&4y`=>8%LZ6ul2fRa=XEk^i@E2CN;a!ad zLb7BsK+ZYv2%?eA~Kv}WS~~$IVP{89HcxWKO`4m{y;*=fr#%bZI^yvS|Imm zr2~&|+VuD)mZcZ;>Dm6JFV!%e%N3J6Cb{2B()Y<@u$s(tgI-N9 zYAPLnm)GYB<)v}Ukzx7_?)1Z%r`X|56DMriG+|=o?u6{LUY@ub`ylx)dY7v|{EuBO zy=x5J&t4Pf>6Mn9U~?HP@q!^W-hrIw@fL$io(saV-c6`NQhcNa(eFK6<(5t8fviTe2ViJK=*+{_BKX?>ElzO@@yBqSvF zNz*#g`_dQso>?*!OO31{6cAu<(q3FiE&KoQp620ZwB10gn54_f5&eGl37agIM_uR9RZ^068 zmiYOw@^LW?KR)u|lLbf_jS&FekOCpqT;|9%GQOuQbSsl8$8G;idiH?_rDs3iJ|VBZkLUMlL=mwS2y9+vhCwAg2mVXn)s30E_tpJkl$y z*fSu%FhyERIvs|x90U!RMSV_0WD!gih+;(WMJf=%Jaz-H^c2Xf2DK-8TR^l&9k}3@ za?<-kgq;!0Yef+X4#trn3C^E&f>#~#I zcUa#^@*U$?-+p$_eD}hN*#47Q==?rw`4Z20{bwrngkfNxc=j4&JIW*9d1i5sSO+*FW&%vPA*H>)gG#i^0hLJ*21Q<1YGUj9u$uxPlPzLa=~j;p(&6w0j|L+ zS^q(P!zq4BFh?|wXqPN68A-trBv@WZOt~0*LGpUX%neqUQlCHr0C5Y_z0Fa9fobB% z!=ooNa|I*AKjMjt_oWnoH<+YZzIDfBUOJ{)wRz_x?uOZXVw|AwGx)7Q(WgKmaY(sufE+i9hOTeI~Wzvk|}?8NQ&OYpx(+-~s6w>BC6< z76Z3v6RTLE#1*I8Xj~zV5_+VUWov?40ZdQ`)3ig zD>3e{*bD1=6;7)0mX&HCJ~?{D_r2%3!Ka(|&r8Tu_sbqTJ;Au=dIpjraHH>dSNigj zf@NRW#740JEOVmt7Xxn|v4qS1U0*eLL?(_%RXOvtPxs3lS_1FKLO&<;PUBP-y_%mq zLRXfVTr)E;{?$`HU;V(7Y}}%u(md(;^_LVM+&8V0#-aY0&r)I0R}c{s$Y&EKQGjz| zFc4@EU|0#>8?duTKq@c*n$yrK2BItHr(uKi#^;YecUbyrX6-eCa82z@W;^`c@zv7n z_aqq}kbe8=R^qWALW^|ox{6UHZ0e_fW>ZV+E3cF8L%B&lG2y*^3onlV>?GAh z6;vKl>Hz=(uK@)_A<5SwXz?m}ivrRK(C1|69|uod5tMf1oQo@D2Uq6FA=L|rV*7?a z-aPI80(N)FXVSS7Pu=tBU0-LLC%njPkN=|rsYT;lM#ZIvLbFHb)y}A%J8J&k)vpdH zy!gVDF-vb*^H|PQc7c0WeD|i^f8fTJra!*Haxu&~K& zd3Uj4$PD=Lq^=Jk;J18h({2%8Y6Ds~_sB6=z^7_BUrp?G6 zT%8{iUzO1R?6G4n4fFL1>0@-x+sQbsIx~uaN~w| zd9+gKA|&h41|$UX>Y>0*d5PJCqE~_#2Nb#j&t^)>Yal@%pFk=(qQm9f+!=92Mh841 zSWLm`=&O{olfYx_X7odvtfHF`HL0~aU!x5w1^AiMGf)EHb%IKE6_qZg`_Vx>e6@1% z-b2TZAG~?d;_{3bp{P(~mc)XYQ^T8g-?Sw>MX5E$*wZ9?RfRp#Y}9JXt3<8Q#97o; zRVJ53uT)i5T3iY2#hmOBb?B0DEpqtnIf zHLAHY!Z&Z(kYEAn({H@z&V$$Ml#9zlp^B!ay|cz7s?~{%A2(p_%&EmCB|(%};H_S6 zq+DWcS(Rwwj0TmqvdWZX5vwZAu7trW7S0(_H(^5E$k`rMg4vWftv{>hwl~f?w|Czg zCS5_Hn&*`_&6-g?ux?O;G_7CF)(0oQuxsbeKnjQS=W5Yucy7%YzsSdmLWT!Ev3+G(b#j%Fj>TBSu>f^ zpw__F0smj++=867(&hxO&!GQv`Y@|iXYj4uzI)T`@{)$@R_&ZtU{4vVwD&FQYmwg1 z8n^EB%;|Sbsf>#>R#(-GavA!}UQpRrsZ6q(f+PCnmycgQv6sdOggjw+{)1!E-!je1 zukU5hTC;C;s5Cr)iK5A3InI=)RK>7+lB)_bbh=jWP@7HX=rcB5nOA?)_)$A2*7Qo$ zaO*4G0nXta8BFNAV*bedf|`lLQzA#lGi!P#y-z zl9w(wls=@q58ZI?bE1^#wBlgX7XKVt@AV>*=n26tghev}h|K z49Acbsu>qTZYYI_ssb#nyBT=J<#h&UrmM7CxM&D##>LSSBX0?cmY>wwAlHA`)f=OXtB?`4oRisQZ4=|BwuRxG^w2{Z{!MGYh`{_h${bV>?josn9j zE%O13HdTA$f7dKrUr7PbWp}i_aX0z4k>3ABV~{Kz<$04j=?Dpb;8r?+FhzHU z-72GEc6M{Q9QHYionTo|*EUFRa|#+Hd(T-CE%&e%V`MQsn!8EJj~<3v{KOC(JGYlk zTS+PlJll(L@ke=%@=}~dR0Y*tAx}4P1V41{3Y zb3@UnR7HAX#~FtDqpEy}jiG8i15RE?NGR0)(x9MQ3GA`4H;@>?i%F*Q6un*M8VW`$=60JJjrr3({3V6f+6E?_ zXIK%zv(tMgdB_cUh$2^v;LFJ&wo?b(l~JYZ7aDC@IueOP0qa<er^N)+%bc*@!y_d=@)A1hV&Y`*M#|WlEr?!!7C(z4)c>-EE zpq9Zhrvcs%0%=!;NKYN`75gBWmy6Ja!2^<^UM_akntdtFmX5r6)5ft0u{j5?%`6>I z_8Ob^=9_E;Rk*tL1*t8+QZ&X2yojLM7*3UE?-lFP9eL!k$%uQTM~$PkXW<=RUElQT z;DW~SBP!~LDB9cdLiEuuqtzg9Xc{ra;Tr)D(_ z8f{rHH1A@gRZ519o0R9v4Ahw=+5h5r*Q^hr$K^pAYa45O%)_JW!dBpq#2?hMh1s_ zNS)-d1Kf}l;-q2RVAu!lE@1XRlIuK=%E9l9sZEZXH!m)^HfD0b9gq&V#`}VRPuER2}!z+-;9AM#K$N(^$dr~Cf#Vz za2h}+P~E4?x|v+~@r{7BhipAjgAC%wWFrj7Ir%bpVMBI`Q1V6Rmv&2a(w_6W!t!PHqx-(kdM)E)4Q#Px zP-b~U!`iXZL$g`dAA66kU)FZV*tHD}#*n6!@*Q>d?xtGqR)#);Cnba`p7RTDL z4Q1sG+(W%5$K@2jXmcy{0MJ0?lQJ~u#~R3rEIzM7x^I# zQlrkL(`qx)(=)VMZL%)2K%*(RKo1+c7JY+ElPhpPBBke;u550~+o(>)t6n8i#jmf8nW1XBHhB>5lJLC~XT4=89`r<8QxX zqo(%VG->F%p(XKvpA?60yrrwZ%D(kcH2MUE0zD1Ak!E1(kZ^knV785N)rA@bqOc%O zP!I=&sVE@{{0sZsTw|meq5(^x*bM>FMr&&o+{dHyl3e#>)E@J@7ph2zpCI6rl)!;} zbZJoGMHSW{k6`f>o*oHDoqQ^Sg`fw6_kl9+{lVYw+IM01=shnk-1Oy;KP;4Pf8|%w z`){vX_crtW>O5O4g}6tS!BGCqqg|HrN0IE}_;t7Y8@Ic&W3<^nELwHL?hAVtzPM-f z>iO5*)3WYu>3vWS+~OUsT566+u-JE**QM{jl$JF!1d)`aqi?&xr?lc75>`tm9zoE< z{APq=n1Sfb#C?%N6Zo-hk325iZrd06icOGWI__c90jj(4mX42>@#7+Kjgvd>V#B%h z9UpOM3VF^}hM^NAd+v4UC~`(}NOzE4kg^8SU36W<8;LqX;upt~5M_!Mid`J8y?hPsg=j2!n+uy7P56f~wevR;29`yHc6Wcp z7?p{+Jy{-iw$DD)WbUgnRVP?#tmy^Jq>2%{&!hX8T1}V#BPJFihc&5%`_^P?;+n9K zze*Ja{BAR*{=e$p13ZrE>KosCXJ&hocD1XnRa^D8+FcdfvYO>?%e`AxSrw~V#f@Tt zu?;rW*bdEw&|3&4)Iba*Ku9Pdv_L|PA%!HAkP5cO-|x(fY}t^!$@f0r^MC%fcIM8V z+veVL&pr3tQ@lQ(H{B5hU3cf}4x7V@V;L~v)I?6_*wq6t@dtRqF(&Zxdh`_-87jFo zg{9(bQc^a6km*oxBtb82j0+|3Gt$9d#X?J%2b?W%t;(wOlfeAIqtZ25;A4nbqKVe@ z8qq%asL^OLI8WZ5S?G*P@uv8q)`9n^>;UDX_ULuK%KXB_tZ0`vF~1;IzRt6IISK77 z-|gv)Eyz#wx}viZ3-c>|-7zgy^wCu`W4o?X0{{rKZ1(}3OoJ%xgbRfJ&Tt)B>$;bt~Ya)oH02^A> z?zHL{FI=YWUC4L_u%Zs96<+WowQSBTzrv!*aGs7Lwv$2y=zHr!2B#q>)@n^jG<&zc ze%{XG;hsiMezkXY7Y&E#ncsi?kFPxOhr2$1aeo!7dhU;Gm3R31ubRC%u~1x$o<2R= z8k`#4%yc`wIbK)1ExM;C+7=&Q70n)*)D%-t6q_iRE0U+rIPYg$_ijm?=dI57%-;XT z{{DGazWCW)*MH=B>?8TP-^D$-<^HQvZBbL>I~nhcugb8+Us*55zK~{%u8P0)+2_6; zKQ$`angE(21O97%3H)Kw^?{5e3Q?J>K!-R4#1|JrMzTtP{cS}&H-*?hL0I&l<9B)i z6o@xu<10Ov6^e?+7tRS`%uDbl8>L@f`0%!E4`2B4(2c2kKkj|(ycU=)HYFA;TE8$q z!RSrw$;uu&5M2;nyJlvhWBAIBoSaoVU)Z|&#fw(@lk>v)QC#ne4`vi5x*f|iGwWM( z&Hnlem(96g&CKF7mzmpEY}>YC<+g1 z-E18(f+jMBv@km*uT?$Ws`}>>XgO8h2Io!Cra!F>uk%$gXCXL2%;_N?C)hp_*NI3p zLO*9c^P;nL+SwtN{ng&RU&-&_%08v`D05%sR4GB}+=id{&fc$1=bESTv%dZrXyY0B zl{^}LttWv8RCRvzoLD`v1a|b__0`w<=ggRC@<{)xcgob>IE|eDZEy5ZXQ)H;UvvRJ zdjbx$K;{Ty_n9R3hq1t>(ZxW(1Ldb;KSs(Ir|$s|xUMuAwG~zi!?c^=p=Xxp=9N5eEhR^|KX^olF;(A#aC4bl_-Q$^6);{6eB9CdQM8S1*_Np2I_X^o_%P!ZYABl3X2mGHCDR>zQW zM&Suv;SA%DgXBtCBtD({cutV6nQ`n0z7>Datx)gle30qL!MpT$DK7KGg=;Q}xGrCL zhbpgr$I8oHkxSNCrWGK9?4#dNFioHy99v&Fd2%5?fZ)kv93s_6;?u<(n9`0*t40`| zB(GDt>P$EW@i}5Ty~yEd;=6Jidwh96CF)-;PiHsfms7YL@Sh4?@@vou0_@DgLsq&# zhhK2HffFY(<(4WC=bWG-{d9<+MByX3&V*<_x!eGAnboY! zVK$59QoQ{50z>REr`aUTlM(s=hgAsum~KePrdLx~Ny(-!FvJ~G-=7XqIVNI9;pqII z$6`h} zUU)nZq6Cr^WSIYowj~UDC{{Lwnfvzd-?yE;CcnZ0a`CA(tXe+0Mt6$8THSy5Gk<^P z?*8iW0Q+#?e&O={`%X5q*H{4mUmH89JGBO)3O_&wHUI?r!jI1{DLMbgtO5wHLJg~P zGaEJlV5LoKmoBp`3*P!%#3>-bN!W00}QqoFh(U5 z_I3)fCvSpLkO+H)?~@-H`}}!1@Vqe~6-Nv>$hb*}RUVB()kzcIXv>RX!ILKas?#Y8)jb>rWA^~=6v($U zWv7;bzCwQyw=J5D9yuaR>)f;J%XMt|KlfcEXDhZ1Mq5|NV~=fprP4LWRr$)+$KUT=ltlgu{Ty{aMm#cPR0)3*R$@YWTsR5O zIA6&3uq7mxJGM^9vKoEz&eva;clwN0t5JN%h%MXW@_N4KSGXKsT6H43YU$D{@tvxr ze8cFd?$owzGFd;+so|5iQjSx)d+x!UG@i&t8RFUl2M)N;WFt$Gv>s#A2-r`dRf$Bi z>AxOF>X6ofSS6jCQVeH>63_Bk5f4s)J_ddop~SgAl^4$0uxL_c;p{9-qi0y?N@4$dG>VPyZ;IP+7B1L zH0+AXb|$CfMJ`#pILf$q_uUtd_-ge+T1HGIX8whfFFttPFP~?DOJ@u`aOZFC{&3Uc z#a=jNOyaR{(}54sc%S$VvZg_HCpz$Th0GxOa8#?DCEGdhE2#WZ5~D0D1?v+*oGL@y z5~4St@wFK#p0gJL8!tbqFgW?1{-==hxP0QN{{E++Ft;7OwL)25*Re+~}0H_}6{CX*0oRXs#@+*Y&tIGCWw(8|;cD7%( z`BrA!|Gm`Zm6GqX`1)k_`wVMT-pgz#XJ2RMzOIw+u3x!l?^F9u>>b`S`DOn1hN7`w zU@^4~_>H@!av%5N}n6I9m zvS)bjSNp!dZ_o1HYhK1z(VlUf-X{s&m6#W&542T6n!zXlB-zx%Zsmv@<^mME79>ML zJ3cXrLWL~$buQ;TKC1C5o*G0`w)>7%&%^hp`% zPFq|?O75ft_f)HXp&{OU^dVM<;wBa=KYGqq1O1V8N|07y+)a?xn6F!hKB9F>;pTuu zgG6>AWXypxT=3$F|H{5PfuwtsIfqT6p!g_fblgBT7%}xo@&{5J>HaLZjs@h9%YqV%e4vbA=;aBYfUvbgnw@=pZFuUNz%ud1nDwW_*iEIp78 zsneHMX_ zOssGM6bn=xAm$numq;aA5H6YM&=B$gPUVSqYj_0A35IkspBaRNOlh)^@*l)_*+1`L z!t%(vaBx-6*t5)Kf5+~Ue^q9Vmj4#xvhjRVG@E003zJT~Ab(+ZyY0;SBD;<`5~t*q z`YYmL8HL&7%l&ydRY_6&al}`hiH{qPhcZr+qvu&HZRLV_`A)#~k&iZ*wwh>!m-}4xID_ zG^|!*hXR=*3CtZ5mh)o)CdLgc0m4fdEPG&&LCBw^P{FgO_mH~-?9zsr#KP#mvO2hc zvxrHAjG%kK*wcGJjUx&SASDKl6_f~UxKWN0g>ATjcg2IUFv4DDhIegjnoVz(j4U&g z86~scmKM9#o8d5-jErZ*FY~#vuc(+mH7P|el=%H6I9dNlEq>- zCKQOK&1)^5DOO{2RMC>MI;)}kUHOZ5ySHYo%3v(oXq_V50rfescC*N3;p{hNyS_($ z<_6j1L5esaFF)`iMXdS*)BRx;MfGCI`>FhUYz4v5ql z6V~H?*!H|}6V`n|7DZcb6R+jmIa+B5D*-w%hIi}vUr*BND`6?@Q1GX~hzUw=5E#tG_8d-|q?Y7r{^tJ9yvIzVGg7UAc>DpVJI{$37J zKpTy)c84=_2JI+igw)j%EJDmdjF=*-sZBi{Y5Ne1L-ndKJ{HihqBxqi+G{X96iGlL z|G{@8Be)RJB-ucc0UeJ}_x-rqMQFffI}}py(;M-K+BG>`$TJwnFg_$_(V_dU zLeDGQZ8H51d)NtVcac%BMhudDsp>4h$Wvc*%4@ zB_<3{JjklBxfQ`oWI|$avv5WXcfRUy;5Gb@BO}I239C$V8ZsbNLdEKfQiTN%)(V`vnnc%4~>T=X>a7EQFGF(W|S5SHevO_?5Ko{=$M%3jD)D{ zgRAvU=plb*cVtH$vDiI7+ZVNeOUnF!A*G?{ysNXPic)d*;@O3vp^l7r;epdB;?oO~ z;?y*vF{5l^s_1`H6|*O@bgGM2bJ)b59V$;XrevjsF4pc`iDl90@lh#JtZh-o>?o5d zYIeq=HqH|^8`4>|x5T!IS#D%eZE=RGdGV8`EsjD9(N1%LIS@VjeEBG)kpFh0{8^hP zJw;8yiZf29$oLm!1Gf?ltM2PuuqZx{B-E7iYs@JhQQXAA2mQw3r&xPZW+JwBFm*)p zlny~C5zSLD`3o7iGvs22^zN_>I^cC4q*_4q(FB3rQ`|0j?2=CMIf5W2Km3toWM!vi zlzI=WCm25bfy1AalAaOtuDWsT+2dnRS<|d{TCMtOTt1GUUVG81S8Zwhs0QwPHSlL2 zl6yOPQ0GZmbFeV0cu8}`dWEfdIH$JCpPo~+ymb<0&)DTuEJ{tY>h-wVK8~Ayeb=g2 z!F@Wz4|c=GODFXP0G$2^7||CBNkB(Kevkr?=O9%lQ26Ma(f}5Hq)bnvvkt6}G@~@5 zCpaQkML$Sj9Q}2!bu^*H27(Y&q1#d!Y^YE4CPuN}&a=hXR_)?K$rrKtYxmE(`Pw)p zdhD|ca$}N`J%-q6Dd`n)9m^K(T@j;qNrGi#Z}EI4NT$cmQqCJos0+Lpu)rd9YxVMb z{q|J3!hW7)oXb7OYd+RTUGx2>y@&KXZBekLD7MHKhskO1B-JlWTi&yNZ=+|0$Eu$k z%}m^J@+>tyP^pl4lir0r`Z&<3I4dJT5Q855Kx$qdKm#EG;>&`pqBlw}67LtCL#LKr zP^n6%fyx4~<*FiG1V-UfAAC0&yp#+mgZ~~%Q{JqsuAZojX+>h9)otd^YNv~T;V|kw zjnyf4Jm%1wlZ@WA+aFxF>u}bxu>V$;T3G1A0dHd{&m$Qi&%i$XYT9{E^}!V4#yOG@ zxn-#*#kEy@H8v^5;jNVaaasPNc}0*Xu$t$x(A-sHcNlC;aGKT_T^V~)Ry}at+B+@{ zjds-~GH+I3hCelX>Y9z~a!p)de>>iD{Mjp9Ci%J+`P&&nMU~C)1Hcf&Ir}!q*G++s zxLxQS5{1Pd?SfIV21sPH1yE61Ks!KUYfG?yMm_;z`P__1pOuD?$VxJ=s`*pE`x!CslJ5wr>oJ+y}lyT%s!BB_805*;dH&79sLC)5WEie6Y2K2gqSDZl`=kM z0*kfyQf4Jw$@R<^E!^f19mUqN^*m>9sQUf1+|tZH#@W+S=f*-K_N$nf%=FprKVRyI zNz0rU^-RQ=91A7V@|>)4p(%P_cE#O=ljT-lo>=ZH&xX9AZ*opnkX1|7Iq3zH*P5qh zW)$#snXJ%ufpGPsoaB|xGLx<#c9?O}`6n}NPQ^}BrYr$x(!G2%> zr!KVMK$Rp|rN>f;J5Bo(?6!P5qU|vT%3c)Pch0badE&A0SC%xadgP)DLtKPqj?|r8 z?o4ln3%Y;A8_*G&Kvo5>0)u2`c_B+7F1@WH1_DY3yFQvf#;ko&!`5i?`K#NYoc!vw zZuhEF-$IndWj?=Jt~XTX2><-lWSdk0{(V+nEIZ#~zf4?zEI*C=4Br)kB`oTJhvkp! zW~`O_65UI;CT1r-cp*$5nG6r}itnyY&N8{3ZmY-W6;2F3Z*!TeoxgF(pZq>$PRf

    yCeYkMVLrHl=%La>qe!wC0sAZt2vp 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�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 diff --git a/Example/android/app/src/main/assets/fonts/Ionicons.ttf b/Example/android/app/src/main/assets/fonts/Ionicons.ttf deleted file mode 100644 index 67bd84202ad5b2e307d3b6fac1731c2a5d963e0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112472 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 Tk%-c1X!zdJ9z-96+av!M=V=Jy diff --git a/Example/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf b/Example/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf deleted file mode 100644 index 3219fca04a286ac369e63b507908d557f1a5cb9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 531476 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 z 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 PRk){_dv;toI5_wV{X%;T diff --git a/Example/android/app/src/main/assets/fonts/MaterialIcons.ttf b/Example/android/app/src/main/assets/fonts/MaterialIcons.ttf deleted file mode 100644 index 7015564ad166a3e9d88c82f17829f0cc01ebe29a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128180 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 ohyj3!`#ee%L;DTjx@8!5k5~VH0QmdE^#A|> diff --git a/Example/android/app/src/main/assets/fonts/Octicons.ttf b/Example/android/app/src/main/assets/fonts/Octicons.ttf deleted file mode 100644 index ceac75d75e6bcaf56823bacd051bd9f135af6f4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28364 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 Kj_>Q2Zu>vsTUp2e diff --git a/Example/android/app/src/main/assets/fonts/Zocial.ttf b/Example/android/app/src/main/assets/fonts/Zocial.ttf deleted file mode 100644 index e4ae46c6286b2d6c6676b0c3192fc92876778498..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25552 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 getPackages() { - return Arrays.asList(new MainReactPackage(), - new RNCMaskedViewPackage(), - new ReanimatedPackage(), - new RNScreensPackage(), - new RNCViewPagerPackage(), new VectorIconsPackage(), new FastImageViewPackage(), - new LinearGradientPackage(), new BlurViewPackage(), new PhotoViewPackage(), new RNGestureHandlerPackage(), - new RNSharedElementPackage()); - } - - @Override - protected String getJSMainModuleName() { - return "index"; - } - }; - - @Override - public ReactNativeHost getReactNativeHost() { - return mReactNativeHost; - } - - @Override - public void onCreate() { - super.onCreate(); - SoLoader.init(this, /* native exopackage */ false); - } -} diff --git a/Example/android/app/src/main/java/com/ijzerenhein/sharedelement/example/MainActivity.java b/Example/android/app/src/main/java/com/sharedelementexample/MainActivity.java similarity index 95% rename from Example/android/app/src/main/java/com/ijzerenhein/sharedelement/example/MainActivity.java rename to Example/android/app/src/main/java/com/sharedelementexample/MainActivity.java index de06d69..d01fe71 100644 --- a/Example/android/app/src/main/java/com/ijzerenhein/sharedelement/example/MainActivity.java +++ b/Example/android/app/src/main/java/com/sharedelementexample/MainActivity.java @@ -1,4 +1,4 @@ -package com.ijzerenhein.sharedelement.example; +package com.sharedelementexample; import com.facebook.react.ReactActivity; diff --git a/Example/android/app/src/main/java/com/sharedelementexample/MainApplication.java b/Example/android/app/src/main/java/com/sharedelementexample/MainApplication.java new file mode 100644 index 0000000..8ff5d5c --- /dev/null +++ b/Example/android/app/src/main/java/com/sharedelementexample/MainApplication.java @@ -0,0 +1,74 @@ +package com.sharedelementexample; + +import android.app.Application; +import android.content.Context; +import com.facebook.react.PackageList; +import com.facebook.react.ReactApplication; +import com.facebook.react.ReactNativeHost; +import com.facebook.react.ReactPackage; +import com.facebook.soloader.SoLoader; +import java.lang.reflect.InvocationTargetException; +import java.util.List; + +public class MainApplication extends Application implements ReactApplication { + + private final ReactNativeHost mReactNativeHost = + new ReactNativeHost(this) { + @Override + public boolean getUseDeveloperSupport() { + return BuildConfig.DEBUG; + } + + @Override + protected List getPackages() { + @SuppressWarnings("UnnecessaryLocalVariable") + List packages = new PackageList(this).getPackages(); + // Packages that cannot be autolinked yet can be added manually here, for example: + // packages.add(new MyReactNativePackage()); + return packages; + } + + @Override + protected String getJSMainModuleName() { + return "index"; + } + }; + + @Override + public ReactNativeHost getReactNativeHost() { + return mReactNativeHost; + } + + @Override + public void onCreate() { + super.onCreate(); + SoLoader.init(this, /* native exopackage */ false); + initializeFlipper(this); // Remove this line if you don't want Flipper enabled + } + + /** + * Loads Flipper in React Native templates. + * + * @param context + */ + private static void initializeFlipper(Context context) { + if (BuildConfig.DEBUG) { + try { + /* + We use reflection here to pick up the class that initializes Flipper, + since Flipper library is not available in release mode + */ + Class aClass = Class.forName("com.facebook.flipper.ReactNativeFlipper"); + aClass.getMethod("initializeFlipper", Context.class).invoke(null, context); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + } + } +} diff --git a/Example/android/app/src/main/res/values/styles.xml b/Example/android/app/src/main/res/values/styles.xml index 319eb0c..62fe59f 100644 --- a/Example/android/app/src/main/res/values/styles.xml +++ b/Example/android/app/src/main/res/values/styles.xml @@ -3,6 +3,7 @@ diff --git a/Example/android/build.gradle b/Example/android/build.gradle index fba9fa0..28f7ec6 100644 --- a/Example/android/build.gradle +++ b/Example/android/build.gradle @@ -3,47 +3,36 @@ buildscript { ext { buildToolsVersion = "28.0.3" - minSdkVersion = 21 + minSdkVersion = 16 compileSdkVersion = 28 targetSdkVersion = 28 - supportLibVersion = "28.0.0" } repositories { google() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.2' + classpath("com.android.tools.build:gradle:3.4.2") // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } -subprojects { - afterEvaluate {project -> - if (project.hasProperty("android")) { - android { - compileSdkVersion rootProject.ext.compileSdkVersion - buildToolsVersion rootProject.ext.buildToolsVersion - } - } - } -} - allprojects { repositories { mavenLocal() - google() - jcenter() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm - url "$rootDir/../node_modules/react-native/android" + url("$rootDir/../node_modules/react-native/android") + } + maven { + // Android JSC is installed from npm + url("$rootDir/../node_modules/jsc-android/dist") } - } -} -task wrapper(type: Wrapper) { - gradleVersion = '4.10' - distributionUrl = distributionUrl.replace("bin", "all") + google() + jcenter() + maven { url 'https://jitpack.io' } + } } diff --git a/Example/android/gradle.properties b/Example/android/gradle.properties index 89e0d99..027ef9d 100644 --- a/Example/android/gradle.properties +++ b/Example/android/gradle.properties @@ -16,3 +16,6 @@ # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true + +android.useAndroidX=true +android.enableJetifier=true diff --git a/Example/android/gradle/wrapper/gradle-wrapper.properties b/Example/android/gradle/wrapper/gradle-wrapper.properties index d76b502..e0c4de3 100644 --- a/Example/android/gradle/wrapper/gradle-wrapper.properties +++ b/Example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.5-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/Example/android/keystores/BUCK b/Example/android/keystores/BUCK deleted file mode 100644 index 88e4c31..0000000 --- a/Example/android/keystores/BUCK +++ /dev/null @@ -1,8 +0,0 @@ -keystore( - name = "debug", - properties = "debug.keystore.properties", - store = "debug.keystore", - visibility = [ - "PUBLIC", - ], -) diff --git a/Example/android/keystores/debug.keystore.properties b/Example/android/keystores/debug.keystore.properties deleted file mode 100644 index 121bfb4..0000000 --- a/Example/android/keystores/debug.keystore.properties +++ /dev/null @@ -1,4 +0,0 @@ -key.store=debug.keystore -key.alias=androiddebugkey -key.store.password=android -key.alias.password=android diff --git a/Example/android/settings.gradle b/Example/android/settings.gradle index 8097efd..e9d0a5a 100644 --- a/Example/android/settings.gradle +++ b/Example/android/settings.gradle @@ -1,25 +1,3 @@ rootProject.name = 'SharedElementExample' -include ':@react-native-community_masked-view' -project(':@react-native-community_masked-view').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/masked-view/android') -include ':react-native-reanimated' -project(':react-native-reanimated').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-reanimated/android') -include ':react-native-screens' -project(':react-native-screens').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-screens/android') -include ':@react-native-community_viewpager' -project(':@react-native-community_viewpager').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/viewpager/android') -include ':react-native-vector-icons' -project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android') -include ':react-native-fast-image' -project(':react-native-fast-image').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-fast-image/android') -include ':react-native-linear-gradient' -project(':react-native-linear-gradient').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-linear-gradient/android') -include ':@react-native-community_blur' -project(':@react-native-community_blur').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/blur/android') -include ':react-native-photo-view' -project(':react-native-photo-view').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-photo-view/android') -include ':react-native-gesture-handler' -project(':react-native-gesture-handler').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-gesture-handler/android') -include ':react-native-shared-element' -project(':react-native-shared-element').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-shared-element/android') - +apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':app' diff --git a/Example/babel.config.js b/Example/babel.config.js index b62027c..f842b77 100644 --- a/Example/babel.config.js +++ b/Example/babel.config.js @@ -1,3 +1,3 @@ module.exports = { - presets: ["module:metro-react-native-babel-preset"] + presets: ['module:metro-react-native-babel-preset'], }; diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/Contents.json b/Example/ios/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100755 index 14225f5..0000000 --- a/Example/ios/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "40.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "60.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "29.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "58.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "87.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "80.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "120.png", - "scale" : "3x" - }, - { - "size" : "57x57", - "idiom" : "iphone", - "filename" : "57.png", - "scale" : "1x" - }, - { - "size" : "57x57", - "idiom" : "iphone", - "filename" : "114.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "120.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "180.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "20.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "40.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "29.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "58.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "40.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "80.png", - "scale" : "2x" - }, - { - "size" : "50x50", - "idiom" : "ipad", - "filename" : "50.png", - "scale" : "1x" - }, - { - "size" : "50x50", - "idiom" : "ipad", - "filename" : "100.png", - "scale" : "2x" - }, - { - "size" : "72x72", - "idiom" : "ipad", - "filename" : "72.png", - "scale" : "1x" - }, - { - "size" : "72x72", - "idiom" : "ipad", - "filename" : "144.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "76.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "152.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "167.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "1024.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Example/ios/Podfile b/Example/ios/Podfile new file mode 100644 index 0000000..87c07b8 --- /dev/null +++ b/Example/ios/Podfile @@ -0,0 +1,53 @@ +platform :ios, '9.0' +require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' + +target 'SharedElementExample' do + # Pods for SharedElementExample + pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector" + pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec" + pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired" + pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety" + pod 'React', :path => '../node_modules/react-native/' + pod 'React-Core', :path => '../node_modules/react-native/' + pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules' + pod 'React-Core/DevSupport', :path => '../node_modules/react-native/' + pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS' + pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation' + pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob' + pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image' + pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS' + pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network' + pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings' + pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text' + pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration' + pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/' + + pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact' + pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi' + pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor' + pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector' + pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon" + pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon" + pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga' + + pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec' + pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec' + pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec' + + target 'SharedElementExampleTests' do + inherit! :search_paths + # Pods for testing + end + + use_native_modules! +end + +target 'SharedElementExample-tvOS' do + # Pods for SharedElementExample-tvOS + + target 'SharedElementExample-tvOSTests' do + inherit! :search_paths + # Pods for testing + end + +end diff --git a/Example/ios/Podfile.lock b/Example/ios/Podfile.lock new file mode 100644 index 0000000..cbbe776 --- /dev/null +++ b/Example/ios/Podfile.lock @@ -0,0 +1,427 @@ +PODS: + - boost-for-react-native (1.63.0) + - BVLinearGradient (2.5.6): + - React + - DoubleConversion (1.1.6) + - FBLazyVector (0.61.1) + - FBReactNativeSpec (0.61.1): + - Folly (= 2018.10.22.00) + - RCTRequired (= 0.61.1) + - RCTTypeSafety (= 0.61.1) + - React-Core (= 0.61.1) + - React-jsi (= 0.61.1) + - ReactCommon/turbomodule/core (= 0.61.1) + - Folly (2018.10.22.00): + - boost-for-react-native + - DoubleConversion + - Folly/Default (= 2018.10.22.00) + - glog + - Folly/Default (2018.10.22.00): + - boost-for-react-native + - DoubleConversion + - glog + - glog (0.3.5) + - libwebp (1.0.3): + - libwebp/demux (= 1.0.3) + - libwebp/mux (= 1.0.3) + - libwebp/webp (= 1.0.3) + - libwebp/demux (1.0.3): + - libwebp/webp + - libwebp/mux (1.0.3): + - libwebp/demux + - libwebp/webp (1.0.3) + - RCTRequired (0.61.1) + - RCTTypeSafety (0.61.1): + - FBLazyVector (= 0.61.1) + - Folly (= 2018.10.22.00) + - RCTRequired (= 0.61.1) + - React-Core (= 0.61.1) + - React (0.61.1): + - React-Core (= 0.61.1) + - React-Core/DevSupport (= 0.61.1) + - React-Core/RCTWebSocket (= 0.61.1) + - React-RCTActionSheet (= 0.61.1) + - React-RCTAnimation (= 0.61.1) + - React-RCTBlob (= 0.61.1) + - React-RCTImage (= 0.61.1) + - React-RCTLinking (= 0.61.1) + - React-RCTNetwork (= 0.61.1) + - React-RCTSettings (= 0.61.1) + - React-RCTText (= 0.61.1) + - React-RCTVibration (= 0.61.1) + - React-Core (0.61.1): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default (= 0.61.1) + - React-cxxreact (= 0.61.1) + - React-jsi (= 0.61.1) + - React-jsiexecutor (= 0.61.1) + - Yoga + - React-Core/CoreModulesHeaders (0.61.1): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.1) + - React-jsi (= 0.61.1) + - React-jsiexecutor (= 0.61.1) + - Yoga + - React-Core/Default (0.61.1): + - Folly (= 2018.10.22.00) + - glog + - React-cxxreact (= 0.61.1) + - React-jsi (= 0.61.1) + - React-jsiexecutor (= 0.61.1) + - Yoga + - React-Core/DevSupport (0.61.1): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default (= 0.61.1) + - React-Core/RCTWebSocket (= 0.61.1) + - React-cxxreact (= 0.61.1) + - React-jsi (= 0.61.1) + - React-jsiexecutor (= 0.61.1) + - React-jsinspector (= 0.61.1) + - Yoga + - React-Core/RCTActionSheetHeaders (0.61.1): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.1) + - React-jsi (= 0.61.1) + - React-jsiexecutor (= 0.61.1) + - Yoga + - React-Core/RCTAnimationHeaders (0.61.1): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.1) + - React-jsi (= 0.61.1) + - React-jsiexecutor (= 0.61.1) + - Yoga + - React-Core/RCTBlobHeaders (0.61.1): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.1) + - React-jsi (= 0.61.1) + - React-jsiexecutor (= 0.61.1) + - Yoga + - React-Core/RCTImageHeaders (0.61.1): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.1) + - React-jsi (= 0.61.1) + - React-jsiexecutor (= 0.61.1) + - Yoga + - React-Core/RCTLinkingHeaders (0.61.1): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.1) + - React-jsi (= 0.61.1) + - React-jsiexecutor (= 0.61.1) + - Yoga + - React-Core/RCTNetworkHeaders (0.61.1): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.1) + - React-jsi (= 0.61.1) + - React-jsiexecutor (= 0.61.1) + - Yoga + - React-Core/RCTSettingsHeaders (0.61.1): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.1) + - React-jsi (= 0.61.1) + - React-jsiexecutor (= 0.61.1) + - Yoga + - React-Core/RCTTextHeaders (0.61.1): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.1) + - React-jsi (= 0.61.1) + - React-jsiexecutor (= 0.61.1) + - Yoga + - React-Core/RCTVibrationHeaders (0.61.1): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default + - React-cxxreact (= 0.61.1) + - React-jsi (= 0.61.1) + - React-jsiexecutor (= 0.61.1) + - Yoga + - React-Core/RCTWebSocket (0.61.1): + - Folly (= 2018.10.22.00) + - glog + - React-Core/Default (= 0.61.1) + - React-cxxreact (= 0.61.1) + - React-jsi (= 0.61.1) + - React-jsiexecutor (= 0.61.1) + - Yoga + - React-CoreModules (0.61.1): + - FBReactNativeSpec (= 0.61.1) + - Folly (= 2018.10.22.00) + - RCTTypeSafety (= 0.61.1) + - React-Core/CoreModulesHeaders (= 0.61.1) + - React-RCTImage (= 0.61.1) + - ReactCommon/turbomodule/core (= 0.61.1) + - React-cxxreact (0.61.1): + - boost-for-react-native (= 1.63.0) + - DoubleConversion + - Folly (= 2018.10.22.00) + - glog + - React-jsinspector (= 0.61.1) + - React-jsi (0.61.1): + - boost-for-react-native (= 1.63.0) + - DoubleConversion + - Folly (= 2018.10.22.00) + - glog + - React-jsi/Default (= 0.61.1) + - React-jsi/Default (0.61.1): + - boost-for-react-native (= 1.63.0) + - DoubleConversion + - Folly (= 2018.10.22.00) + - glog + - React-jsiexecutor (0.61.1): + - DoubleConversion + - Folly (= 2018.10.22.00) + - glog + - React-cxxreact (= 0.61.1) + - React-jsi (= 0.61.1) + - React-jsinspector (0.61.1) + - react-native-blur (0.8.0): + - React + - react-native-photo-view (1.5.2): + - React + - React-RCTActionSheet (0.61.1): + - React-Core/RCTActionSheetHeaders (= 0.61.1) + - React-RCTAnimation (0.61.1): + - React-Core/RCTAnimationHeaders (= 0.61.1) + - React-RCTBlob (0.61.1): + - React-Core/RCTBlobHeaders (= 0.61.1) + - React-Core/RCTWebSocket (= 0.61.1) + - React-jsi (= 0.61.1) + - React-RCTNetwork (= 0.61.1) + - React-RCTImage (0.61.1): + - React-Core/RCTImageHeaders (= 0.61.1) + - React-RCTNetwork (= 0.61.1) + - React-RCTLinking (0.61.1): + - React-Core/RCTLinkingHeaders (= 0.61.1) + - React-RCTNetwork (0.61.1): + - React-Core/RCTNetworkHeaders (= 0.61.1) + - React-RCTSettings (0.61.1): + - React-Core/RCTSettingsHeaders (= 0.61.1) + - React-RCTText (0.61.1): + - React-Core/RCTTextHeaders (= 0.61.1) + - React-RCTVibration (0.61.1): + - React-Core/RCTVibrationHeaders (= 0.61.1) + - ReactCommon/jscallinvoker (0.61.1): + - DoubleConversion + - Folly (= 2018.10.22.00) + - glog + - React-cxxreact (= 0.61.1) + - ReactCommon/turbomodule/core (0.61.1): + - DoubleConversion + - Folly (= 2018.10.22.00) + - glog + - React-Core (= 0.61.1) + - React-cxxreact (= 0.61.1) + - React-jsi (= 0.61.1) + - ReactCommon/jscallinvoker (= 0.61.1) + - RNCMaskedView (0.1.1): + - React + - RNCViewpager (1.1.7): + - React + - RNFastImage (7.0.2): + - React + - SDWebImage (~> 5.0) + - SDWebImageWebPCoder (~> 0.2.3) + - RNGestureHandler (1.4.1): + - React + - RNReanimated (1.3.0): + - React + - RNScreens (1.0.0-alpha.22): + - React + - RNSharedElement (0.5.1-afc5148e): + - React + - RNVectorIcons (6.6.0): + - React + - SDWebImage (5.2.0): + - SDWebImage/Core (= 5.2.0) + - SDWebImage/Core (5.2.0) + - SDWebImageWebPCoder (0.2.4): + - libwebp (~> 1.0) + - SDWebImage/Core (~> 5.0) + - Yoga (1.14.0) + +DEPENDENCIES: + - BVLinearGradient (from `../node_modules/react-native-linear-gradient`) + - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) + - FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`) + - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`) + - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) + - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../node_modules/react-native/`) + - React-Core (from `../node_modules/react-native/`) + - React-Core/DevSupport (from `../node_modules/react-native/`) + - React-Core/RCTWebSocket (from `../node_modules/react-native/`) + - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) + - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) + - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) + - "react-native-blur (from `../node_modules/@react-native-community/blur`)" + - react-native-photo-view (from `../node_modules/react-native-photo-view`) + - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) + - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - ReactCommon/jscallinvoker (from `../node_modules/react-native/ReactCommon`) + - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)" + - "RNCViewpager (from `../node_modules/@react-native-community/viewpager`)" + - RNFastImage (from `../node_modules/react-native-fast-image`) + - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) + - RNReanimated (from `../node_modules/react-native-reanimated`) + - RNScreens (from `../node_modules/react-native-screens`) + - RNSharedElement (from `../node_modules/react-native-shared-element`) + - RNVectorIcons (from `../node_modules/react-native-vector-icons`) + - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) + +SPEC REPOS: + https://github.com/cocoapods/specs.git: + - boost-for-react-native + - libwebp + - SDWebImage + - SDWebImageWebPCoder + +EXTERNAL SOURCES: + BVLinearGradient: + :path: "../node_modules/react-native-linear-gradient" + DoubleConversion: + :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + FBLazyVector: + :path: "../node_modules/react-native/Libraries/FBLazyVector" + FBReactNativeSpec: + :path: "../node_modules/react-native/Libraries/FBReactNativeSpec" + Folly: + :podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec" + glog: + :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" + RCTRequired: + :path: "../node_modules/react-native/Libraries/RCTRequired" + RCTTypeSafety: + :path: "../node_modules/react-native/Libraries/TypeSafety" + React: + :path: "../node_modules/react-native/" + React-Core: + :path: "../node_modules/react-native/" + React-CoreModules: + :path: "../node_modules/react-native/React/CoreModules" + React-cxxreact: + :path: "../node_modules/react-native/ReactCommon/cxxreact" + React-jsi: + :path: "../node_modules/react-native/ReactCommon/jsi" + React-jsiexecutor: + :path: "../node_modules/react-native/ReactCommon/jsiexecutor" + React-jsinspector: + :path: "../node_modules/react-native/ReactCommon/jsinspector" + react-native-blur: + :path: "../node_modules/@react-native-community/blur" + react-native-photo-view: + :path: "../node_modules/react-native-photo-view" + React-RCTActionSheet: + :path: "../node_modules/react-native/Libraries/ActionSheetIOS" + React-RCTAnimation: + :path: "../node_modules/react-native/Libraries/NativeAnimation" + React-RCTBlob: + :path: "../node_modules/react-native/Libraries/Blob" + React-RCTImage: + :path: "../node_modules/react-native/Libraries/Image" + React-RCTLinking: + :path: "../node_modules/react-native/Libraries/LinkingIOS" + React-RCTNetwork: + :path: "../node_modules/react-native/Libraries/Network" + React-RCTSettings: + :path: "../node_modules/react-native/Libraries/Settings" + React-RCTText: + :path: "../node_modules/react-native/Libraries/Text" + React-RCTVibration: + :path: "../node_modules/react-native/Libraries/Vibration" + ReactCommon: + :path: "../node_modules/react-native/ReactCommon" + RNCMaskedView: + :path: "../node_modules/@react-native-community/masked-view" + RNCViewpager: + :path: "../node_modules/@react-native-community/viewpager" + RNFastImage: + :path: "../node_modules/react-native-fast-image" + RNGestureHandler: + :path: "../node_modules/react-native-gesture-handler" + RNReanimated: + :path: "../node_modules/react-native-reanimated" + RNScreens: + :path: "../node_modules/react-native-screens" + RNSharedElement: + :path: "../node_modules/react-native-shared-element" + RNVectorIcons: + :path: "../node_modules/react-native-vector-icons" + Yoga: + :path: "../node_modules/react-native/ReactCommon/yoga" + +SPEC CHECKSUMS: + boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c + BVLinearGradient: e3aad03778a456d77928f594a649e96995f1c872 + DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2 + FBLazyVector: 0846affdb2924b01093eb696766ecb0104e409e0 + FBReactNativeSpec: c4cf958af1b97799b524f63a26a1c509c0295b04 + Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51 + glog: 1f3da668190260b06b429bb211bfbee5cd790c28 + libwebp: 057912d6d0abfb6357d8bb05c0ea470301f5d61e + RCTRequired: 53825815218847d3e9c7b6d92ad2d197a926d51e + RCTTypeSafety: d886540c518e53064dfa081bf7693fd650699b92 + React: 5dea58967c421bd1fdf6b94c18b9ed0f5134683c + React-Core: b381e65aa0da9b94b9dcdc4a99298075b1c3876c + React-CoreModules: 4ed224e29848ba76d26aacb8e3fe85712d3c4fe1 + React-cxxreact: 52c98f5c1fb4e4d9f4b588742718350a55f4f088 + React-jsi: 61ff417c95e6c3af50fb96399037e80752fb5ce7 + React-jsiexecutor: ee45274419eb95614bbbadb98e20684c5f29996e + React-jsinspector: 574d597112f9ea3d1b717f6fb62aef764c70dd6f + react-native-blur: cad4d93b364f91e7b7931b3fa935455487e5c33c + react-native-photo-view: 63e9e61da873531f931008b545d8d10c5373ddf8 + React-RCTActionSheet: af4d951113b1e068bb30611f91b984a7a73597ff + React-RCTAnimation: 4f518d70bb6890b7c3d9d732f84786d6693ca297 + React-RCTBlob: 072a4888c08de0eef6d04eaa727d25e577e6ff26 + React-RCTImage: 78c5cdf1b2de6cd3cd650dd741868fad19a35528 + React-RCTLinking: 486ed1c9a659c7f9fea213868f8930b9a0a79f07 + React-RCTNetwork: e79599f3160b459da03447e32b8bcca1a0f0f797 + React-RCTSettings: 48b7c5a64ffe0c54c39d59eb7d9036e72305f95a + React-RCTText: 81b62b4e7f11531a5154e4daa5617670d5a2d5de + React-RCTVibration: 8be61459e3749d1fb02cf414edd05b3007622882 + ReactCommon: 4fba5be89efdf0b5720e0adb3d8d7edf6e532db0 + RNCMaskedView: b79e193409a90bf6b5170d421684f437ff4e2278 + RNCViewpager: d11d720f0c6fbd2024788d09108a9f7abb1fac5a + RNFastImage: 9b0c22643872bb7494c8d87bbbb66cc4c0d9e7a2 + RNGestureHandler: 4cb47a93019c1a201df2644413a0a1569a51c8aa + RNReanimated: 6abbbae2e5e72609d85aabd92a982a94566885f1 + RNScreens: 720a9e6968beb73e8196239801e887d8401f86ed + RNSharedElement: b1b51f1c74d6c3d38050bc2fa9d749fca66da493 + RNVectorIcons: 0bb4def82230be1333ddaeee9fcba45f0b288ed4 + SDWebImage: 609192dcf3898c910a2848032372ead951e66364 + SDWebImageWebPCoder: cc72085bb20368b2f8dbb21b7e355c667e1309b7 + Yoga: d8c572ddec8d05b7dba08e4e5f1924004a177078 + +PODFILE CHECKSUM: 81f7731cb756db1fa10c869abd397c4b00f1f1dc + +COCOAPODS: 1.7.5 diff --git a/Example/ios/SharedElementExample-tvOS/Info.plist b/Example/ios/SharedElementExample-tvOS/Info.plist index 2fb6a11..ecbd496 100644 --- a/Example/ios/SharedElementExample-tvOS/Info.plist +++ b/Example/ios/SharedElementExample-tvOS/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -22,6 +22,19 @@ 1 LSRequiresIPhoneOS + NSAppTransportSecurity + + NSExceptionDomains + + localhost + + NSExceptionAllowsInsecureHTTPLoads + + + + + NSLocationWhenInUseUsageDescription + UILaunchStoryboardName LaunchScreen UIRequiredDeviceCapabilities @@ -36,19 +49,5 @@ UIViewControllerBasedStatusBarAppearance - NSLocationWhenInUseUsageDescription - - NSAppTransportSecurity - - - NSExceptionDomains - - localhost - - NSExceptionAllowsInsecureHTTPLoads - - - - diff --git a/Example/ios/SharedElementExample.xcodeproj/project.pbxproj b/Example/ios/SharedElementExample.xcodeproj/project.pbxproj index d7a4d97..e38ce80 100644 --- a/Example/ios/SharedElementExample.xcodeproj/project.pbxproj +++ b/Example/ios/SharedElementExample.xcodeproj/project.pbxproj @@ -7,108 +7,22 @@ objects = { /* Begin PBXBuildFile section */ - 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; - 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; - 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; }; - 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; }; - 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; }; 00E356F31AD99517003FC87E /* SharedElementExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* SharedElementExampleTests.m */; }; - 11D1A2F320CAFA9E000508D9 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; - 1216DF4DC3FB4599A64E1029 /* libRNGestureHandler-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 203FB401CBE343E8B8F4C4CC /* libRNGestureHandler-tvOS.a */; }; - 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; }; - 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; }; - 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; }; + 035FC4E7D255FD44DE9CBA15 /* libPods-SharedElementExample-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CE4B967C01E585108A266AA5 /* libPods-SharedElementExample-tvOSTests.a */; }; 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; - 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; - 18F0CF2C27A8430D8D7617F0 /* AntDesign.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7CDF4D314D044F3191911AE6 /* AntDesign.ttf */; }; - 2139DDBA231E738D00E495B6 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2139DDB9231E738D00E495B6 /* Assets.xcassets */; }; - 21692B186DCA472F9AEF3D62 /* libRNBlur.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AF4C4D22C6A44BF7A4075594 /* libRNBlur.a */; }; - 2522CEC599E9408F97D865F3 /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EFAB3348A09F4442A2835CE5 /* MaterialIcons.ttf */; }; 2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; - 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */; }; - 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */; }; - 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */; }; - 2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */; }; - 2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */; }; - 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */; }; - 2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D16E6891FA4F8E400B85C8A /* libReact.a */; }; 2DCD954D1E0B4F2C00145EB5 /* SharedElementExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* SharedElementExampleTests.m */; }; - 2DF0FFEE2056DD460020B375 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3EA31DF850E9000B6D8A /* libReact.a */; }; - 48DCFB901AE946CDA32DCED7 /* libRNScreens-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 40A0D5B9C4DD41EE9A3F3F50 /* libRNScreens-tvOS.a */; }; - 4A31EF8534FD4B7F84D6B4DF /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 395E2FF7274048A4A8C67469 /* Zocial.ttf */; }; - 4C4BE5C4E53F4607992C72D0 /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 055F22692F3442D0BCC814E8 /* FontAwesome.ttf */; }; - 4EEC74689709427E81DD90ED /* libRNCViewpager.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B66C9185FAF4F21B10C5629 /* libRNCViewpager.a */; }; - 505EC3402B30423DB1945823 /* libRNCMaskedView.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68908B42ED7D420595A5EBC2 /* libRNCMaskedView.a */; }; - 59248D79F69849E7ABDD7C44 /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = E00EAAD2016C46799307D7DE /* EvilIcons.ttf */; }; - 7683BDF454E24C76809E365B /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6A2F7D154F4F4804B2F8928D /* MaterialCommunityIcons.ttf */; }; - 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; - 87C0E706FEB04001B86A292F /* FontAwesome5_Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 8CF9E5A7C04D404C95157546 /* FontAwesome5_Regular.ttf */; }; - 8C35CE2E85AF4276B0A97B72 /* libRNPhotoView.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3363DA62B6D04605B484CB5B /* libRNPhotoView.a */; }; - 8E6C9C43ECFF405297375CC6 /* libRNVectorIcons-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E9006CB4D507499E975A5143 /* libRNVectorIcons-tvOS.a */; }; - 909A1FBB6D484FFEA83DB54A /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 389EFCBC785D463191E7E1AF /* Foundation.ttf */; }; - 9FC9DA6688E441FEB6F3EB69 /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D776D9959C843D8A695E5D3 /* libRNVectorIcons.a */; }; - A2A922D6FC8343F996C53832 /* libRNScreens.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 193E2E61C1AD4BE5AF1E8905 /* libRNScreens.a */; }; - ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; }; - B3F022F5276A4D63B765AF2A /* libRNSharedElement.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F4943BBA6A6E427AA2A870F5 /* libRNSharedElement.a */; }; - BCAD74040E1F4055BBBE0A30 /* FontAwesome5_Solid.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 15259881155F4AF581574945 /* FontAwesome5_Solid.ttf */; }; - C02CCE06F2814A238379F3EF /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 653EC5F9667D4C208DF245C5 /* Ionicons.ttf */; }; - C1208AF78A294B8A8F72B9FE /* libFastImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4368188EF99646AF87E590F0 /* libFastImage.a */; }; - C12CFA36C5D843BDB5515A0C /* libRNReanimated-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 959D1D9ECF30496088470DCD /* libRNReanimated-tvOS.a */; }; - CCC883E812344291B1C31E75 /* Feather.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 25C0819982F04985AAFED357 /* Feather.ttf */; }; - D70D4BFDF7BD4339BDD1444B /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B7567BC3A2D2460F9A062BB3 /* Octicons.ttf */; }; - DE8885761638493891BD48EE /* libRNGestureHandler.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 39545F727FA349A6A4FBB239 /* libRNGestureHandler.a */; }; - ED297163215061F000B7C4FE /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED297162215061F000B7C4FE /* JavaScriptCore.framework */; }; - ED2971652150620600B7C4FE /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED2971642150620600B7C4FE /* JavaScriptCore.framework */; }; - EE06EAEA38D74599B752CA66 /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 9047D87926D04CBDACB2508C /* SimpleLineIcons.ttf */; }; - EE4B227446AC428C85755245 /* libRNReanimated.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68160D85844D4713A7BAE648 /* libRNReanimated.a */; }; - F5B2F3349043471D84564FD5 /* FontAwesome5_Brands.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 907019825731498C8D8A4BFA /* FontAwesome5_Brands.ttf */; }; - FBF66275368C4BB0997A941E /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 12C6408B98B24D30BB9F964C /* Entypo.ttf */; }; - FE8DA9849711489482C42A19 /* libBVLinearGradient.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B259D8A82DB486CA739825F /* libBVLinearGradient.a */; }; + 68F2ED9354CCF93C354306E1 /* libPods-SharedElementExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9FED1028B1A2A414045EBCBB /* libPods-SharedElementExample.a */; }; + 765388FD046A65E78E0807BE /* libPods-SharedElementExampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2127C525476B105F82C56161 /* libPods-SharedElementExampleTests.a */; }; + EF1602D4AE52759E3DAF2631 /* libPods-SharedElementExample-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 85999770519E14B6D27B3931 /* libPods-SharedElementExample-tvOS.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTActionSheet; - }; - 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTGeolocation; - }; - 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B5115D1A9E6B3D00147676; - remoteInfo = RCTImage; - }; - 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B511DB1A9E6C8500147676; - remoteInfo = RCTNetwork; - }; - 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 832C81801AAF6DEF007FA2F7; - remoteInfo = RCTVibration; - }; 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; @@ -116,174 +30,6 @@ remoteGlobalIDString = 13B07F861A680F5B00A75B9A; remoteInfo = SharedElementExample; }; - 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTSettings; - }; - 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3C86DF461ADF2C930047B81A; - remoteInfo = RCTWebSocket; - }; - 146834031AC3E56700842450 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; - remoteInfo = React; - }; - 21343F3A22E06EC600A4C52F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 17E869055E144DFBBD16BC31 /* FastImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = FD751C4D229EB44C002BE1F4; - remoteInfo = "FastImage-tvOS"; - }; - 21343F6C22E06EC600A4C52F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1574D438566E49F0955B1354 /* RNCViewpager.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RNCViewpager; - }; - 2139DDB4231E50AF00E495B6 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 2139DDB0231E50AF00E495B6 /* RNSharedElement.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RNSharedElement; - }; - 214D6E6322B8BA1400227ED9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EDEBC6D6214B3E7000DD5AC8; - remoteInfo = jsi; - }; - 214D6E6522B8BA1400227ED9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EDEBC73B214B45A300DD5AC8; - remoteInfo = jsiexecutor; - }; - 214D6E6722B8BA1400227ED9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = ED296FB6214C9A0900B7C4FE; - remoteInfo = "jsi-tvOS"; - }; - 214D6E6922B8BA1400227ED9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = ED296FEE214C9CF800B7C4FE; - remoteInfo = "jsiexecutor-tvOS"; - }; - 214D6EA722B8BB6200227ED9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BA24A214F56E43D58E8007F2 /* RNGestureHandler.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RNGestureHandler; - }; - 214D6EA922B8BB6200227ED9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BA24A214F56E43D58E8007F2 /* RNGestureHandler.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = B5C32A36220C603B000FFB8D; - remoteInfo = "RNGestureHandler-tvOS"; - }; - 2163AC3722BA59B5005F554D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AA4E25E84DAA4321A8DEE086 /* RNPhotoView.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RNPhotoView; - }; - 2163AC7522BA820B005F554D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 65F1019574F44A8E9B5F6A9A /* RNBlur.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A68BD7BC1BC31318005F02DF; - remoteInfo = RNBlur; - }; - 2163AC7722BA820B005F554D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 65F1019574F44A8E9B5F6A9A /* RNBlur.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 64D1BD361EEFE88700F3F219; - remoteInfo = "RNBlur-tvOS"; - }; - 2163ACB822BA9229005F554D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C2423839FC1B44FBACDFBA79 /* BVLinearGradient.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = BVLinearGradient; - }; - 2163ACBA22BA9229005F554D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C2423839FC1B44FBACDFBA79 /* BVLinearGradient.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 64AA15081EF7F30100718508; - remoteInfo = "BVLinearGradient-tvOS"; - }; - 2163ACFE22BA9AB8005F554D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 17E869055E144DFBBD16BC31 /* FastImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A287971D1DE0C0A60081BDFA; - remoteInfo = FastImage; - }; - 2163AD4522BAB187005F554D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 7D11F59FF6C3452F81F271E3 /* RNVectorIcons.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 5DBEB1501B18CEA900B34395; - remoteInfo = RNVectorIcons; - }; - 2163AD4722BAB187005F554D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 7D11F59FF6C3452F81F271E3 /* RNVectorIcons.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A39873CE1EA65EE60051E01A; - remoteInfo = "RNVectorIcons-tvOS"; - }; - 216C7DA122E7459000F5D36D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = DAE4955F5DAC44D4BA752463 /* RNScreens.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RNScreens; - }; - 21ECCB0A230EC82B005EACDD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 80995B218A4744D4B3E531E7 /* RNReanimated.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RNReanimated; - }; - 21ECCB0C230EC82B005EACDD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 80995B218A4744D4B3E531E7 /* RNReanimated.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = FDBB176E229BF04900D1E455; - remoteInfo = "RNReanimated-tvOS"; - }; - 21ECCB5D230EC8D8005EACDD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 451F4F7E09AA46D7ACA1E4A8 /* RNCMaskedView.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RNCMaskedView; - }; 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; @@ -291,197 +37,14 @@ remoteGlobalIDString = 2D02E47A1E0B4A5D006451C7; remoteInfo = "SharedElementExample-tvOS"; }; - 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = ADD01A681E09402E00F6D226; - remoteInfo = "RCTBlob-tvOS"; - }; - 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3DBE0D001F3B181A0099AA32; - remoteInfo = fishhook; - }; - 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3DBE0D0D1F3B181C0099AA32; - remoteInfo = "fishhook-tvOS"; - }; - 2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EBF21BDC1FC498900052F4D5; - remoteInfo = jsinspector; - }; - 2DF0FFE02056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EBF21BFA1FC4989A0052F4D5; - remoteInfo = "jsinspector-tvOS"; - }; - 2DF0FFE22056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 139D7ECE1E25DB7D00323FB7; - remoteInfo = "third-party"; - }; - 2DF0FFE42056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D383D3C1EBD27B6005632C8; - remoteInfo = "third-party-tvOS"; - }; - 2DF0FFE62056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 139D7E881E25C6D100323FB7; - remoteInfo = "double-conversion"; - }; - 2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D383D621EBD27B9005632C8; - remoteInfo = "double-conversion-tvOS"; - }; - 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A283A1D9B042B00D4039D; - remoteInfo = "RCTImage-tvOS"; - }; - 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28471D9B043800D4039D; - remoteInfo = "RCTLinking-tvOS"; - }; - 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28541D9B044C00D4039D; - remoteInfo = "RCTNetwork-tvOS"; - }; - 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28611D9B046600D4039D; - remoteInfo = "RCTSettings-tvOS"; - }; - 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A287B1D9B048500D4039D; - remoteInfo = "RCTText-tvOS"; - }; - 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28881D9B049200D4039D; - remoteInfo = "RCTWebSocket-tvOS"; - }; - 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28131D9B038B00D4039D; - remoteInfo = "React-tvOS"; - }; - 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3C059A1DE3340900C268FA; - remoteInfo = yoga; - }; - 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3C06751DE3340C00C268FA; - remoteInfo = "yoga-tvOS"; - }; - 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3CD9251DE5FBEC00167DC4; - remoteInfo = cxxreact; - }; - 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4; - remoteInfo = "cxxreact-tvOS"; - }; - 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTAnimation; - }; - 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28201D9B03D100D4039D; - remoteInfo = "RCTAnimation-tvOS"; - }; - 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTLinking; - }; - 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B5119B1A9E6C1200147676; - remoteInfo = RCTText; - }; - ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 358F4ED71D1E81A9004DF814; - remoteInfo = RCTBlob; - }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; }; - 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = "../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj"; sourceTree = ""; }; - 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTGeolocation.xcodeproj; path = "../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj"; sourceTree = ""; }; - 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = "../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj"; sourceTree = ""; }; - 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = "../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj"; sourceTree = ""; }; - 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = "../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj"; sourceTree = ""; }; 00E356EE1AD99517003FC87E /* SharedElementExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SharedElementExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* SharedElementExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SharedElementExampleTests.m; sourceTree = ""; }; - 055F22692F3442D0BCC814E8 /* FontAwesome.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf"; sourceTree = ""; }; - 12C6408B98B24D30BB9F964C /* Entypo.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = ""; }; - 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = ""; }; - 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = ""; }; + 0D0CBDAA5EC3AC76248F3CE2 /* Pods-SharedElementExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SharedElementExampleTests.debug.xcconfig"; path = "Target Support Files/Pods-SharedElementExampleTests/Pods-SharedElementExampleTests.debug.xcconfig"; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* SharedElementExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SharedElementExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = SharedElementExample/AppDelegate.h; sourceTree = ""; }; 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = SharedElementExample/AppDelegate.m; sourceTree = ""; }; @@ -489,56 +52,21 @@ 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = SharedElementExample/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = SharedElementExample/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = SharedElementExample/main.m; sourceTree = ""; }; - 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; - 15259881155F4AF581574945 /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Solid.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf"; sourceTree = ""; }; - 1574D438566E49F0955B1354 /* RNCViewpager.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNCViewpager.xcodeproj; path = "../node_modules/@react-native-community/viewpager/ios/RNCViewpager.xcodeproj"; sourceTree = ""; }; - 17E869055E144DFBBD16BC31 /* FastImage.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = FastImage.xcodeproj; path = "../node_modules/react-native-fast-image/ios/FastImage.xcodeproj"; sourceTree = ""; }; - 193E2E61C1AD4BE5AF1E8905 /* libRNScreens.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNScreens.a; sourceTree = ""; }; - 203FB401CBE343E8B8F4C4CC /* libRNGestureHandler-tvOS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = "libRNGestureHandler-tvOS.a"; sourceTree = ""; }; - 2139DDB0231E50AF00E495B6 /* RNSharedElement.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNSharedElement.xcodeproj; path = ../../ios/RNSharedElement.xcodeproj; sourceTree = ""; }; - 2139DDB9231E738D00E495B6 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 25C0819982F04985AAFED357 /* Feather.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Feather.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Feather.ttf"; sourceTree = ""; }; + 17027B316830AFA4FB98C1B6 /* Pods-SharedElementExample-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SharedElementExample-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-SharedElementExample-tvOS/Pods-SharedElementExample-tvOS.debug.xcconfig"; sourceTree = ""; }; + 208D09C4524C1DA6F4FF5DFC /* Pods-SharedElementExample-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SharedElementExample-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-SharedElementExample-tvOSTests/Pods-SharedElementExample-tvOSTests.release.xcconfig"; sourceTree = ""; }; + 2127C525476B105F82C56161 /* libPods-SharedElementExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SharedElementExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 2D02E47B1E0B4A5D006451C7 /* SharedElementExample-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "SharedElementExample-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 2D02E4901E0B4A5D006451C7 /* SharedElementExample-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "SharedElementExample-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 3363DA62B6D04605B484CB5B /* libRNPhotoView.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNPhotoView.a; sourceTree = ""; }; - 389EFCBC785D463191E7E1AF /* Foundation.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Foundation.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = ""; }; - 39545F727FA349A6A4FBB239 /* libRNGestureHandler.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNGestureHandler.a; sourceTree = ""; }; - 395E2FF7274048A4A8C67469 /* Zocial.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Zocial.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = ""; }; - 40A0D5B9C4DD41EE9A3F3F50 /* libRNScreens-tvOS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = "libRNScreens-tvOS.a"; sourceTree = ""; }; - 4368188EF99646AF87E590F0 /* libFastImage.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libFastImage.a; sourceTree = ""; }; - 451F4F7E09AA46D7ACA1E4A8 /* RNCMaskedView.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNCMaskedView.xcodeproj; path = "../node_modules/@react-native-community/masked-view/ios/RNCMaskedView.xcodeproj"; sourceTree = ""; }; - 5B259D8A82DB486CA739825F /* libBVLinearGradient.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libBVLinearGradient.a; sourceTree = ""; }; - 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; - 653EC5F9667D4C208DF245C5 /* Ionicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Ionicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf"; sourceTree = ""; }; - 65F1019574F44A8E9B5F6A9A /* RNBlur.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNBlur.xcodeproj; path = "../node_modules/@react-native-community/blur/ios/RNBlur.xcodeproj"; sourceTree = ""; }; - 68160D85844D4713A7BAE648 /* libRNReanimated.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNReanimated.a; sourceTree = ""; }; - 68908B42ED7D420595A5EBC2 /* libRNCMaskedView.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNCMaskedView.a; sourceTree = ""; }; - 6A2F7D154F4F4804B2F8928D /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialCommunityIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf"; sourceTree = ""; }; - 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; - 7B66C9185FAF4F21B10C5629 /* libRNCViewpager.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNCViewpager.a; sourceTree = ""; }; - 7CDF4D314D044F3191911AE6 /* AntDesign.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = AntDesign.ttf; path = "../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf"; sourceTree = ""; }; - 7D11F59FF6C3452F81F271E3 /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNVectorIcons.xcodeproj; path = "../node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = ""; }; - 7D776D9959C843D8A695E5D3 /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNVectorIcons.a; sourceTree = ""; }; - 80995B218A4744D4B3E531E7 /* RNReanimated.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNReanimated.xcodeproj; path = "../node_modules/react-native-reanimated/ios/RNReanimated.xcodeproj"; sourceTree = ""; }; - 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; - 8CF9E5A7C04D404C95157546 /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Regular.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf"; sourceTree = ""; }; - 9047D87926D04CBDACB2508C /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = SimpleLineIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = ""; }; - 907019825731498C8D8A4BFA /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Brands.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf"; sourceTree = ""; }; - 959D1D9ECF30496088470DCD /* libRNReanimated-tvOS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = "libRNReanimated-tvOS.a"; sourceTree = ""; }; - AA4E25E84DAA4321A8DEE086 /* RNPhotoView.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNPhotoView.xcodeproj; path = "../node_modules/react-native-photo-view/ios/RNPhotoView.xcodeproj"; sourceTree = ""; }; - ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; }; - AF4C4D22C6A44BF7A4075594 /* libRNBlur.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNBlur.a; sourceTree = ""; }; - B7567BC3A2D2460F9A062BB3 /* Octicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Octicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = ""; }; - BA24A214F56E43D58E8007F2 /* RNGestureHandler.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNGestureHandler.xcodeproj; path = "../node_modules/react-native-gesture-handler/ios/RNGestureHandler.xcodeproj"; sourceTree = ""; }; - C2423839FC1B44FBACDFBA79 /* BVLinearGradient.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = BVLinearGradient.xcodeproj; path = "../node_modules/react-native-linear-gradient/BVLinearGradient.xcodeproj"; sourceTree = ""; }; - DAE4955F5DAC44D4BA752463 /* RNScreens.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNScreens.xcodeproj; path = "../node_modules/react-native-screens/ios/RNScreens.xcodeproj"; sourceTree = ""; }; - E00EAAD2016C46799307D7DE /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = ""; }; - E9006CB4D507499E975A5143 /* libRNVectorIcons-tvOS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = "libRNVectorIcons-tvOS.a"; sourceTree = ""; }; + 85999770519E14B6D27B3931 /* libPods-SharedElementExample-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SharedElementExample-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 94AA62B6AD060DED92971BA3 /* Pods-SharedElementExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SharedElementExample.release.xcconfig"; path = "Target Support Files/Pods-SharedElementExample/Pods-SharedElementExample.release.xcconfig"; sourceTree = ""; }; + 9E05970F98E565BE4016D5F3 /* Pods-SharedElementExample-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SharedElementExample-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-SharedElementExample-tvOSTests/Pods-SharedElementExample-tvOSTests.debug.xcconfig"; sourceTree = ""; }; + 9FED1028B1A2A414045EBCBB /* libPods-SharedElementExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SharedElementExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + BC6275F1C038C33827E55E32 /* Pods-SharedElementExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SharedElementExampleTests.release.xcconfig"; path = "Target Support Files/Pods-SharedElementExampleTests/Pods-SharedElementExampleTests.release.xcconfig"; sourceTree = ""; }; + BE3D894BFAC19445E09B1034 /* Pods-SharedElementExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SharedElementExample.debug.xcconfig"; path = "Target Support Files/Pods-SharedElementExample/Pods-SharedElementExample.debug.xcconfig"; sourceTree = ""; }; + CE4B967C01E585108A266AA5 /* libPods-SharedElementExample-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SharedElementExample-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; }; - EFAB3348A09F4442A2835CE5 /* MaterialIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf"; sourceTree = ""; }; - F4943BBA6A6E427AA2A870F5 /* libRNSharedElement.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNSharedElement.a; sourceTree = ""; }; + F938A410CE07B28F9BFA32A1 /* Pods-SharedElementExample-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SharedElementExample-tvOS.release.xcconfig"; path = "Target Support Files/Pods-SharedElementExample-tvOS/Pods-SharedElementExample-tvOS.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -546,7 +74,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */, + 765388FD046A65E78E0807BE /* libPods-SharedElementExampleTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -554,30 +82,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - ED297163215061F000B7C4FE /* JavaScriptCore.framework in Frameworks */, - ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */, - 11D1A2F320CAFA9E000508D9 /* libRCTAnimation.a in Frameworks */, - 146834051AC3E58100842450 /* libReact.a in Frameworks */, - 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */, - 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */, - 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */, - 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */, - 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */, - 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */, - 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, - 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, - 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, - B3F022F5276A4D63B765AF2A /* libRNSharedElement.a in Frameworks */, - DE8885761638493891BD48EE /* libRNGestureHandler.a in Frameworks */, - 8C35CE2E85AF4276B0A97B72 /* libRNPhotoView.a in Frameworks */, - 21692B186DCA472F9AEF3D62 /* libRNBlur.a in Frameworks */, - FE8DA9849711489482C42A19 /* libBVLinearGradient.a in Frameworks */, - C1208AF78A294B8A8F72B9FE /* libFastImage.a in Frameworks */, - 9FC9DA6688E441FEB6F3EB69 /* libRNVectorIcons.a in Frameworks */, - 4EEC74689709427E81DD90ED /* libRNCViewpager.a in Frameworks */, - A2A922D6FC8343F996C53832 /* libRNScreens.a in Frameworks */, - EE4B227446AC428C85755245 /* libRNReanimated.a in Frameworks */, - 505EC3402B30423DB1945823 /* libRNCMaskedView.a in Frameworks */, + 68F2ED9354CCF93C354306E1 /* libPods-SharedElementExample.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -585,19 +90,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - ED2971652150620600B7C4FE /* JavaScriptCore.framework in Frameworks */, - 2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */, - 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation.a in Frameworks */, - 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */, - 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */, - 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */, - 2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */, - 2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */, - 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */, - 1216DF4DC3FB4599A64E1029 /* libRNGestureHandler-tvOS.a in Frameworks */, - 8E6C9C43ECFF405297375CC6 /* libRNVectorIcons-tvOS.a in Frameworks */, - 48DCFB901AE946CDA32DCED7 /* libRNScreens-tvOS.a in Frameworks */, - C12CFA36C5D843BDB5515A0C /* libRNReanimated-tvOS.a in Frameworks */, + EF1602D4AE52759E3DAF2631 /* libPods-SharedElementExample-tvOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -605,55 +98,13 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2DF0FFEE2056DD460020B375 /* libReact.a in Frameworks */, + 035FC4E7D255FD44DE9CBA15 /* libPods-SharedElementExample-tvOSTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 00C302A81ABCB8CE00DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */, - ); - name = Products; - sourceTree = ""; - }; - 00C302B61ABCB90400DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */, - ); - name = Products; - sourceTree = ""; - }; - 00C302BC1ABCB91800DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */, - 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 00C302D41ABCB9D200DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */, - 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 00C302E01ABCB9EE00DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */, - ); - name = Products; - sourceTree = ""; - }; 00E356EF1AD99517003FC87E /* SharedElementExampleTests */ = { isa = PBXGroup; children = ( @@ -671,26 +122,6 @@ name = "Supporting Files"; sourceTree = ""; }; - 139105B71AF99BAD00B5F7CC /* Products */ = { - isa = PBXGroup; - children = ( - 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */, - 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 139FDEE71B06529A00C62182 /* Products */ = { - isa = PBXGroup; - children = ( - 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */, - 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */, - 2D16E6841FA4F8DC00B85C8A /* libfishhook.a */, - 2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; 13B07FAE1A68108700A75B9A /* SharedElementExample */ = { isa = PBXGroup; children = ( @@ -698,7 +129,6 @@ 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 13B07FB01A68108700A75B9A /* AppDelegate.m */, 13B07FB51A68108700A75B9A /* Images.xcassets */, - 2139DDB9231E738D00E495B6 /* Assets.xcassets */, 13B07FB61A68108700A75B9A /* Info.plist */, 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, 13B07FB71A68108700A75B9A /* main.m */, @@ -706,212 +136,26 @@ name = SharedElementExample; sourceTree = ""; }; - 146834001AC3E56700842450 /* Products */ = { - isa = PBXGroup; - children = ( - 146834041AC3E56700842450 /* libReact.a */, - 3DAD3EA31DF850E9000B6D8A /* libReact.a */, - 3DAD3EA51DF850E9000B6D8A /* libyoga.a */, - 3DAD3EA71DF850E9000B6D8A /* libyoga.a */, - 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */, - 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */, - 2DF0FFDF2056DD460020B375 /* libjsinspector.a */, - 2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */, - 2DF0FFE32056DD460020B375 /* libthird-party.a */, - 2DF0FFE52056DD460020B375 /* libthird-party.a */, - 2DF0FFE72056DD460020B375 /* libdouble-conversion.a */, - 2DF0FFE92056DD460020B375 /* libdouble-conversion.a */, - 214D6E6422B8BA1400227ED9 /* libjsi.a */, - 214D6E6622B8BA1400227ED9 /* libjsiexecutor.a */, - 214D6E6822B8BA1400227ED9 /* libjsi-tvOS.a */, - 214D6E6A22B8BA1400227ED9 /* libjsiexecutor-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 21343F6922E06EC600A4C52F /* Products */ = { - isa = PBXGroup; - children = ( - 21343F6D22E06EC600A4C52F /* libRNCViewpager.a */, - ); - name = Products; - sourceTree = ""; - }; - 2139DDB1231E50AF00E495B6 /* Products */ = { - isa = PBXGroup; - children = ( - 2139DDB5231E50AF00E495B6 /* libRNSharedElement.a */, - ); - name = Products; - sourceTree = ""; - }; - 214D6E3D22B8BA1400227ED9 /* Recovered References */ = { - isa = PBXGroup; - children = ( - F4943BBA6A6E427AA2A870F5 /* libRNSharedElement.a */, - 39545F727FA349A6A4FBB239 /* libRNGestureHandler.a */, - 203FB401CBE343E8B8F4C4CC /* libRNGestureHandler-tvOS.a */, - 3363DA62B6D04605B484CB5B /* libRNPhotoView.a */, - AF4C4D22C6A44BF7A4075594 /* libRNBlur.a */, - 5B259D8A82DB486CA739825F /* libBVLinearGradient.a */, - 4368188EF99646AF87E590F0 /* libFastImage.a */, - 7D776D9959C843D8A695E5D3 /* libRNVectorIcons.a */, - E9006CB4D507499E975A5143 /* libRNVectorIcons-tvOS.a */, - 7B66C9185FAF4F21B10C5629 /* libRNCViewpager.a */, - 193E2E61C1AD4BE5AF1E8905 /* libRNScreens.a */, - 40A0D5B9C4DD41EE9A3F3F50 /* libRNScreens-tvOS.a */, - 68160D85844D4713A7BAE648 /* libRNReanimated.a */, - 959D1D9ECF30496088470DCD /* libRNReanimated-tvOS.a */, - 68908B42ED7D420595A5EBC2 /* libRNCMaskedView.a */, - ); - name = "Recovered References"; - sourceTree = ""; - }; - 214D6EA322B8BB6200227ED9 /* Products */ = { - isa = PBXGroup; - children = ( - 214D6EA822B8BB6200227ED9 /* libRNGestureHandler.a */, - 214D6EAA22B8BB6200227ED9 /* libRNGestureHandler-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 2163AC3422BA59B5005F554D /* Products */ = { - isa = PBXGroup; - children = ( - 2163AC3822BA59B5005F554D /* libRNPhotoView.a */, - ); - name = Products; - sourceTree = ""; - }; - 2163AC7122BA820B005F554D /* Products */ = { - isa = PBXGroup; - children = ( - 2163AC7622BA820B005F554D /* libRNBlur.a */, - 2163AC7822BA820B005F554D /* libRNBlur.a */, - ); - name = Products; - sourceTree = ""; - }; - 2163ACB422BA9229005F554D /* Products */ = { - isa = PBXGroup; - children = ( - 2163ACB922BA9229005F554D /* libBVLinearGradient.a */, - 2163ACBB22BA9229005F554D /* libBVLinearGradient.a */, - ); - name = Products; - sourceTree = ""; - }; - 2163ACFB22BA9AB8005F554D /* Products */ = { - isa = PBXGroup; - children = ( - 2163ACFF22BA9AB8005F554D /* libFastImage.a */, - 21343F3B22E06EC600A4C52F /* libFastImage-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 2163AD4122BAB187005F554D /* Products */ = { - isa = PBXGroup; - children = ( - 2163AD4622BAB187005F554D /* libRNVectorIcons.a */, - 2163AD4822BAB187005F554D /* libRNVectorIcons-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 216C7D9E22E7459000F5D36D /* Products */ = { - isa = PBXGroup; - children = ( - 216C7DA222E7459000F5D36D /* libRNScreens.a */, - ); - name = Products; - sourceTree = ""; - }; - 21ECCB06230EC82B005EACDD /* Products */ = { - isa = PBXGroup; - children = ( - 21ECCB0B230EC82B005EACDD /* libRNReanimated.a */, - 21ECCB0D230EC82B005EACDD /* libRNReanimated-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 21ECCB5A230EC8D8005EACDD /* Products */ = { - isa = PBXGroup; - children = ( - 21ECCB5E230EC8D8005EACDD /* libRNCMaskedView.a */, - ); - name = Products; - sourceTree = ""; - }; 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { isa = PBXGroup; children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, ED2971642150620600B7C4FE /* JavaScriptCore.framework */, - 2D16E6891FA4F8E400B85C8A /* libReact.a */, + 9FED1028B1A2A414045EBCBB /* libPods-SharedElementExample.a */, + 85999770519E14B6D27B3931 /* libPods-SharedElementExample-tvOS.a */, + CE4B967C01E585108A266AA5 /* libPods-SharedElementExample-tvOSTests.a */, + 2127C525476B105F82C56161 /* libPods-SharedElementExampleTests.a */, ); name = Frameworks; sourceTree = ""; }; - 5E91572E1DD0AC6500FF2AA8 /* Products */ = { - isa = PBXGroup; - children = ( - 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */, - 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */, - ); - name = Products; - sourceTree = ""; - }; - 78C398B11ACF4ADC00677621 /* Products */ = { - isa = PBXGroup; - children = ( - 78C398B91ACF4ADC00677621 /* libRCTLinking.a */, - 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; 832341AE1AAA6A7D00B99B32 /* Libraries */ = { isa = PBXGroup; children = ( - 2139DDB0231E50AF00E495B6 /* RNSharedElement.xcodeproj */, - 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */, - 146833FF1AC3E56700842450 /* React.xcodeproj */, - 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */, - ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */, - 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */, - 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */, - 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */, - 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */, - 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */, - 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, - 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, - 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, - BA24A214F56E43D58E8007F2 /* RNGestureHandler.xcodeproj */, - AA4E25E84DAA4321A8DEE086 /* RNPhotoView.xcodeproj */, - 65F1019574F44A8E9B5F6A9A /* RNBlur.xcodeproj */, - C2423839FC1B44FBACDFBA79 /* BVLinearGradient.xcodeproj */, - 17E869055E144DFBBD16BC31 /* FastImage.xcodeproj */, - 7D11F59FF6C3452F81F271E3 /* RNVectorIcons.xcodeproj */, - 1574D438566E49F0955B1354 /* RNCViewpager.xcodeproj */, - DAE4955F5DAC44D4BA752463 /* RNScreens.xcodeproj */, - 80995B218A4744D4B3E531E7 /* RNReanimated.xcodeproj */, - 451F4F7E09AA46D7ACA1E4A8 /* RNCMaskedView.xcodeproj */, ); name = Libraries; sourceTree = ""; }; - 832341B11AAA6A8300B99B32 /* Products */ = { - isa = PBXGroup; - children = ( - 832341B51AAA6A8300B99B32 /* libRCTText.a */, - 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; 83CBB9F61A601CBA00E9B192 = { isa = PBXGroup; children = ( @@ -920,8 +164,7 @@ 00E356EF1AD99517003FC87E /* SharedElementExampleTests */, 83CBBA001A601CBA00E9B192 /* Products */, 2D16E6871FA4F8E400B85C8A /* Frameworks */, - 214D6E3D22B8BA1400227ED9 /* Recovered References */, - B45CA8D2B221497F91D38264 /* Resources */, + 8416ED761BB525C857E721F8 /* Pods */, ); indentWidth = 2; sourceTree = ""; @@ -939,35 +182,19 @@ name = Products; sourceTree = ""; }; - ADBDB9201DFEBF0600ED6528 /* Products */ = { + 8416ED761BB525C857E721F8 /* Pods */ = { isa = PBXGroup; children = ( - ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */, - 2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */, + BE3D894BFAC19445E09B1034 /* Pods-SharedElementExample.debug.xcconfig */, + 94AA62B6AD060DED92971BA3 /* Pods-SharedElementExample.release.xcconfig */, + 17027B316830AFA4FB98C1B6 /* Pods-SharedElementExample-tvOS.debug.xcconfig */, + F938A410CE07B28F9BFA32A1 /* Pods-SharedElementExample-tvOS.release.xcconfig */, + 9E05970F98E565BE4016D5F3 /* Pods-SharedElementExample-tvOSTests.debug.xcconfig */, + 208D09C4524C1DA6F4FF5DFC /* Pods-SharedElementExample-tvOSTests.release.xcconfig */, + 0D0CBDAA5EC3AC76248F3CE2 /* Pods-SharedElementExampleTests.debug.xcconfig */, + BC6275F1C038C33827E55E32 /* Pods-SharedElementExampleTests.release.xcconfig */, ); - name = Products; - sourceTree = ""; - }; - B45CA8D2B221497F91D38264 /* Resources */ = { - isa = PBXGroup; - children = ( - 7CDF4D314D044F3191911AE6 /* AntDesign.ttf */, - 12C6408B98B24D30BB9F964C /* Entypo.ttf */, - E00EAAD2016C46799307D7DE /* EvilIcons.ttf */, - 25C0819982F04985AAFED357 /* Feather.ttf */, - 055F22692F3442D0BCC814E8 /* FontAwesome.ttf */, - 907019825731498C8D8A4BFA /* FontAwesome5_Brands.ttf */, - 8CF9E5A7C04D404C95157546 /* FontAwesome5_Regular.ttf */, - 15259881155F4AF581574945 /* FontAwesome5_Solid.ttf */, - 389EFCBC785D463191E7E1AF /* Foundation.ttf */, - 653EC5F9667D4C208DF245C5 /* Ionicons.ttf */, - 6A2F7D154F4F4804B2F8928D /* MaterialCommunityIcons.ttf */, - EFAB3348A09F4442A2835CE5 /* MaterialIcons.ttf */, - B7567BC3A2D2460F9A062BB3 /* Octicons.ttf */, - 9047D87926D04CBDACB2508C /* SimpleLineIcons.ttf */, - 395E2FF7274048A4A8C67469 /* Zocial.ttf */, - ); - name = Resources; + path = Pods; sourceTree = ""; }; /* End PBXGroup section */ @@ -977,6 +204,7 @@ isa = PBXNativeTarget; buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "SharedElementExampleTests" */; buildPhases = ( + F84CDCFAE1FBE9923776FA6D /* [CP] Check Pods Manifest.lock */, 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, 00E356EC1AD99517003FC87E /* Resources */, @@ -995,17 +223,20 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "SharedElementExample" */; buildPhases = ( + A8A6F4638BC5876C9937F677 /* [CP] Check Pods Manifest.lock */, + FD10A7F022414F080027D42C /* Start Packager */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + 721FA1FA46AD5C4250AFB3A2 /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( ); name = SharedElementExample; - productName = "Hello World"; + productName = SharedElementExample; productReference = 13B07F961A680F5B00A75B9A /* SharedElementExample.app */; productType = "com.apple.product-type.application"; }; @@ -1013,6 +244,8 @@ isa = PBXNativeTarget; buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "SharedElementExample-tvOS" */; buildPhases = ( + 28290B6A26037D5119391D33 /* [CP] Check Pods Manifest.lock */, + FD10A7F122414F3F0027D42C /* Start Packager */, 2D02E4771E0B4A5D006451C7 /* Sources */, 2D02E4781E0B4A5D006451C7 /* Frameworks */, 2D02E4791E0B4A5D006451C7 /* Resources */, @@ -1031,6 +264,7 @@ isa = PBXNativeTarget; buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "SharedElementExample-tvOSTests" */; buildPhases = ( + D00824C6A8E22FFC6B756499 /* [CP] Check Pods Manifest.lock */, 2D02E48C1E0B4A5D006451C7 /* Sources */, 2D02E48D1E0B4A5D006451C7 /* Frameworks */, 2D02E48E1E0B4A5D006451C7 /* Resources */, @@ -1051,11 +285,12 @@ 83CBB9F71A601CBA00E9B192 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 940; + LastUpgradeCheck = 0940; ORGANIZATIONNAME = Facebook; TargetAttributes = { 00E356ED1AD99517003FC87E = { CreatedOnToolsVersion = 6.2; + DevelopmentTeam = 8PLAR7Y58Z; TestTargetID = 13B07F861A680F5B00A75B9A; }; 13B07F861A680F5B00A75B9A = { @@ -1084,100 +319,6 @@ mainGroup = 83CBB9F61A601CBA00E9B192; productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 2163ACB422BA9229005F554D /* Products */; - ProjectRef = C2423839FC1B44FBACDFBA79 /* BVLinearGradient.xcodeproj */; - }, - { - ProductGroup = 2163ACFB22BA9AB8005F554D /* Products */; - ProjectRef = 17E869055E144DFBBD16BC31 /* FastImage.xcodeproj */; - }, - { - ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */; - ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; - }, - { - ProductGroup = 5E91572E1DD0AC6500FF2AA8 /* Products */; - ProjectRef = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; - }, - { - ProductGroup = ADBDB9201DFEBF0600ED6528 /* Products */; - ProjectRef = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; - }, - { - ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */; - ProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; - }, - { - ProductGroup = 00C302BC1ABCB91800DB3ED1 /* Products */; - ProjectRef = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; - }, - { - ProductGroup = 78C398B11ACF4ADC00677621 /* Products */; - ProjectRef = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; - }, - { - ProductGroup = 00C302D41ABCB9D200DB3ED1 /* Products */; - ProjectRef = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; - }, - { - ProductGroup = 139105B71AF99BAD00B5F7CC /* Products */; - ProjectRef = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; - }, - { - ProductGroup = 832341B11AAA6A8300B99B32 /* Products */; - ProjectRef = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; - }, - { - ProductGroup = 00C302E01ABCB9EE00DB3ED1 /* Products */; - ProjectRef = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; - }, - { - ProductGroup = 139FDEE71B06529A00C62182 /* Products */; - ProjectRef = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - }, - { - ProductGroup = 146834001AC3E56700842450 /* Products */; - ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; - }, - { - ProductGroup = 2163AC7122BA820B005F554D /* Products */; - ProjectRef = 65F1019574F44A8E9B5F6A9A /* RNBlur.xcodeproj */; - }, - { - ProductGroup = 21ECCB5A230EC8D8005EACDD /* Products */; - ProjectRef = 451F4F7E09AA46D7ACA1E4A8 /* RNCMaskedView.xcodeproj */; - }, - { - ProductGroup = 21343F6922E06EC600A4C52F /* Products */; - ProjectRef = 1574D438566E49F0955B1354 /* RNCViewpager.xcodeproj */; - }, - { - ProductGroup = 214D6EA322B8BB6200227ED9 /* Products */; - ProjectRef = BA24A214F56E43D58E8007F2 /* RNGestureHandler.xcodeproj */; - }, - { - ProductGroup = 2163AC3422BA59B5005F554D /* Products */; - ProjectRef = AA4E25E84DAA4321A8DEE086 /* RNPhotoView.xcodeproj */; - }, - { - ProductGroup = 21ECCB06230EC82B005EACDD /* Products */; - ProjectRef = 80995B218A4744D4B3E531E7 /* RNReanimated.xcodeproj */; - }, - { - ProductGroup = 216C7D9E22E7459000F5D36D /* Products */; - ProjectRef = DAE4955F5DAC44D4BA752463 /* RNScreens.xcodeproj */; - }, - { - ProductGroup = 2139DDB1231E50AF00E495B6 /* Products */; - ProjectRef = 2139DDB0231E50AF00E495B6 /* RNSharedElement.xcodeproj */; - }, - { - ProductGroup = 2163AD4122BAB187005F554D /* Products */; - ProjectRef = 7D11F59FF6C3452F81F271E3 /* RNVectorIcons.xcodeproj */; - }, - ); projectRoot = ""; targets = ( 13B07F861A680F5B00A75B9A /* SharedElementExample */, @@ -1188,387 +329,6 @@ }; /* End PBXProject section */ -/* Begin PBXReferenceProxy section */ - 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTActionSheet.a; - remoteRef = 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTGeolocation.a; - remoteRef = 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTImage.a; - remoteRef = 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTNetwork.a; - remoteRef = 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTVibration.a; - remoteRef = 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTSettings.a; - remoteRef = 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTWebSocket.a; - remoteRef = 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 146834041AC3E56700842450 /* libReact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReact.a; - remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 21343F3B22E06EC600A4C52F /* libFastImage-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libFastImage-tvOS.a"; - remoteRef = 21343F3A22E06EC600A4C52F /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 21343F6D22E06EC600A4C52F /* libRNCViewpager.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNCViewpager.a; - remoteRef = 21343F6C22E06EC600A4C52F /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2139DDB5231E50AF00E495B6 /* libRNSharedElement.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNSharedElement.a; - remoteRef = 2139DDB4231E50AF00E495B6 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 214D6E6422B8BA1400227ED9 /* libjsi.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libjsi.a; - remoteRef = 214D6E6322B8BA1400227ED9 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 214D6E6622B8BA1400227ED9 /* libjsiexecutor.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libjsiexecutor.a; - remoteRef = 214D6E6522B8BA1400227ED9 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 214D6E6822B8BA1400227ED9 /* libjsi-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsi-tvOS.a"; - remoteRef = 214D6E6722B8BA1400227ED9 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 214D6E6A22B8BA1400227ED9 /* libjsiexecutor-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsiexecutor-tvOS.a"; - remoteRef = 214D6E6922B8BA1400227ED9 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 214D6EA822B8BB6200227ED9 /* libRNGestureHandler.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNGestureHandler.a; - remoteRef = 214D6EA722B8BB6200227ED9 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 214D6EAA22B8BB6200227ED9 /* libRNGestureHandler-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRNGestureHandler-tvOS.a"; - remoteRef = 214D6EA922B8BB6200227ED9 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2163AC3822BA59B5005F554D /* libRNPhotoView.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNPhotoView.a; - remoteRef = 2163AC3722BA59B5005F554D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2163AC7622BA820B005F554D /* libRNBlur.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNBlur.a; - remoteRef = 2163AC7522BA820B005F554D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2163AC7822BA820B005F554D /* libRNBlur.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNBlur.a; - remoteRef = 2163AC7722BA820B005F554D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2163ACB922BA9229005F554D /* libBVLinearGradient.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libBVLinearGradient.a; - remoteRef = 2163ACB822BA9229005F554D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2163ACBB22BA9229005F554D /* libBVLinearGradient.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libBVLinearGradient.a; - remoteRef = 2163ACBA22BA9229005F554D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2163ACFF22BA9AB8005F554D /* libFastImage.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libFastImage.a; - remoteRef = 2163ACFE22BA9AB8005F554D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2163AD4622BAB187005F554D /* libRNVectorIcons.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNVectorIcons.a; - remoteRef = 2163AD4522BAB187005F554D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2163AD4822BAB187005F554D /* libRNVectorIcons-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRNVectorIcons-tvOS.a"; - remoteRef = 2163AD4722BAB187005F554D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 216C7DA222E7459000F5D36D /* libRNScreens.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNScreens.a; - remoteRef = 216C7DA122E7459000F5D36D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 21ECCB0B230EC82B005EACDD /* libRNReanimated.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNReanimated.a; - remoteRef = 21ECCB0A230EC82B005EACDD /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 21ECCB0D230EC82B005EACDD /* libRNReanimated-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRNReanimated-tvOS.a"; - remoteRef = 21ECCB0C230EC82B005EACDD /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 21ECCB5E230EC8D8005EACDD /* libRNCMaskedView.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNCMaskedView.a; - remoteRef = 21ECCB5D230EC8D8005EACDD /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTBlob-tvOS.a"; - remoteRef = 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2D16E6841FA4F8DC00B85C8A /* libfishhook.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libfishhook.a; - remoteRef = 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libfishhook-tvOS.a"; - remoteRef = 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFDF2056DD460020B375 /* libjsinspector.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libjsinspector.a; - remoteRef = 2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsinspector-tvOS.a"; - remoteRef = 2DF0FFE02056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE32056DD460020B375 /* libthird-party.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libthird-party.a"; - remoteRef = 2DF0FFE22056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE52056DD460020B375 /* libthird-party.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libthird-party.a"; - remoteRef = 2DF0FFE42056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE72056DD460020B375 /* libdouble-conversion.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libdouble-conversion.a"; - remoteRef = 2DF0FFE62056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE92056DD460020B375 /* libdouble-conversion.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libdouble-conversion.a"; - remoteRef = 2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTImage-tvOS.a"; - remoteRef = 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTLinking-tvOS.a"; - remoteRef = 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTNetwork-tvOS.a"; - remoteRef = 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTSettings-tvOS.a"; - remoteRef = 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTText-tvOS.a"; - remoteRef = 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTWebSocket-tvOS.a"; - remoteRef = 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EA31DF850E9000B6D8A /* libReact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReact.a; - remoteRef = 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EA51DF850E9000B6D8A /* libyoga.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libyoga.a; - remoteRef = 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EA71DF850E9000B6D8A /* libyoga.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libyoga.a; - remoteRef = 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libcxxreact.a; - remoteRef = 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libcxxreact.a; - remoteRef = 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTAnimation.a; - remoteRef = 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTAnimation.a; - remoteRef = 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTLinking.a; - remoteRef = 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 832341B51AAA6A8300B99B32 /* libRCTText.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTText.a; - remoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTBlob.a; - remoteRef = ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - /* Begin PBXResourcesBuildPhase section */ 00E356EC1AD99517003FC87E /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -1583,22 +343,6 @@ files = ( 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, - 18F0CF2C27A8430D8D7617F0 /* AntDesign.ttf in Resources */, - FBF66275368C4BB0997A941E /* Entypo.ttf in Resources */, - 59248D79F69849E7ABDD7C44 /* EvilIcons.ttf in Resources */, - CCC883E812344291B1C31E75 /* Feather.ttf in Resources */, - 4C4BE5C4E53F4607992C72D0 /* FontAwesome.ttf in Resources */, - F5B2F3349043471D84564FD5 /* FontAwesome5_Brands.ttf in Resources */, - 87C0E706FEB04001B86A292F /* FontAwesome5_Regular.ttf in Resources */, - BCAD74040E1F4055BBBE0A30 /* FontAwesome5_Solid.ttf in Resources */, - 909A1FBB6D484FFEA83DB54A /* Foundation.ttf in Resources */, - C02CCE06F2814A238379F3EF /* Ionicons.ttf in Resources */, - 7683BDF454E24C76809E365B /* MaterialCommunityIcons.ttf in Resources */, - 2522CEC599E9408F97D865F3 /* MaterialIcons.ttf in Resources */, - D70D4BFDF7BD4339BDD1444B /* Octicons.ttf in Resources */, - EE06EAEA38D74599B752CA66 /* SimpleLineIcons.ttf in Resources */, - 2139DDBA231E738D00E495B6 /* Assets.xcassets in Resources */, - 4A31EF8534FD4B7F84D6B4DF /* Zocial.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1632,7 +376,29 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; + shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; + }; + 28290B6A26037D5119391D33 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-SharedElementExample-tvOS-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; 2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = { isa = PBXShellScriptBuildPhase; @@ -1648,6 +414,158 @@ shellPath = /bin/sh; shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; }; + 721FA1FA46AD5C4250AFB3A2 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-SharedElementExample/Pods-SharedElementExample-resources.sh", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Feather.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Fontisto.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Foundation.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Octicons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf", + "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Zocial.ttf", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AntDesign.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Entypo.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EvilIcons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Feather.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Brands.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Regular.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Solid.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Fontisto.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Foundation.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Ionicons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialCommunityIcons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialIcons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Octicons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SimpleLineIcons.ttf", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Zocial.ttf", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SharedElementExample/Pods-SharedElementExample-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + A8A6F4638BC5876C9937F677 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-SharedElementExample-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + D00824C6A8E22FFC6B756499 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-SharedElementExample-tvOSTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + F84CDCFAE1FBE9923776FA6D /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-SharedElementExampleTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + FD10A7F022414F080027D42C /* Start Packager */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Start Packager"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n"; + showEnvVarsInLog = 0; + }; + FD10A7F122414F3F0027D42C /* Start Packager */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Start Packager"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -1715,50 +633,21 @@ /* Begin XCBuildConfiguration section */ 00E356F61AD99517003FC87E /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 0D0CBDAA5EC3AC76248F3CE2 /* Pods-SharedElementExampleTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; + DEVELOPMENT_TEAM = 8PLAR7Y58Z; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-shared-element/ios", - "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", - "$(SRCROOT)/../node_modules/react-native-photo-view/ios/**", - "$(SRCROOT)/../node_modules/@react-native-community/blur/ios", - "$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient", - "$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - "$(SRCROOT)/../node_modules/@react-native-community/viewpager/ios", - "$(SRCROOT)/../node_modules/react-native-screens/ios", - "$(SRCROOT)/../node_modules/react-native-reanimated/ios/**", - "$(SRCROOT)/../node_modules/@react-native-community/masked-view/ios", - ); INFOPLIST_FILE = SharedElementExampleTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - ); OTHER_LDFLAGS = ( "-ObjC", "-lc++", + "$(inherited)", ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1768,47 +657,18 @@ }; 00E356F71AD99517003FC87E /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = BC6275F1C038C33827E55E32 /* Pods-SharedElementExampleTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-shared-element/ios", - "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", - "$(SRCROOT)/../node_modules/react-native-photo-view/ios/**", - "$(SRCROOT)/../node_modules/@react-native-community/blur/ios", - "$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient", - "$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - "$(SRCROOT)/../node_modules/@react-native-community/viewpager/ios", - "$(SRCROOT)/../node_modules/react-native-screens/ios", - "$(SRCROOT)/../node_modules/react-native-reanimated/ios/**", - "$(SRCROOT)/../node_modules/@react-native-community/masked-view/ios", - ); + DEVELOPMENT_TEAM = 8PLAR7Y58Z; INFOPLIST_FILE = SharedElementExampleTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - ); OTHER_LDFLAGS = ( "-ObjC", "-lc++", + "$(inherited)", ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1818,25 +678,12 @@ }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = BE3D894BFAC19445E09B1034 /* Pods-SharedElementExample.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = NO; DEVELOPMENT_TEAM = 8PLAR7Y58Z; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-shared-element/ios", - "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", - "$(SRCROOT)/../node_modules/react-native-photo-view/ios/**", - "$(SRCROOT)/../node_modules/@react-native-community/blur/ios", - "$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient", - "$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - "$(SRCROOT)/../node_modules/@react-native-community/viewpager/ios", - "$(SRCROOT)/../node_modules/react-native-screens/ios", - "$(SRCROOT)/../node_modules/react-native-reanimated/ios/**", - "$(SRCROOT)/../node_modules/@react-native-community/masked-view/ios", - ); INFOPLIST_FILE = SharedElementExample/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( @@ -1844,7 +691,7 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = nl.ijzerenhein.SharedElementExample; + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = SharedElementExample; VERSIONING_SYSTEM = "apple-generic"; }; @@ -1852,24 +699,11 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 94AA62B6AD060DED92971BA3 /* Pods-SharedElementExample.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = 8PLAR7Y58Z; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-shared-element/ios", - "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", - "$(SRCROOT)/../node_modules/react-native-photo-view/ios/**", - "$(SRCROOT)/../node_modules/@react-native-community/blur/ios", - "$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient", - "$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - "$(SRCROOT)/../node_modules/@react-native-community/viewpager/ios", - "$(SRCROOT)/../node_modules/react-native-screens/ios", - "$(SRCROOT)/../node_modules/react-native-reanimated/ios/**", - "$(SRCROOT)/../node_modules/@react-native-community/masked-view/ios", - ); INFOPLIST_FILE = SharedElementExample/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( @@ -1877,7 +711,7 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = nl.ijzerenhein.SharedElementExample; + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = SharedElementExample; VERSIONING_SYSTEM = "apple-generic"; }; @@ -1885,6 +719,7 @@ }; 2D02E4971E0B4A5E006451C7 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 17027B316830AFA4FB98C1B6 /* Pods-SharedElementExample-tvOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -1895,41 +730,10 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_TESTABILITY = YES; GCC_NO_COMMON_BLOCKS = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-shared-element/ios", - "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", - "$(SRCROOT)/../node_modules/react-native-photo-view/ios/**", - "$(SRCROOT)/../node_modules/@react-native-community/blur/ios", - "$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient", - "$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - "$(SRCROOT)/../node_modules/@react-native-community/viewpager/ios", - "$(SRCROOT)/../node_modules/react-native-screens/ios", - "$(SRCROOT)/../node_modules/react-native-reanimated/ios/**", - "$(SRCROOT)/../node_modules/@react-native-community/masked-view/ios", - ); INFOPLIST_FILE = "SharedElementExample-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - ); OTHER_LDFLAGS = ( + "$(inherited)", "-ObjC", "-lc++", ); @@ -1943,6 +747,7 @@ }; 2D02E4981E0B4A5E006451C7 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = F938A410CE07B28F9BFA32A1 /* Pods-SharedElementExample-tvOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -1953,41 +758,10 @@ COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_NO_COMMON_BLOCKS = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-shared-element/ios", - "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", - "$(SRCROOT)/../node_modules/react-native-photo-view/ios/**", - "$(SRCROOT)/../node_modules/@react-native-community/blur/ios", - "$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient", - "$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - "$(SRCROOT)/../node_modules/@react-native-community/viewpager/ios", - "$(SRCROOT)/../node_modules/react-native-screens/ios", - "$(SRCROOT)/../node_modules/react-native-reanimated/ios/**", - "$(SRCROOT)/../node_modules/@react-native-community/masked-view/ios", - ); INFOPLIST_FILE = "SharedElementExample-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - ); OTHER_LDFLAGS = ( + "$(inherited)", "-ObjC", "-lc++", ); @@ -2001,6 +775,7 @@ }; 2D02E4991E0B4A5E006451C7 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 9E05970F98E565BE4016D5F3 /* Pods-SharedElementExample-tvOSTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -2010,41 +785,10 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_TESTABILITY = YES; GCC_NO_COMMON_BLOCKS = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-shared-element/ios", - "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", - "$(SRCROOT)/../node_modules/react-native-photo-view/ios/**", - "$(SRCROOT)/../node_modules/@react-native-community/blur/ios", - "$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient", - "$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - "$(SRCROOT)/../node_modules/@react-native-community/viewpager/ios", - "$(SRCROOT)/../node_modules/react-native-screens/ios", - "$(SRCROOT)/../node_modules/react-native-reanimated/ios/**", - "$(SRCROOT)/../node_modules/@react-native-community/masked-view/ios", - ); INFOPLIST_FILE = "SharedElementExample-tvOSTests/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - ); OTHER_LDFLAGS = ( + "$(inherited)", "-ObjC", "-lc++", ); @@ -2058,6 +802,7 @@ }; 2D02E49A1E0B4A5E006451C7 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 208D09C4524C1DA6F4FF5DFC /* Pods-SharedElementExample-tvOSTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -2067,41 +812,10 @@ COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_NO_COMMON_BLOCKS = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/../node_modules/react-native-shared-element/ios", - "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", - "$(SRCROOT)/../node_modules/react-native-photo-view/ios/**", - "$(SRCROOT)/../node_modules/@react-native-community/blur/ios", - "$(SRCROOT)/../node_modules/react-native-linear-gradient/BVLinearGradient", - "$(SRCROOT)/../node_modules/react-native-fast-image/ios/FastImage/**", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - "$(SRCROOT)/../node_modules/@react-native-community/viewpager/ios", - "$(SRCROOT)/../node_modules/react-native-screens/ios", - "$(SRCROOT)/../node_modules/react-native-reanimated/ios/**", - "$(SRCROOT)/../node_modules/@react-native-community/masked-view/ios", - ); INFOPLIST_FILE = "SharedElementExample-tvOSTests/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - "\"$(SRCROOT)/$(TARGET_NAME)\"", - ); OTHER_LDFLAGS = ( + "$(inherited)", "-ObjC", "-lc++", ); diff --git a/Example/ios/SharedElementExample.xcworkspace/contents.xcworkspacedata b/Example/ios/SharedElementExample.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..8149e1d --- /dev/null +++ b/Example/ios/SharedElementExample.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/Example/ios/SharedElementExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/ios/SharedElementExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Example/ios/SharedElementExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/100.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/100.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/100.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/100.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/1024.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/1024.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/1024.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/1024.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/114.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/114.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/114.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/114.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/120.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/120.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/120.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/120.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/144.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/144.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/144.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/144.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/152.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/152.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/152.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/152.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/167.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/167.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/167.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/167.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/180.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/180.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/180.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/180.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/20.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/20.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/20.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/20.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/29.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/29.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/29.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/29.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/40.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/40.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/40.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/40.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/50.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/50.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/50.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/50.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/57.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/57.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/57.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/57.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/58.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/58.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/58.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/58.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/60.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/60.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/60.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/60.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/72.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/72.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/72.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/72.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/76.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/76.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/76.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/76.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/80.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/80.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/80.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/80.png diff --git a/Example/ios/Assets.xcassets/AppIcon.appiconset/87.png b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/87.png similarity index 100% rename from Example/ios/Assets.xcassets/AppIcon.appiconset/87.png rename to Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/87.png diff --git a/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/Contents.json b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/Contents.json old mode 100644 new mode 100755 index 19882d5..14225f5 --- a/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Example/ios/SharedElementExample/Images.xcassets/AppIcon.appiconset/Contents.json @@ -1,48 +1,153 @@ { "images" : [ { - "idiom" : "iphone", "size" : "20x20", + "idiom" : "iphone", + "filename" : "40.png", "scale" : "2x" }, { - "idiom" : "iphone", "size" : "20x20", + "idiom" : "iphone", + "filename" : "60.png", "scale" : "3x" }, { + "size" : "29x29", "idiom" : "iphone", + "filename" : "29.png", + "scale" : "1x" + }, + { "size" : "29x29", + "idiom" : "iphone", + "filename" : "58.png", "scale" : "2x" }, { - "idiom" : "iphone", "size" : "29x29", + "idiom" : "iphone", + "filename" : "87.png", "scale" : "3x" }, { - "idiom" : "iphone", "size" : "40x40", + "idiom" : "iphone", + "filename" : "80.png", "scale" : "2x" }, { - "idiom" : "iphone", "size" : "40x40", + "idiom" : "iphone", + "filename" : "120.png", "scale" : "3x" }, { + "size" : "57x57", "idiom" : "iphone", - "size" : "60x60", + "filename" : "57.png", + "scale" : "1x" + }, + { + "size" : "57x57", + "idiom" : "iphone", + "filename" : "114.png", "scale" : "2x" }, { + "size" : "60x60", "idiom" : "iphone", + "filename" : "120.png", + "scale" : "2x" + }, + { "size" : "60x60", + "idiom" : "iphone", + "filename" : "180.png", "scale" : "3x" }, { - "idiom" : "ios-marketing", + "size" : "20x20", + "idiom" : "ipad", + "filename" : "20.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "40.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "29.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "58.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "40.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "80.png", + "scale" : "2x" + }, + { + "size" : "50x50", + "idiom" : "ipad", + "filename" : "50.png", + "scale" : "1x" + }, + { + "size" : "50x50", + "idiom" : "ipad", + "filename" : "100.png", + "scale" : "2x" + }, + { + "size" : "72x72", + "idiom" : "ipad", + "filename" : "72.png", + "scale" : "1x" + }, + { + "size" : "72x72", + "idiom" : "ipad", + "filename" : "144.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "76.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "152.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "167.png", + "scale" : "2x" + }, + { "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "1024.png", "scale" : "1x" } ], diff --git a/Example/ios/SharedElementExample/Info.plist b/Example/ios/SharedElementExample/Info.plist index 495612a..8f9f439 100644 --- a/Example/ios/SharedElementExample/Info.plist +++ b/Example/ios/SharedElementExample/Info.plist @@ -39,32 +39,12 @@ NSLocationWhenInUseUsageDescription - UIAppFonts - - AntDesign.ttf - Entypo.ttf - EvilIcons.ttf - Feather.ttf - FontAwesome.ttf - FontAwesome5_Brands.ttf - FontAwesome5_Regular.ttf - FontAwesome5_Solid.ttf - Foundation.ttf - Ionicons.ttf - MaterialCommunityIcons.ttf - MaterialIcons.ttf - Octicons.ttf - SimpleLineIcons.ttf - Zocial.ttf - UILaunchStoryboardName LaunchScreen UIRequiredDeviceCapabilities armv7 - UIStatusBarStyle - UIStatusBarStyleDefault UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/Example/ios/SharedElementExampleTests/SharedElementExampleTests.m b/Example/ios/SharedElementExampleTests/SharedElementExampleTests.m index 43d7565..b3d33b9 100644 --- a/Example/ios/SharedElementExampleTests/SharedElementExampleTests.m +++ b/Example/ios/SharedElementExampleTests/SharedElementExampleTests.m @@ -12,7 +12,7 @@ #import #define TIMEOUT_SECONDS 600 -#define TEXT_TO_LOOK_FOR @"Welcome to React Native!" +#define TEXT_TO_LOOK_FOR @"Welcome to React" @interface SharedElementExampleTests : XCTestCase @@ -40,11 +40,13 @@ - (void)testRendersWelcomeScreen BOOL foundElement = NO; __block NSString *redboxError = nil; +#ifdef DEBUG RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { if (level >= RCTLogLevelError) { redboxError = message; } }); +#endif while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; @@ -57,8 +59,10 @@ - (void)testRendersWelcomeScreen return NO; }]; } - + +#ifdef DEBUG RCTSetLogFunction(RCTDefaultLogFunction); +#endif XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); diff --git a/Example/metro.config.js b/Example/metro.config.js index dd4674d..13a9642 100644 --- a/Example/metro.config.js +++ b/Example/metro.config.js @@ -10,8 +10,8 @@ module.exports = { getTransformOptions: async () => ({ transform: { experimentalImportSupport: false, - inlineRequires: false - } - }) - } + inlineRequires: false, + }, + }), + }, }; diff --git a/Example/package.json b/Example/package.json index 33cdaa4..358efb9 100644 --- a/Example/package.json +++ b/Example/package.json @@ -3,49 +3,54 @@ "version": "0.0.1", "private": true, "scripts": { - "start": "node node_modules/react-native/local-cli/cli.js start", + "android": "react-native run-android", + "ios": "react-native run-ios --simulator=\"iPhone 11\"", + "web": "expo start --web", + "start": "react-native start", "test": "jest", + "lint": "eslint .", "flow": "flow", "apk": "cd android && ./gradlew assembleRelease && cd ..", "apk-install": "adb install -r android/app/build/outputs/apk/release/app-release.apk", - "android": "react-native run-android", - "ios": "react-native run-ios", - "android-clean": "cd android && ./gradlew clean && cd ..", - "web": "expo start --web" + "android-clean": "cd android && ./gradlew clean && cd .." }, "dependencies": { "@react-native-community/blur": "^3.3.1", "@react-native-community/masked-view": "^0.1.1", "@react-native-community/viewpager": "^1.1.7", - "@react-navigation/core": "^3.4.2", - "@react-navigation/native": "^3.5.0", - "expo-linear-gradient": "^6.0.0", - "flow-bin": "^0.106.2", - "react": "16.8.3", - "react-dom": "^16.8.6", - "react-native": "0.59.9", - "react-native-fast-image": "^6.0.3", - "react-native-gesture-handler": "1.3.0", + "expo-linear-gradient": "^7.0.0", + "flow-bin": "^0.105.0", + "react": "16.9.0", + "react-dom": "^16.10.1", + "react-native": "0.61.1", + "react-native-fast-image": "^7.0.2", + "react-native-gesture-handler": "^1.4.1", "react-native-image-pan-zoom": "^2.1.11", "react-native-iphone-x-helper": "^1.2.1", - "react-native-linear-gradient": "^2.5.4", + "react-native-linear-gradient": "^2.5.6", "react-native-photo-view": "https://github.com/tomtom94/react-native-photo-view", - "react-native-reanimated": "^1.2.0", + "react-native-reanimated": "^1.3.0", "react-native-screens": "1.0.0-alpha.22", "react-native-shared-element": "file:.yalc/react-native-shared-element", "react-native-touchable-scale": "^2.0.0", - "react-native-vector-icons": "^6.5.0", + "react-native-vector-icons": "^6.6.0", "react-native-web": "file:.yalc/react-native-web", + "react-navigation": "^4.0.10", "react-navigation-shared-element": "^0.5.0", - "react-navigation-stack": "1.4.0", - "react-navigation-tabs": "^2.3.0", + "react-navigation-stack": "^1.9.3", + "react-navigation-tabs": "^2.5.5", "react-navigation-transitions": "^1.0.12" }, "devDependencies": { - "@expo/webpack-config": "^0.7.3", - "jest": "^24.8.0", + "@babel/core": "^7.6.2", + "@babel/runtime": "^7.6.2", + "@expo/webpack-config": "^0.7.6", + "@react-native-community/eslint-config": "^0.0.5", + "babel-jest": "^24.9.0", + "eslint": "^6.5.1", + "jest": "^24.9.0", "metro-react-native-babel-preset": "^0.56.0", - "react-test-renderer": "16.8.3" + "react-test-renderer": "16.9.0" }, "jest": { "preset": "react-native" diff --git a/Example/src/components/icon/Icon.js b/Example/src/components/icon/Icon.js index a1e4986..2545663 100644 --- a/Example/src/components/icon/Icon.js +++ b/Example/src/components/icon/Icon.js @@ -2,3 +2,4 @@ import EntypoIcon from "react-native-vector-icons/Entypo"; export const Icon = EntypoIcon; +Icon.loadFont(); From 650d0a7d50b5b45bab897647c30df5d41b4296c1 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Tue, 1 Oct 2019 13:58:01 +0200 Subject: [PATCH 24/46] test: fixed crash in react-navigation after rn61 upgrade https://github.com/react-navigation/react-navigation/issues/6330 --- Example/src/App.js | 1 + 1 file changed, 1 insertion(+) diff --git a/Example/src/App.js b/Example/src/App.js index 9260f1f..530ae79 100644 --- a/Example/src/App.js +++ b/Example/src/App.js @@ -1,5 +1,6 @@ // @flow import * as React from "react"; +import "react-native-gesture-handler"; import { StatusBar } from "react-native"; import { Router, ListItem } from "./components"; import { MainScreen } from "./screens"; From f6513870602841914db0030d534e6221f7060a4d Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Mon, 7 Oct 2019 16:16:24 +0200 Subject: [PATCH 25/46] test: fixed Example app not running because of yalc deps --- Example/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Example/package.json b/Example/package.json index 358efb9..838c1f9 100644 --- a/Example/package.json +++ b/Example/package.json @@ -31,10 +31,10 @@ "react-native-photo-view": "https://github.com/tomtom94/react-native-photo-view", "react-native-reanimated": "^1.3.0", "react-native-screens": "1.0.0-alpha.22", - "react-native-shared-element": "file:.yalc/react-native-shared-element", + "react-native-shared-element": "^0.5.1", "react-native-touchable-scale": "^2.0.0", "react-native-vector-icons": "^6.6.0", - "react-native-web": "file:.yalc/react-native-web", + "react-native-web": "^0.11.7", "react-navigation": "^4.0.10", "react-navigation-shared-element": "^0.5.0", "react-navigation-stack": "^1.9.3", From 73f912ef1eadbd652feaece60454ebc80815b464 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Tue, 12 Nov 2019 11:05:13 +0100 Subject: [PATCH 26/46] style: updated eslint style-config (single-quotes) --- babel.config.js | 2 +- commitlint.config.js | 2 +- jest.setup.js | 4 +- src/RNSharedElementTransitionView.tsx | 10 +- src/RNSharedElementTransitionView.web.tsx | 12 +-- src/SharedElement.tsx | 8 +- src/SharedElementTransition.tsx | 120 +++++++++++----------- src/index.tsx | 6 +- src/types.tsx | 40 ++++---- src/web/Color.ts | 6 +- src/web/RNSharedElementContent.ts | 22 ++-- src/web/RNSharedElementNode.ts | 16 +-- src/web/RNSharedElementNodeManager.ts | 4 +- src/web/RNSharedElementStyle.ts | 10 +- src/web/RNSharedElementTransition.ts | 28 ++--- src/web/RNSharedElementTransitionItem.ts | 8 +- src/web/RNSharedElementView.ts | 50 ++++----- src/web/Rect.ts | 2 +- src/web/index.ts | 4 +- src/web/types.ts | 6 +- 20 files changed, 180 insertions(+), 180 deletions(-) diff --git a/babel.config.js b/babel.config.js index b62027c..f842b77 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,3 +1,3 @@ module.exports = { - presets: ["module:metro-react-native-babel-preset"] + presets: ['module:metro-react-native-babel-preset'], }; diff --git a/commitlint.config.js b/commitlint.config.js index 661d895..84dcb12 100644 --- a/commitlint.config.js +++ b/commitlint.config.js @@ -1,3 +1,3 @@ module.exports = { - extends: ["@commitlint/config-conventional"] + extends: ['@commitlint/config-conventional'], }; diff --git a/jest.setup.js b/jest.setup.js index 4f34c90..9826692 100644 --- a/jest.setup.js +++ b/jest.setup.js @@ -9,7 +9,7 @@ */ /* eslint-env jest */ -import { NativeModules } from "react-native"; +import { NativeModules } from 'react-native'; // Mock the RNCGeolocation native module to allow us to unit test the JavaScript code NativeModules.RNCGeolocation = { @@ -19,7 +19,7 @@ NativeModules.RNCGeolocation = { requestAuthorization: jest.fn(), setConfiguration: jest.fn(), startObserving: jest.fn(), - stopObserving: jest.fn() + stopObserving: jest.fn(), }; // Reset the mocks before each test diff --git a/src/RNSharedElementTransitionView.tsx b/src/RNSharedElementTransitionView.tsx index 1c42c55..93afda5 100644 --- a/src/RNSharedElementTransitionView.tsx +++ b/src/RNSharedElementTransitionView.tsx @@ -1,16 +1,16 @@ -import { requireNativeComponent, NativeModules } from "react-native"; +import { requireNativeComponent, NativeModules } from 'react-native'; const isAvailable = NativeModules.RNSharedElementTransition ? true : false; if (isAvailable) { NativeModules.RNSharedElementTransition.configure({ imageResolvers: [ - "RNPhotoView.MWTapDetectingImageView", // react-native-photo-view - "RCTView.FFFastImageView" // react-native-fast-image - ].map(path => path.split(".")) + 'RNPhotoView.MWTapDetectingImageView', // react-native-photo-view + 'RCTView.FFFastImageView', // react-native-fast-image + ].map(path => path.split('.')), }); } export const RNSharedElementTransitionView = isAvailable - ? requireNativeComponent("RNSharedElementTransition") + ? requireNativeComponent('RNSharedElementTransition') : undefined; diff --git a/src/RNSharedElementTransitionView.web.tsx b/src/RNSharedElementTransitionView.web.tsx index ca72869..1584977 100644 --- a/src/RNSharedElementTransitionView.web.tsx +++ b/src/RNSharedElementTransitionView.web.tsx @@ -1,12 +1,12 @@ -import * as React from "react"; -import { View, findNodeHandle } from "react-native"; +import * as React from 'react'; +import { View, findNodeHandle } from 'react-native'; import { RNSharedElementTransition, RNSharedElementNodeConfig, RNSharedElementAnimation, RNSharedElementResize, - RNSharedElementAlign -} from "./web"; + RNSharedElementAlign, +} from './web'; type PropsType = { startNode: { @@ -32,7 +32,7 @@ export class RNSharedElementTransitionView extends React.Component< StateType > { state = { - transition: new RNSharedElementTransition() + transition: new RNSharedElementTransition(), }; static getDerivedStateFromProps(props: PropsType, state: StateType) { @@ -42,7 +42,7 @@ export class RNSharedElementTransitionView extends React.Component< animation, resize, align, - nodePosition + nodePosition, } = props; const { transition } = state; transition.setNode(false, startNode.node, startNode.ancestor); diff --git a/src/SharedElement.tsx b/src/SharedElement.tsx index 0efa922..6983b90 100644 --- a/src/SharedElement.tsx +++ b/src/SharedElement.tsx @@ -1,6 +1,6 @@ -import * as React from "react"; -import { View, findNodeHandle, ViewStyle } from "react-native"; -import { SharedElementNode } from "./types"; +import * as React from 'react'; +import { View, findNodeHandle, ViewStyle } from 'react-native'; +import { SharedElementNode } from './types'; export type SharedElementProps = ViewStyle & { children: React.ReactNode; @@ -18,7 +18,7 @@ export function nodeFromRef( ref, nodeHandle, isParent: isParent || false, - parentInstance + parentInstance, } : null; } diff --git a/src/SharedElementTransition.tsx b/src/SharedElementTransition.tsx index ad32eef..4431347 100644 --- a/src/SharedElementTransition.tsx +++ b/src/SharedElementTransition.tsx @@ -1,4 +1,4 @@ -import * as React from "react"; +import * as React from 'react'; import { View, Text, @@ -6,17 +6,17 @@ import { Dimensions, StyleSheet, processColor, - Platform -} from "react-native"; + Platform, +} from 'react-native'; import { SharedElementNode, SharedElementAnimation, SharedElementResize, SharedElementAlign, SharedElementNodeType, - SharedElementContentType -} from "./types"; -import { RNSharedElementTransitionView } from "./RNSharedElementTransitionView"; + SharedElementContentType, +} from './types'; +import { RNSharedElementTransitionView } from './RNSharedElementTransitionView'; export type SharedElementMeasureData = { node: SharedElementNodeType; @@ -64,56 +64,56 @@ export type SharedElementTransitionProps = { }; const NativeAnimationType = new Map([ - ["move", 0], - ["fade", 1], - ["fade-in", 2], - ["fade-out", 3] + ['move', 0], + ['fade', 1], + ['fade-in', 2], + ['fade-out', 3], ]); const NativeResizeType = new Map([ - ["auto", 0], - ["stretch", 1], - ["clip", 2], - ["none", 3] + ['auto', 0], + ['stretch', 1], + ['clip', 2], + ['none', 3], ]); const NativeAlignType = new Map([ - ["auto", 0], - ["left-top", 1], - ["left-center", 2], - ["left-bottom", 3], - ["right-top", 4], - ["right-center", 5], - ["right-bottom", 6], - ["center-top", 7], - ["center-center", 8], - ["center-bottom", 9] + ['auto', 0], + ['left-top', 1], + ['left-center', 2], + ['left-bottom', 3], + ['right-top', 4], + ['right-center', 5], + ['right-bottom', 6], + ['center-top', 7], + ['center-center', 8], + ['center-bottom', 9], ]); const debugColors = { - startNode: "#82B2E8", - endNode: "#5EFF9B", - pink: "#DC9CFF", - startAncestor: "#E88F82", - endAncestor: "#FFDC8F" + startNode: '#82B2E8', + endNode: '#5EFF9B', + pink: '#DC9CFF', + startAncestor: '#E88F82', + endAncestor: '#FFDC8F', }; const debugStyles = StyleSheet.create({ overlay: { ...StyleSheet.absoluteFillObject, - backgroundColor: "black", - opacity: 0.3 + backgroundColor: 'black', + opacity: 0.3, }, text: { marginLeft: 3, marginTop: 3, - fontSize: 10 + fontSize: 10, }, box: { - position: "absolute", + position: 'absolute', borderWidth: 1, - borderStyle: "dashed" - } + borderStyle: 'dashed', + }, }); type StateType = { @@ -135,9 +135,9 @@ export class SharedElementTransition extends React.Component< start: {}, end: {}, SharedElementComponent: RNAnimatedSharedElementTransitionView, - animation: "move", - resize: "auto", - align: "auto" + animation: 'move', + resize: 'auto', + align: 'auto', }; private static isNotAvailableWarningShown = false; @@ -167,7 +167,7 @@ export class SharedElementTransition extends React.Component< ? { nodeHandle: node.nodeHandle, isParent: node.isParent, - nodeStyle + nodeStyle, } : undefined; } @@ -179,13 +179,13 @@ export class SharedElementTransition extends React.Component< !SharedElementTransition.isNotAvailableWarningShown ) { SharedElementTransition.isNotAvailableWarningShown = true; - if (Platform.OS === "android" || Platform.OS === "ios") { + if (Platform.OS === 'android' || Platform.OS === 'ios') { console.warn( - "RNSharedElementTransition is not available, did you forget to link `react-native-shared-element` into your project?" + 'RNSharedElementTransition is not available, did you forget to link `react-native-shared-element` into your project?' ); } else { console.warn( - "RNSharedElementTransition is not available on this platform" + 'RNSharedElementTransition is not available on this platform' ); } } @@ -210,8 +210,8 @@ export class SharedElementTransition extends React.Component< const isFullScreen = layout.visibleX === 0 && layout.visibleY === 0 && - layout.visibleWidth === Dimensions.get("window").width && - layout.visibleHeight === Dimensions.get("window").height; + layout.visibleWidth === Dimensions.get('window').width && + layout.visibleHeight === Dimensions.get('window').height; const color = debugColors[name]; return ( @@ -226,8 +226,8 @@ export class SharedElementTransition extends React.Component< width: layout.contentWidth, height: layout.contentHeight, borderColor: color, - opacity: 0.5 - } + opacity: 0.5, + }, ]} > Content @@ -244,14 +244,14 @@ export class SharedElementTransition extends React.Component< width: layout.width, height: layout.height, borderColor: color, - borderRadius: style.borderRadius || 0 - } + borderRadius: style.borderRadius || 0, + }, ]} > {name} @@ -259,25 +259,25 @@ export class SharedElementTransition extends React.Component< @@ -307,11 +307,11 @@ export class SharedElementTransition extends React.Component< {/*this.renderDebugOverlay()*/} - {this.renderDebugLayer("startNode")} - {this.renderDebugLayer("endNode")} + {this.renderDebugLayer('startNode')} + {this.renderDebugLayer('endNode')} ); } @@ -334,7 +334,7 @@ export class SharedElementTransition extends React.Component< const { nativeEvent } = event; const { onMeasure } = this.props; this.setState({ - [`${nativeEvent.node}`]: nativeEvent + [`${nativeEvent.node}`]: nativeEvent, }); // console.log("onMeasure: ", nativeEvent); if (onMeasure) { diff --git a/src/index.tsx b/src/index.tsx index a6f9b81..aba564e 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,3 +1,3 @@ -export * from "./SharedElement"; -export * from "./SharedElementTransition"; -export * from "./types"; +export * from './SharedElement'; +export * from './SharedElementTransition'; +export * from './types'; diff --git a/src/types.tsx b/src/types.tsx index 0c252c2..53e17d0 100644 --- a/src/types.tsx +++ b/src/types.tsx @@ -5,30 +5,30 @@ export type SharedElementNode = { parentInstance: any; }; -export type SharedElementAnimation = "move" | "fade" | "fade-in" | "fade-out"; +export type SharedElementAnimation = 'move' | 'fade' | 'fade-in' | 'fade-out'; -export type SharedElementResize = "auto" | "stretch" | "clip" | "none"; +export type SharedElementResize = 'auto' | 'stretch' | 'clip' | 'none'; export type SharedElementAlign = - | "auto" - | "left-top" - | "left-center" - | "left-bottom" - | "right-top" - | "right-center" - | "right-bottom" - | "center-top" - | "center-center" - | "center-bottom"; + | 'auto' + | 'left-top' + | 'left-center' + | 'left-bottom' + | 'right-top' + | 'right-center' + | 'right-bottom' + | 'center-top' + | 'center-center' + | 'center-bottom'; export type SharedElementNodeType = - | "startNode" - | "endNode" - | "startAncestor" - | "endAncestor"; + | 'startNode' + | 'endNode' + | 'startAncestor' + | 'endAncestor'; export type SharedElementContentType = - | "none" - | "snapshotView" - | "snapshotImage" - | "image"; + | 'none' + | 'snapshotView' + | 'snapshotImage' + | 'image'; diff --git a/src/web/Color.ts b/src/web/Color.ts index 3307964..8f6ee81 100644 --- a/src/web/Color.ts +++ b/src/web/Color.ts @@ -4,7 +4,7 @@ export function parseColor(color: string | Color): Color { if (Array.isArray(color)) return color; let cache; const p = parseInt; - color = color.replace(/\s/g, ""); // Remove all spaces + color = color.replace(/\s/g, ''); // Remove all spaces // Checks for 6 digit hex and converts string to integer if ((cache = /#([\da-fA-F]{2})([\da-fA-F]{2})([\da-fA-F]{2})/.exec(color))) @@ -15,7 +15,7 @@ export function parseColor(color: string | Color): Color { p(cache[1], 16) * 17, p(cache[2], 16) * 17, p(cache[3], 16) * 17, - 1 + 1, ]; // Checks for rgba and converts string to // integer/float using unary + operator to save bytes @@ -28,7 +28,7 @@ export function parseColor(color: string | Color): Color { else if ((cache = /rgb\(([\d]+),([\d]+),([\d]+)\)/.exec(color))) return [+cache[1], +cache[2], +cache[3], 1]; // Otherwise throw an exception to make debugging easier - else throw color + " is not supported by parseColor"; + else throw color + ' is not supported by parseColor'; } export function formatColor(color: Color): string { diff --git a/src/web/RNSharedElementContent.ts b/src/web/RNSharedElementContent.ts index 09e100a..b5654a7 100644 --- a/src/web/RNSharedElementContent.ts +++ b/src/web/RNSharedElementContent.ts @@ -1,5 +1,5 @@ -import { Rect } from "./Rect"; -import { IHTMLElement } from "./types"; +import { Rect } from './Rect'; +import { IHTMLElement } from './types'; export class RNSharedElementContent { public readonly element: IHTMLElement; @@ -14,14 +14,14 @@ export class RNSharedElementContent { return new Promise(resolve => { if (element.style.backgroundImage) { // @ts-ignore - const img = document.createElement("img"); + const img = document.createElement('img'); img.onload = () => { resolve( new Rect({ x: 0, y: 0, width: img.width, - height: img.height + height: img.height, }) ); }; @@ -35,7 +35,7 @@ export class RNSharedElementContent { x: 0, y: 0, width: element.clientWidth || 0, - height: element.clientHeight || 0 + height: element.clientHeight || 0, }) ); }); @@ -54,22 +54,22 @@ export class RNSharedElementContent { const lo = width / height < contentAspectRatio; const aspectRatioCriteria = reverse ? !lo : lo; switch (resizeMode) { - case "stretch": - case "100% 100%": + case 'stretch': + case '100% 100%': // nop break; - case "cover": + case 'cover': if (aspectRatioCriteria) { width = height * contentAspectRatio; } else { height = width / contentAspectRatio; } break; - case "center": + case 'center': width = content.size.width; height = content.size.height; break; - case "contain": + case 'contain': default: if (aspectRatioCriteria) { height = width / contentAspectRatio; @@ -82,7 +82,7 @@ export class RNSharedElementContent { x: layout.x + (layout.width - width) / 2, y: layout.y + (layout.height - height) / 2, width, - height + height, }); } } diff --git a/src/web/RNSharedElementNode.ts b/src/web/RNSharedElementNode.ts index de8a0e5..7c39aec 100644 --- a/src/web/RNSharedElementNode.ts +++ b/src/web/RNSharedElementNode.ts @@ -1,7 +1,7 @@ -import { RNSharedElementStyle } from "./RNSharedElementStyle"; -import { RNSharedElementContent } from "./RNSharedElementContent"; -import { Rect } from "./Rect"; -import { IHTMLElement } from "./types"; +import { RNSharedElementStyle } from './RNSharedElementStyle'; +import { RNSharedElementContent } from './RNSharedElementContent'; +import { Rect } from './Rect'; +import { IHTMLElement } from './types'; export type RNSharedElementNodeStyleCallback = ( value: RNSharedElementStyle @@ -65,7 +65,7 @@ export class RNSharedElementNode { if (element.childNodes.length === 1) { element = element.childNodes[0]; } else if (element.childNodes.length <= 0) { - console.log("Child for parent doesnt exist"); + console.log('Child for parent doesnt exist'); return null; } } @@ -75,7 +75,7 @@ export class RNSharedElementNode { if (childNodes.length === 2) { for (let i = 0; i < 2; i++) { const childNode = childNodes[i]; - if (childNode.tagName === "IMG") { + if (childNode.tagName === 'IMG') { element = childNodes[i ? 0 : i + 1]; break; } @@ -97,7 +97,7 @@ export class RNSharedElementNode { this.styleCallbacks = this.styleCallbacks || []; this.styleCallbacks.push(resolve); if (!this.fetchInitialStyle()) { - console.debug("Failed to fetch style"); + console.debug('Failed to fetch style'); //startRetryLoop(); } }); @@ -120,7 +120,7 @@ export class RNSharedElementNode { x: rect.x - translateX, y: rect.y - translateY, width: rect.width, - height: rect.height + height: rect.height, }); // Create style diff --git a/src/web/RNSharedElementNodeManager.ts b/src/web/RNSharedElementNodeManager.ts index cd53963..43b3d15 100644 --- a/src/web/RNSharedElementNodeManager.ts +++ b/src/web/RNSharedElementNodeManager.ts @@ -1,5 +1,5 @@ -import { RNSharedElementNode } from "./RNSharedElementNode"; -import { IHTMLElement } from "./types"; +import { RNSharedElementNode } from './RNSharedElementNode'; +import { IHTMLElement } from './types'; export class RNSharedElementNodeManager { private nodes = new Map(); diff --git a/src/web/RNSharedElementStyle.ts b/src/web/RNSharedElementStyle.ts index 2faec04..7df5b11 100644 --- a/src/web/RNSharedElementStyle.ts +++ b/src/web/RNSharedElementStyle.ts @@ -1,6 +1,6 @@ -import { Rect } from "./Rect"; -import { CSSStyleDeclaration } from "./types"; -import { Color, parseColor, interpolateColor } from "./Color"; +import { Rect } from './Rect'; +import { CSSStyleDeclaration } from './types'; +import { Color, parseColor, interpolateColor } from './Color'; /*int backgroundColor = Color.TRANSPARENT; float opacity = 1; @@ -39,7 +39,7 @@ export class RNSharedElementStyle { x: interpolate(layout1.x, layout2.x, position), y: interpolate(layout1.y, layout2.y, position), width: interpolate(layout1.width, layout2.width, position), - height: interpolate(layout1.height, layout2.height, position) + height: interpolate(layout1.height, layout2.height, position), }); } @@ -60,7 +60,7 @@ export class RNSharedElementStyle { style1.backgroundColor, style2.backgroundColor, position - ) + ), }); } diff --git a/src/web/RNSharedElementTransition.ts b/src/web/RNSharedElementTransition.ts index 0984151..c0975e0 100644 --- a/src/web/RNSharedElementTransition.ts +++ b/src/web/RNSharedElementTransition.ts @@ -1,28 +1,28 @@ -import { RNSharedElementTransitionItem } from "./RNSharedElementTransitionItem"; +import { RNSharedElementTransitionItem } from './RNSharedElementTransitionItem'; // import { RNSharedElementNode } from "./RNSharedElementNode"; -import { RNSharedElementNodeManager } from "./RNSharedElementNodeManager"; +import { RNSharedElementNodeManager } from './RNSharedElementNodeManager'; import { RNSharedElementNodeConfig, RNSharedElementAnimation, RNSharedElementResize, RNSharedElementAlign, - IHTMLElement -} from "./types"; -import { Rect } from "./Rect"; -import { RNSharedElementStyle } from "./RNSharedElementStyle"; -import { RNSharedElementContent } from "./RNSharedElementContent"; -import { RNSharedElementView } from "./RNSharedElementView"; + IHTMLElement, +} from './types'; +import { Rect } from './Rect'; +import { RNSharedElementStyle } from './RNSharedElementStyle'; +import { RNSharedElementContent } from './RNSharedElementContent'; +import { RNSharedElementView } from './RNSharedElementView'; export class RNSharedElementTransition { private items = [ new RNSharedElementTransitionItem( RNSharedElementNodeManager.getInstance(), - "start" + 'start' ), new RNSharedElementTransitionItem( RNSharedElementNodeManager.getInstance(), - "end" - ) + 'end' + ), ]; public animation: RNSharedElementAnimation = RNSharedElementAnimation.Move; public resize: RNSharedElementResize = RNSharedElementResize.Auto; @@ -84,13 +84,13 @@ export class RNSharedElementTransition { if ( hidden && animation === RNSharedElementAnimation.FadeIn && - item.name === "start" + item.name === 'start' ) hidden = false; if ( hidden && animation === RNSharedElementAnimation.FadeOut && - item.name === "end" + item.name === 'end' ) hidden = false; item.hidden = hidden; @@ -102,7 +102,7 @@ export class RNSharedElementTransition { element, items, nodePosition, - animation /*, animation, resize, align*/ + animation /*, animation, resize, align*/, } = this; if (!element) return; diff --git a/src/web/RNSharedElementTransitionItem.ts b/src/web/RNSharedElementTransitionItem.ts index f68f1c5..fdf0b7e 100644 --- a/src/web/RNSharedElementTransitionItem.ts +++ b/src/web/RNSharedElementTransitionItem.ts @@ -1,7 +1,7 @@ -import { RNSharedElementNodeManager } from "./RNSharedElementNodeManager"; -import { RNSharedElementNode } from "./RNSharedElementNode"; -import { RNSharedElementContent } from "./RNSharedElementContent"; -import { RNSharedElementStyle } from "./RNSharedElementStyle"; +import { RNSharedElementNodeManager } from './RNSharedElementNodeManager'; +import { RNSharedElementNode } from './RNSharedElementNode'; +import { RNSharedElementContent } from './RNSharedElementContent'; +import { RNSharedElementStyle } from './RNSharedElementStyle'; export class RNSharedElementTransitionItem { private _hidden: boolean = false; diff --git a/src/web/RNSharedElementView.ts b/src/web/RNSharedElementView.ts index eabb825..7073564 100644 --- a/src/web/RNSharedElementView.ts +++ b/src/web/RNSharedElementView.ts @@ -1,25 +1,25 @@ import { IHTMLElement, RNSharedElementAlign, - RNSharedElementResize -} from "./types"; -import { Rect } from "./Rect"; -import { RNSharedElementStyle } from "./RNSharedElementStyle"; + RNSharedElementResize, +} from './types'; +import { Rect } from './Rect'; +import { RNSharedElementStyle } from './RNSharedElementStyle'; function initElement(element: IHTMLElement): IHTMLElement { const { style } = element; // Reset default layout behavior - style.position = "absolute"; - style.left = "0px"; - style.top = "0px"; - style.pointerEvents = "none"; - style.transformOrigin = "0% 0%"; - style.transformStyle = "preserve-3d"; - style.backfaceVisibility = "hidden"; - style.backgroundSize = "100% 100%"; - style.boxSizing = "border-box"; - style.overflow = "hidden"; + style.position = 'absolute'; + style.left = '0px'; + style.top = '0px'; + style.pointerEvents = 'none'; + style.transformOrigin = '0% 0%'; + style.transformStyle = 'preserve-3d'; + style.backfaceVisibility = 'hidden'; + style.backgroundSize = '100% 100%'; + style.boxSizing = 'border-box'; + style.overflow = 'hidden'; // Clear styles // style.backgroundColor = null; @@ -44,7 +44,7 @@ function createTransform( export class RNSharedElementView { public parentLayout: Rect = Rect.empty; // @ts-ignore - public readonly element = initElement(document.createElement("div")); + public readonly element = initElement(document.createElement('div')); public layout: Rect = Rect.empty; public style: RNSharedElementStyle | null = null; public originalLayout: Rect = Rect.empty; @@ -100,8 +100,8 @@ export class RNSharedElementView { const { x, y, width: scaledWidth, height: scaledHeight } = layout; // Update size - const widthPx = width + "px"; - const heightPx = height + "px"; + const widthPx = width + 'px'; + const heightPx = height + 'px'; const { style } = element; if (style.width !== widthPx) style.width = widthPx; if (style.height !== heightPx) style.height = heightPx; @@ -138,13 +138,13 @@ export class RNSharedElementView { contentLayout, originalLayout, align, - resize + resize, } = this; const { x, y, width, height } = layout; // Update size - const widthPx = width + "px"; - const heightPx = height + "px"; + const widthPx = width + 'px'; + const heightPx = height + 'px'; const { style } = element; if (style.width !== widthPx) style.width = widthPx; if (style.height !== heightPx) style.height = heightPx; @@ -160,11 +160,11 @@ export class RNSharedElementView { x: contentX, y: contentY, width: contentWidth, - height: contentHeight + height: contentHeight, } = contentLayout; // Get content size - let overflow = "hidden"; + let overflow = 'hidden'; switch (resize) { case RNSharedElementResize.Auto: // keep original size @@ -180,7 +180,7 @@ export class RNSharedElementView { case RNSharedElementResize.None: contentWidth = originalLayout.width; contentHeight = originalLayout.height; - overflow = "visible"; + overflow = 'visible'; break; } @@ -226,8 +226,8 @@ export class RNSharedElementView { } // Update content size - const contentWidthPx = contentWidth + "px"; - const contentHeightPx = contentHeight + "px"; + const contentWidthPx = contentWidth + 'px'; + const contentHeightPx = contentHeight + 'px'; const { style: contentStyle } = this._contentElement; if (contentStyle.width !== widthPx) contentStyle.width = contentWidthPx; if (contentStyle.height !== heightPx) contentStyle.height = contentHeightPx; diff --git a/src/web/Rect.ts b/src/web/Rect.ts index 71ea95b..f321baa 100644 --- a/src/web/Rect.ts +++ b/src/web/Rect.ts @@ -1,4 +1,4 @@ -import { IRect } from "./types"; +import { IRect } from './types'; export class Rect implements IRect { public x: number = 0; diff --git a/src/web/index.ts b/src/web/index.ts index ae83d7a..bbb8fc7 100644 --- a/src/web/index.ts +++ b/src/web/index.ts @@ -1,2 +1,2 @@ -export * from "./RNSharedElementTransition"; -export * from "./types"; +export * from './RNSharedElementTransition'; +export * from './types'; diff --git a/src/web/types.ts b/src/web/types.ts index e9f9ad2..4641cac 100644 --- a/src/web/types.ts +++ b/src/web/types.ts @@ -29,14 +29,14 @@ export enum RNSharedElementAnimation { Move = 0, Fade = 1, FadeIn = 2, - FadeOut = 3 + FadeOut = 3, } export enum RNSharedElementResize { Auto = 0, Stretch = 1, Clip = 2, - None = 3 + None = 3, } export enum RNSharedElementAlign { @@ -49,5 +49,5 @@ export enum RNSharedElementAlign { RightBottom = 6, CenterTop = 7, CenterCenter = 8, - CenterBottom = 9 + CenterBottom = 9, } From c36504fe0429deed726fe7f451302c91c2f87256 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Tue, 12 Nov 2019 11:05:58 +0100 Subject: [PATCH 27/46] chore: updated dev-deps to latest versions and eslint config --- .eslintrc.js | 17 +- package.json | 38 +- yarn.lock | 2440 +++++++++++++++++++++++++++----------------------- 3 files changed, 1317 insertions(+), 1178 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 7ff5b48..2428ff6 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,21 +1,6 @@ module.exports = { - extends: ["@react-native-community", "prettier"], - plugins: ["prettier", "react", "react-native"], - parserOptions: { - ecmaFeatures: { - jsx: true - } - }, + extends: "satya164", rules: { "react-native/no-inline-styles": 0 - }, - env: { - node: true, - "react-native/react-native": true - }, - settings: { - react: { - version: "latest" - } } }; diff --git a/package.json b/package.json index 6d635e6..3c36d1b 100644 --- a/package.json +++ b/package.json @@ -45,31 +45,33 @@ "react-native": "*" }, "devDependencies": { - "@commitlint/config-conventional": "^8.1.0", + "@commitlint/config-conventional": "^8.2.0", "@react-native-community/bob": "^0.7.0", "@react-native-community/eslint-config": "^0.0.5", - "@types/react": "^16.9.2", - "@types/react-native": "^0.60.6", - "commitlint": "^8.1.0", - "conventional-changelog-cli": "^2.0.23", - "eslint": "^6.3.0", - "eslint-config-prettier": "^6.1.0", - "eslint-plugin-prettier": "^3.1.0", - "eslint-plugin-react": "^7.14.2", - "eslint-plugin-react-native": "^3.7.0", - "husky": "^3.0.4", - "jest": "^24.7.0", - "prettier": "^1.18.2", - "react": "16.9.0", - "react-native": "0.60.5", - "react-test-renderer": "16.9.0", - "typescript": "^3.5.3" + "@types/react": "^16.9.11", + "@types/react-native": "^0.60.22", + "commitlint": "^8.2.0", + "conventional-changelog-cli": "^2.0.27", + "eslint": "^6.6.0", + "eslint-config-satya164": "^3.1.2", + "husky": "^3.0.9", + "jest": "^24.9.0", + "prettier": "^1.19.1", + "react": "^16.11.0", + "react-native": "^0.61.4", + "react-test-renderer": "^16.11.0", + "typescript": "^3.7.2" }, "@react-native-community/bob": { "source": "src", "output": "lib", "targets": [ - "commonjs", + [ + "commonjs", + { + "flow": true + } + ], "module", "typescript" ] diff --git a/yarn.lock b/yarn.lock index d70532c..77e6001 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,39 +9,19 @@ dependencies: "@babel/highlight" "^7.0.0" -"@babel/core@^7.0.0", "@babel/core@^7.4.0": - version "7.5.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.4.tgz#4c32df7ad5a58e9ea27ad025c11276324e0b4ddd" - integrity sha512-+DaeBEpYq6b2+ZmHx3tHspC+ZRflrvLqwfv8E3hNr5LVQoyBnL8RPKSBCg+rK2W2My9PWlujBiqd0ZPsR9Q6zQ== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.5.0" - "@babel/helpers" "^7.5.4" - "@babel/parser" "^7.5.0" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.0" - "@babel/types" "^7.5.0" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.11" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.1.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" - integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== +"@babel/core@^7.0.0", "@babel/core@^7.1.0", "@babel/core@^7.4.0": + version "7.7.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.2.tgz#ea5b99693bcfc058116f42fa1dd54da412b29d91" + integrity sha512-eeD7VEZKfhK1KUXGiyPFettgF3m513f8FoBSWiQ1xTvl1RAopLs42Wp9+Ze911I6H0N9lNqJMDgoZT7gHsipeQ== dependencies: "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helpers" "^7.5.5" - "@babel/parser" "^7.5.5" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - convert-source-map "^1.1.0" + "@babel/generator" "^7.7.2" + "@babel/helpers" "^7.7.0" + "@babel/parser" "^7.7.2" + "@babel/template" "^7.7.0" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.7.2" + convert-source-map "^1.7.0" debug "^4.1.0" json5 "^2.1.0" lodash "^4.17.13" @@ -49,144 +29,140 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.0.tgz#f20e4b7a91750ee8b63656073d843d2a736dca4a" - integrity sha512-1TTVrt7J9rcG5PMjvO7VEG3FrEoEJNHxumRq66GemPmzboLWtIjjcJgk8rokuAS7IiRSpgVSu5Vb9lc99iJkOA== +"@babel/generator@^7.0.0", "@babel/generator@^7.4.0", "@babel/generator@^7.7.2": + version "7.7.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.7.2.tgz#2f4852d04131a5e17ea4f6645488b5da66ebf3af" + integrity sha512-WthSArvAjYLz4TcbKOi88me+KmDJdKSlfwwN8CnUYn9jBkzhq0ZEPuBfkAWIvjJ3AdEV1Cf/+eSQTnp3IDJKlQ== dependencies: - "@babel/types" "^7.5.0" - jsesc "^2.5.1" - lodash "^4.17.11" - source-map "^0.5.0" - trim-right "^1.0.1" - -"@babel/generator@^7.4.0", "@babel/generator@^7.5.0", "@babel/generator@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf" - integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ== - dependencies: - "@babel/types" "^7.5.5" + "@babel/types" "^7.7.2" jsesc "^2.5.1" lodash "^4.17.13" source-map "^0.5.0" - trim-right "^1.0.1" -"@babel/helper-annotate-as-pure@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" - integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q== +"@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.0.tgz#efc54032d43891fe267679e63f6860aa7dbf4a5e" + integrity sha512-k50CQxMlYTYo+GGyUGFwpxKVtxVJi9yh61sXZji3zYHccK9RYliZGSTOgci85T+r+0VFN2nWbGM04PIqwfrpMg== dependencies: - "@babel/types" "^7.0.0" + "@babel/types" "^7.7.0" "@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" - integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w== + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.0.tgz#32dd9551d6ed3a5fc2edc50d6912852aa18274d9" + integrity sha512-Cd8r8zs4RKDwMG/92lpZcnn5WPQ3LAMQbCw42oqUh4s7vsSN5ANUZjMel0OOnxDLq57hoDDbai+ryygYfCTOsw== dependencies: - "@babel/helper-explode-assignable-expression" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/helper-explode-assignable-expression" "^7.7.0" + "@babel/types" "^7.7.0" -"@babel/helper-builder-react-jsx@^7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4" - integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw== +"@babel/helper-builder-react-jsx@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.7.0.tgz#c6b8254d305bacd62beb648e4dea7d3ed79f352d" + integrity sha512-LSln3cexwInTMYYoFeVLKnYPPMfWNJ8PubTBs3hkh7wCu9iBaqq1OOyW+xGmEdLxT1nhsl+9SJ+h2oUDYz0l2A== dependencies: - "@babel/types" "^7.3.0" + "@babel/types" "^7.7.0" esutils "^2.0.0" "@babel/helper-call-delegate@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43" - integrity sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ== - dependencies: - "@babel/helper-hoist-variables" "^7.4.4" - "@babel/traverse" "^7.4.4" - "@babel/types" "^7.4.4" + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.7.0.tgz#df8942452c2c1a217335ca7e393b9afc67f668dc" + integrity sha512-Su0Mdq7uSSWGZayGMMQ+z6lnL00mMCnGAbO/R0ZO9odIdB/WNU/VfQKqMQU0fdIsxQYbRjDM4BixIa93SQIpvw== + dependencies: + "@babel/helper-hoist-variables" "^7.7.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.0" + +"@babel/helper-create-class-features-plugin@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.7.0.tgz#bcdc223abbfdd386f94196ae2544987f8df775e8" + integrity sha512-MZiB5qvTWoyiFOgootmRSDV1udjIqJW/8lmxgzKq6oDqxdmHUjeP2ZUOmgHdYjmUVNABqRrHjYAYRvj8Eox/UA== + dependencies: + "@babel/helper-function-name" "^7.7.0" + "@babel/helper-member-expression-to-functions" "^7.7.0" + "@babel/helper-optimise-call-expression" "^7.7.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.7.0" + "@babel/helper-split-export-declaration" "^7.7.0" -"@babel/helper-create-class-features-plugin@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.0.tgz#02edb97f512d44ba23b3227f1bf2ed43454edac5" - integrity sha512-EAoMc3hE5vE5LNhMqDOwB1usHvmRjCDAnH8CD4PVkX9/Yr3W/tcz8xE8QvdZxfsFBDICwZnF2UTHIqslRpvxmA== +"@babel/helper-create-regexp-features-plugin@^7.7.0": + version "7.7.2" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.2.tgz#6f20443778c8fce2af2ff4206284afc0ced65db6" + integrity sha512-pAil/ZixjTlrzNpjx+l/C/wJk002Wo7XbbZ8oujH/AoJ3Juv0iN/UTcPUHXKMFLqsfS0Hy6Aow8M31brUYBlQQ== dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-member-expression-to-functions" "^7.0.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.4.4" - "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/helper-regex" "^7.4.4" + regexpu-core "^4.6.0" -"@babel/helper-define-map@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz#6969d1f570b46bdc900d1eba8e5d59c48ba2c12a" - integrity sha512-IX3Ln8gLhZpSuqHJSnTNBWGDE9kdkTEWl21A/K7PQ00tseBwbqCHTvNLHSBd9M0R5rER4h5Rsvj9vw0R5SieBg== +"@babel/helper-define-map@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.7.0.tgz#60b0e9fd60def9de5054c38afde8c8ee409c7529" + integrity sha512-kPKWPb0dMpZi+ov1hJiwse9dWweZsz3V9rP4KdytnX1E7z3cTNmFGglwklzFPuqIcHLIY3bgKSs4vkwXXdflQA== dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/types" "^7.4.4" - lodash "^4.17.11" + "@babel/helper-function-name" "^7.7.0" + "@babel/types" "^7.7.0" + lodash "^4.17.13" -"@babel/helper-explode-assignable-expression@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" - integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA== +"@babel/helper-explode-assignable-expression@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.0.tgz#db2a6705555ae1f9f33b4b8212a546bc7f9dc3ef" + integrity sha512-CDs26w2shdD1urNUAji2RJXyBFCaR+iBEGnFz3l7maizMkQe3saVw9WtjG1tz8CwbjvlFnaSLVhgnu1SWaherg== dependencies: - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.0" -"@babel/helper-function-name@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" - integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== +"@babel/helper-function-name@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.7.0.tgz#44a5ad151cfff8ed2599c91682dda2ec2c8430a3" + integrity sha512-tDsJgMUAP00Ugv8O2aGEua5I2apkaQO7lBGUq1ocwN3G23JE5Dcq0uh3GvFTChPa4b40AWiAsLvCZOA2rdnQ7Q== dependencies: - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/helper-get-function-arity" "^7.7.0" + "@babel/template" "^7.7.0" + "@babel/types" "^7.7.0" -"@babel/helper-get-function-arity@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== +"@babel/helper-get-function-arity@^7.0.0", "@babel/helper-get-function-arity@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.0.tgz#c604886bc97287a1d1398092bc666bc3d7d7aa2d" + integrity sha512-tLdojOTz4vWcEnHWHCuPN5P85JLZWbm5Fx5ZsMEMPhF3Uoe3O7awrbM2nQ04bDOUToH/2tH/ezKEOR8zEYzqyw== dependencies: - "@babel/types" "^7.0.0" + "@babel/types" "^7.7.0" -"@babel/helper-hoist-variables@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a" - integrity sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w== +"@babel/helper-hoist-variables@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.0.tgz#b4552e4cfe5577d7de7b183e193e84e4ec538c81" + integrity sha512-LUe/92NqsDAkJjjCEWkNe+/PcpnisvnqdlRe19FahVapa4jndeuJ+FBiTX1rcAKWKcJGE+C3Q3tuEuxkSmCEiQ== dependencies: - "@babel/types" "^7.4.4" + "@babel/types" "^7.7.0" -"@babel/helper-member-expression-to-functions@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" - integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg== +"@babel/helper-member-expression-to-functions@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.0.tgz#472b93003a57071f95a541ea6c2b098398bcad8a" + integrity sha512-QaCZLO2RtBcmvO/ekOLp8p7R5X2JriKRizeDpm5ChATAFWrrYDcDxPuCIBXKyBjY+i1vYSdcUTMIb8psfxHDPA== dependencies: - "@babel/types" "^7.0.0" + "@babel/types" "^7.7.0" -"@babel/helper-module-imports@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" - integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.7.0.tgz#99c095889466e5f7b6d66d98dffc58baaf42654d" + integrity sha512-Dv3hLKIC1jyfTkClvyEkYP2OlkzNvWs5+Q8WgPbxM5LMeorons7iPP91JM+DU7tRbhqA1ZeooPaMFvQrn23RHw== dependencies: - "@babel/types" "^7.0.0" + "@babel/types" "^7.7.0" -"@babel/helper-module-transforms@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz#96115ea42a2f139e619e98ed46df6019b94414b8" - integrity sha512-3Z1yp8TVQf+B4ynN7WoHPKS8EkdTbgAEy0nU0rs/1Kw4pDgmvYH3rz3aI11KgxKCba2cn7N+tqzV1mY2HMN96w== +"@babel/helper-module-transforms@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.7.0.tgz#154a69f0c5b8fd4d39e49750ff7ac4faa3f36786" + integrity sha512-rXEefBuheUYQyX4WjV19tuknrJFwyKw0HgzRwbkyTbB+Dshlq7eqkWbyjzToLrMZk/5wKVKdWFluiAsVkHXvuQ== dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/template" "^7.4.4" - "@babel/types" "^7.4.4" - lodash "^4.17.11" + "@babel/helper-module-imports" "^7.7.0" + "@babel/helper-simple-access" "^7.7.0" + "@babel/helper-split-export-declaration" "^7.7.0" + "@babel/template" "^7.7.0" + "@babel/types" "^7.7.0" + lodash "^4.17.13" -"@babel/helper-optimise-call-expression@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" - integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== +"@babel/helper-optimise-call-expression@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.0.tgz#4f66a216116a66164135dc618c5d8b7a959f9365" + integrity sha512-48TeqmbazjNU/65niiiJIJRc5JozB8acui1OS7bSd6PgxfuovWsvjfWSzlgx+gPFdVveNzUdpdIg5l56Pl5jqg== dependencies: - "@babel/types" "^7.0.0" + "@babel/types" "^7.7.0" "@babel/helper-plugin-utils@^7.0.0": version "7.0.0" @@ -194,66 +170,66 @@ integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== "@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.4.4.tgz#a47e02bc91fb259d2e6727c2a30013e3ac13c4a2" - integrity sha512-Y5nuB/kESmR3tKjU8Nkn1wMGEx1tjJX076HBMeL3XLQCu6vA/YRzuTW0bbb+qRnXvQGn+d6Rx953yffl8vEy7Q== - dependencies: - lodash "^4.17.11" - -"@babel/helper-remap-async-to-generator@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" - integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-wrap-function" "^7.1.0" - "@babel/template" "^7.1.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz#aee41783ebe4f2d3ab3ae775e1cc6f1a90cefa27" - integrity sha512-04xGEnd+s01nY1l15EuMS1rfKktNF+1CkKmHoErDppjAAZL+IUBZpzT748x262HF7fibaQPhbvWUl5HeSt1EXg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.0.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/traverse" "^7.4.4" - "@babel/types" "^7.4.4" - -"@babel/helper-simple-access@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" - integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w== - dependencies: - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-split-export-declaration@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" - integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== - dependencies: - "@babel/types" "^7.4.4" - -"@babel/helper-wrap-function@^7.1.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" - integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/template" "^7.1.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.2.0" - -"@babel/helpers@^7.5.4", "@babel/helpers@^7.5.5": version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" - integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g== + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351" + integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw== dependencies: - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" + lodash "^4.17.13" + +"@babel/helper-remap-async-to-generator@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.0.tgz#4d69ec653e8bff5bce62f5d33fc1508f223c75a7" + integrity sha512-pHx7RN8X0UNHPB/fnuDnRXVZ316ZigkO8y8D835JlZ2SSdFKb6yH9MIYRU4fy/KPe5sPHDFOPvf8QLdbAGGiyw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.7.0" + "@babel/helper-wrap-function" "^7.7.0" + "@babel/template" "^7.7.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.0" + +"@babel/helper-replace-supers@^7.5.5", "@babel/helper-replace-supers@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.7.0.tgz#d5365c8667fe7cbd13b8ddddceb9bd7f2b387512" + integrity sha512-5ALYEul5V8xNdxEeWvRsBzLMxQksT7MaStpxjJf9KsnLxpAKBtfw5NeMKZJSYDa0lKdOcy0g+JT/f5mPSulUgg== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.7.0" + "@babel/helper-optimise-call-expression" "^7.7.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.0" + +"@babel/helper-simple-access@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.7.0.tgz#97a8b6c52105d76031b86237dc1852b44837243d" + integrity sha512-AJ7IZD7Eem3zZRuj5JtzFAptBw7pMlS3y8Qv09vaBWoFsle0d1kAn5Wq6Q9MyBXITPOKnxwkZKoAm4bopmv26g== + dependencies: + "@babel/template" "^7.7.0" + "@babel/types" "^7.7.0" + +"@babel/helper-split-export-declaration@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.0.tgz#1365e74ea6c614deeb56ebffabd71006a0eb2300" + integrity sha512-HgYSI8rH08neWlAH3CcdkFg9qX9YsZysZI5GD8LjhQib/mM0jGOZOVkoUiiV2Hu978fRtjtsGsW6w0pKHUWtqA== + dependencies: + "@babel/types" "^7.7.0" + +"@babel/helper-wrap-function@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.7.0.tgz#15af3d3e98f8417a60554acbb6c14e75e0b33b74" + integrity sha512-sd4QjeMgQqzshSjecZjOp8uKfUtnpmCyQhKQrVJBBgeHAB/0FPi33h3AbVlVp07qQtMD4QgYSzaMI7VwncNK/w== + dependencies: + "@babel/helper-function-name" "^7.7.0" + "@babel/template" "^7.7.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.0" + +"@babel/helpers@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.7.0.tgz#359bb5ac3b4726f7c1fde0ec75f64b3f4275d60b" + integrity sha512-VnNwL4YOhbejHb7x/b5F39Zdg5vIQpUUNzJwx0ww1EcVRt41bbGRZWhAURrfY32T5zTT3qwNOQFWpn+P0i0a2g== + dependencies: + "@babel/template" "^7.7.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.0" "@babel/highlight@^7.0.0": version "7.5.0" @@ -264,15 +240,10 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.0.tgz#3e0713dff89ad6ae37faec3b29dcfc5c979770b7" - integrity sha512-I5nW8AhGpOXGCCNYGc+p7ExQIBxRFnS2fd/d862bNOKvmoEPjYPcfIjsfdy0ujagYOIYPczKgD9l3FsgTkAzKA== - -"@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.0", "@babel/parser@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" - integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.7.2": + version "7.7.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.3.tgz#5fad457c2529de476a248f75b0f090b3060af043" + integrity sha512-bqv+iCo9i+uLVbI0ILzKkvMorqxouI+GbV13ivcARXn9NNEabi2IEz912IgNpT/60BNXac5dgcfjb94NjsF33A== "@babel/plugin-external-helpers@^7.0.0": version "7.2.0" @@ -282,11 +253,11 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-class-properties@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.0.tgz#5bc6a0537d286fcb4fd4e89975adbca334987007" - integrity sha512-9L/JfPCT+kShiiTTzcnBJ8cOwdKVmlC1RcCf9F0F9tERVrM4iWtWnXtjWCRqNm2la2BxO1MPArWNsU9zsSJWSQ== + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.7.0.tgz#ac54e728ecf81d90e8f4d2a9c05a890457107917" + integrity sha512-tufDcFA1Vj+eWvwHN+jvMN6QsV5o+vUlytNKrbMiCeDL0F2j92RURzUsUMWE5EJkLyWxjdUslCsMQa9FWth16A== dependencies: - "@babel/helper-create-class-features-plugin" "^7.5.0" + "@babel/helper-create-class-features-plugin" "^7.7.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-export-default-from@^7.0.0": @@ -306,9 +277,9 @@ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.2.0" "@babel/plugin-proposal-object-rest-spread@^7.0.0": - version "7.5.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.4.tgz#250de35d867ce8260a31b1fdac6c4fc1baa99331" - integrity sha512-KCx0z3y7y8ipZUMAEEJOyNi11lMb/FOPUjjB113tfowgw0c16EGYos7worCKBcUAh2oG+OBnoUhsnTSoLpV9uA== + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz#8ffccc8f3a6545e9f78988b6bf4fe881b88e8096" + integrity sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" @@ -322,9 +293,9 @@ "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" "@babel/plugin-proposal-optional-chaining@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz#ae454f4c21c6c2ce8cb2397dc332ae8b420c5441" - integrity sha512-ea3Q6edZC/55wEBVZAEz42v528VulyO0eir+7uky/sT4XRcdkWJcFi1aPtitTlwUzGnECWJNExWww1SStt+yWw== + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.6.0.tgz#e9bf1f9b9ba10c77c033082da75f068389041af8" + integrity sha512-kj4gkZ6qUggkprRq3Uh5KP8XnE1MdIO0J7MhdDX8+rAbB6dJ2UrensGIS+0NPZAaaJ1Vr0PN6oLUgXMU1uMcSg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-chaining" "^7.2.0" @@ -351,9 +322,9 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz#a765f061f803bc48f240c26f8747faf97c26bf7c" - integrity sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg== + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.7.0.tgz#5c9465bcd26354d5215294ea90ab1c706a571386" + integrity sha512-vQMV07p+L+jZeUnvX3pEJ9EiXGCjB5CTTvsirFD9rpEuATnoAvLBLoYbw1v5tyn3d2XxSuvEKi8cV3KqYUa0vQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -407,13 +378,13 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-async-to-generator@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e" - integrity sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg== + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.0.tgz#e2b84f11952cf5913fe3438b7d2585042772f492" + integrity sha512-vLI2EFLVvRBL3d8roAMqtVY0Bm9C1QzLkdS57hiKrjUBSqsQYrBsMCeOg/0KK7B0eK9V71J5mWcha9yyoI2tZw== dependencies: - "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-module-imports" "^7.7.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.1.0" + "@babel/helper-remap-async-to-generator" "^7.7.0" "@babel/plugin-transform-block-scoped-functions@^7.0.0": version "7.2.0" @@ -423,25 +394,25 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-block-scoping@^7.0.0": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz#c13279fabf6b916661531841a23c4b7dae29646d" - integrity sha512-jkTUyWZcTrwxu5DD4rWz6rDB5Cjdmgz6z7M7RLXOJyCUkFBawssDGcGh8M/0FTSB87avyJI1HsTwUXp9nKA1PA== + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz#6e854e51fbbaa84351b15d4ddafe342f3a5d542a" + integrity sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.11" + lodash "^4.17.13" "@babel/plugin-transform-classes@^7.0.0": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz#0ce4094cdafd709721076d3b9c38ad31ca715eb6" - integrity sha512-/e44eFLImEGIpL9qPxSRat13I5QNRgBLu2hOQJCF7VLy/otSM/sypV1+XaIw5+502RX/+6YaSAPmldk+nhHDPw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.4.4" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-optimise-call-expression" "^7.0.0" + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.0.tgz#b411ecc1b8822d24b81e5d184f24149136eddd4a" + integrity sha512-/b3cKIZwGeUesZheU9jNYcwrEA7f/Bo4IdPmvp7oHgvks2majB5BoT5byAql44fiNQYOPzhk2w8DbgfuafkMoA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.7.0" + "@babel/helper-define-map" "^7.7.0" + "@babel/helper-function-name" "^7.7.0" + "@babel/helper-optimise-call-expression" "^7.7.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.4.4" - "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/helper-replace-supers" "^7.7.0" + "@babel/helper-split-export-declaration" "^7.7.0" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.0.0": @@ -452,9 +423,9 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-destructuring@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" - integrity sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ== + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz#44bbe08b57f4480094d57d9ffbcd96d309075ba6" + integrity sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -467,9 +438,9 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-flow-strip-types@^7.0.0": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz#d267a081f49a8705fc9146de0768c6b58dccd8f7" - integrity sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q== + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.6.3.tgz#8110f153e7360cfd5996eee68706cfad92d85256" + integrity sha512-l0ETkyEofkqFJ9LS6HChNIKtVJw2ylKbhYMlJ5C6df+ldxxaLIyXY4yOdDQQspfFpV8/vDiaWoJlvflstlYNxg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-flow" "^7.2.0" @@ -482,11 +453,11 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-function-name@^7.0.0": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad" - integrity sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA== + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.0.tgz#0fa786f1eef52e3b7d4fc02e54b2129de8a04c2a" + integrity sha512-P5HKu0d9+CzZxP5jcrWdpe7ZlFDe24bmqP6a6X8BHEBl/eizAsY8K6LX8LASZL0Jxdjm5eEfzp+FIrxCm/p8bA== dependencies: - "@babel/helper-function-name" "^7.1.0" + "@babel/helper-function-name" "^7.7.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-literals@^7.0.0": @@ -504,13 +475,13 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-modules-commonjs@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74" - integrity sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ== + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.0.tgz#3e5ffb4fd8c947feede69cbe24c9554ab4113fe3" + integrity sha512-KEMyWNNWnjOom8vR/1+d+Ocz/mILZG/eyHHO06OuBQ2aNhxT62fr4y6fGOplRx+CxCSp3IFwesL8WdINfY/3kg== dependencies: - "@babel/helper-module-transforms" "^7.4.4" + "@babel/helper-module-transforms" "^7.7.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" + "@babel/helper-simple-access" "^7.7.0" babel-plugin-dynamic-import-node "^2.3.0" "@babel/plugin-transform-object-assign@^7.0.0": @@ -521,12 +492,12 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-object-super@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598" - integrity sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg== + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz#c70021df834073c65eb613b8679cc4a381d1a9f9" + integrity sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.1.0" + "@babel/helper-replace-supers" "^7.5.5" "@babel/plugin-transform-parameters@^7.0.0": version "7.4.4" @@ -560,25 +531,25 @@ "@babel/plugin-syntax-jsx" "^7.2.0" "@babel/plugin-transform-react-jsx@^7.0.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" - integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg== + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.7.0.tgz#834b0723ba78cd4d24d7d629300c2270f516d0b7" + integrity sha512-mXhBtyVB1Ujfy+0L6934jeJcSXj/VCg6whZzEcgiiZHNS0PGC7vUCsZDQCxxztkpIdF+dY1fUMcjAgEOC3ZOMQ== dependencies: - "@babel/helper-builder-react-jsx" "^7.3.0" + "@babel/helper-builder-react-jsx" "^7.7.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" "@babel/plugin-transform-regenerator@^7.0.0": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" - integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA== + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.0.tgz#f1b20b535e7716b622c99e989259d7dd942dd9cc" + integrity sha512-AXmvnC+0wuj/cFkkS/HFHIojxH3ffSXE+ttulrqWjZZRaUOonfJc60e1wSNT4rV8tIunvu/R3wCp71/tLAa9xg== dependencies: regenerator-transform "^0.14.0" "@babel/plugin-transform-runtime@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.5.0.tgz#45242c2c9281158c5f06d25beebac63e498a284e" - integrity sha512-LmPIZOAgTLl+86gR9KjLXex6P/lRz1fWEjTz6V6QZMmKie51ja3tvzdwORqhHc4RWR8TcZ5pClpRWs0mlaA2ng== + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.2.tgz#2669f67c1fae0ae8d8bf696e4263ad52cb98b6f8" + integrity sha512-cqULw/QB4yl73cS5Y0TZlQSjDvNkzDbu0FurTZyHlJpWE5T3PCMdnyV+xXoH1opr1ldyHODe3QAX3OMAii5NxA== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -593,9 +564,9 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-spread@^7.0.0": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" - integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w== + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz#fc77cf798b24b10c46e1b51b1b88c2bf661bb8dd" + integrity sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -616,99 +587,73 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript@^7.0.0": - version "7.5.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.5.2.tgz#ea7da440d29b8ccdb1bd02e18f6cfdc7ce6c16f5" - integrity sha512-r4zJOMbKY5puETm8+cIpaa0RQZG/sSASW1u0pj8qYklcERgVIbxVbP2wyJA7zI1//h7lEagQmXi9IL9iI5rfsA== + version "7.7.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.7.2.tgz#eb9f14c516b5d36f4d6f3a9d7badae6d0fc313d4" + integrity sha512-UWhDaJRqdPUtdK1s0sKYdoRuqK0NepjZto2UZltvuCgMoMZmdjhgz5hcRokie/3aYEaSz3xvusyoayVaq4PjRg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.5.0" + "@babel/helper-create-class-features-plugin" "^7.7.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-typescript" "^7.2.0" "@babel/plugin-transform-unicode-regex@^7.0.0": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f" - integrity sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA== + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.0.tgz#743d9bcc44080e3cc7d49259a066efa30f9187a3" + integrity sha512-RrThb0gdrNwFAqEAAx9OWgtx6ICK69x7i9tCnMdVrxQwSDp/Abu9DXFU5Hh16VP33Rmxh04+NGW28NsIkFvFKA== dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.7.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" "@babel/register@^7.0.0": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.4.4.tgz#370a68ba36f08f015a8b35d4864176c6b65d7a23" - integrity sha512-sn51H88GRa00+ZoMqCVgOphmswG4b7mhf9VOB0LUBAieykq2GnRFerlN+JQkO/ntT7wz4jaHNSRPg9IdMPEUkA== + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.7.0.tgz#4e23ecf840296ef79c605baaa5c89e1a2426314b" + integrity sha512-HV3GJzTvSoyOMWGYn2TAh6uL6g+gqKTgEZ99Q3+X9UURT1VPT/WcU46R61XftIc5rXytcOHZ4Z0doDlsjPomIg== dependencies: - core-js "^3.0.0" find-cache-dir "^2.0.0" - lodash "^4.17.11" - mkdirp "^0.5.1" + lodash "^4.17.13" + make-dir "^2.1.0" pirates "^4.0.0" - source-map-support "^0.5.9" + source-map-support "^0.5.16" "@babel/runtime@^7.0.0": - version "7.5.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.4.tgz#cb7d1ad7c6d65676e66b47186577930465b5271b" - integrity sha512-Na84uwyImZZc3FKf4aUF1tysApzwf3p2yuFBIyBfbzT5glzKTdvYI4KVW4kcgjrzoGUjC7w3YyCHcJKaRxsr2Q== + version "7.7.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.2.tgz#111a78002a5c25fc8e3361bedc9529c696b85a6a" + integrity sha512-JONRbXbTXc9WQE2mAZd1p0Z3DZ/6vaQIkgYMSTP3KjRCyd7rCZCcfhCyX+YjwcKxcZ82UrxbRD358bpExNgrjw== dependencies: regenerator-runtime "^0.13.2" -"@babel/template@^7.0.0", "@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" - integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.4.4" - "@babel/types" "^7.4.4" - -"@babel/traverse@^7.0.0", "@babel/traverse@^7.4.4": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.0.tgz#4216d6586854ef5c3c4592dab56ec7eb78485485" - integrity sha512-SnA9aLbyOCcnnbQEGwdfBggnc142h/rbqqsXcaATj2hZcegCl903pUD/lfpsNBlBSuWow/YDfRyJuWi2EPR5cg== +"@babel/template@^7.0.0", "@babel/template@^7.4.0", "@babel/template@^7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.7.0.tgz#4fadc1b8e734d97f56de39c77de76f2562e597d0" + integrity sha512-OKcwSYOW1mhWbnTBgQY5lvg1Fxg+VyfQGjcBduZFljfc044J5iDlnDSfhQ867O17XHiSCxYHUxHg2b7ryitbUQ== dependencies: "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.5.0" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.5.0" - "@babel/types" "^7.5.0" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.11" + "@babel/parser" "^7.7.0" + "@babel/types" "^7.7.0" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.5.0", "@babel/traverse@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb" - integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ== +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2": + version "7.7.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.2.tgz#ef0a65e07a2f3c550967366b3d9b62a2dcbeae09" + integrity sha512-TM01cXib2+rgIZrGJOLaHV/iZUAxf4A0dt5auY6KNZ+cm6aschuJGqKJM3ROTt3raPUdIDk9siAufIFEleRwtw== dependencies: "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.5.5" - "@babel/types" "^7.5.5" + "@babel/generator" "^7.7.2" + "@babel/helper-function-name" "^7.7.0" + "@babel/helper-split-export-declaration" "^7.7.0" + "@babel/parser" "^7.7.2" + "@babel/types" "^7.7.2" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.13" -"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.0", "@babel/types@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a" - integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw== +"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.7.0", "@babel/types@^7.7.2": + version "7.7.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.2.tgz#550b82e5571dcd174af576e23f0adba7ffc683f7" + integrity sha512-YTf6PXoh3+eZgRCBzzP25Bugd2ngmpQVrk7kXX0i5N9BO7TFBtIgZYs7WtxtOGs8e6A4ZI7ECkbBCEHeXocvOA== dependencies: esutils "^2.0.2" lodash "^4.17.13" to-fast-properties "^2.0.0" -"@babel/types@^7.2.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.0.tgz#e47d43840c2e7f9105bc4d3a2c371b4d0c7832ab" - integrity sha512-UFpDVqRABKsW01bvw7/wSUe56uy6RXM5+VJibVVAybDGxEW25jdwiFJEf7ASvSaC7sN7rbE/l3cLp2izav+CtQ== - dependencies: - esutils "^2.0.2" - lodash "^4.17.11" - to-fast-properties "^2.0.0" - "@cnakazawa/watch@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" @@ -717,107 +662,107 @@ exec-sh "^0.3.2" minimist "^1.2.0" -"@commitlint/cli@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-8.1.0.tgz#a3d4236c0ac961d7026a53d728b179c696d6a045" - integrity sha512-83K5C2nIAgoZlzMegf0/MEBjX+ampUyc/u79RxgX9ZYjzos+RQtNyO7I43dztVxPXSwAnX9XRgoOfkGWA4nbig== +"@commitlint/cli@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-8.2.0.tgz#fbf9969e04e2162d985eaa644fdad6ce807aadb6" + integrity sha512-8fJ5pmytc38yw2QWbTTJmXLfSiWPwMkHH4govo9zJ/+ERPBF2jvlxD/dQvk24ezcizjKc6LFka2edYC4OQ+Dgw== dependencies: - "@commitlint/format" "^8.1.0" - "@commitlint/lint" "^8.1.0" - "@commitlint/load" "^8.1.0" - "@commitlint/read" "^8.1.0" + "@commitlint/format" "^8.2.0" + "@commitlint/lint" "^8.2.0" + "@commitlint/load" "^8.2.0" + "@commitlint/read" "^8.2.0" babel-polyfill "6.26.0" - chalk "2.3.1" + chalk "2.4.2" get-stdin "7.0.0" lodash "4.17.14" meow "5.0.0" resolve-from "5.0.0" resolve-global "1.0.0" -"@commitlint/config-conventional@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-8.1.0.tgz#ba61fbf0ad4df52da2b5ee3034470371a2cbf039" - integrity sha512-/JY+FNBnrT91qzDVIoV1Buiigvj7Le7ezFw+oRqu0nYREX03k7xnaG/7t7rUSvm7hM6dnLSOlaUsevjgMI9AEw== +"@commitlint/config-conventional@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-8.2.0.tgz#886a5538e3708e017ec2871e0cbce00f635d3102" + integrity sha512-HuwlHQ3DyVhpK9GHgTMhJXD8Zp8PGIQVpQGYh/iTrEU6TVxdRC61BxIDZvfWatCaiG617Z/U8maRAFrqFM4TqA== -"@commitlint/ensure@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-8.1.0.tgz#6c669f85c3005ed15c8141d83cf5312c43001613" - integrity sha512-dBU4CcjN0vJSDNOeSpaHNgQ1ra444u4USvI6PTaHVAS4aeDpZ5Cds1rxkZNsocu48WNycUu0jP84+zjcw2pPLQ== +"@commitlint/ensure@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-8.2.0.tgz#fad0c81c3d3bd09aa5fbcbcc483ae1f39bc8af8f" + integrity sha512-XZZih/kcRrqK7lEORbSYCfqQw6byfsFbLygRGVdJMlCPGu9E2MjpwCtoj5z7y/lKfUB3MJaBhzn2muJqS1gC6A== dependencies: lodash "4.17.14" -"@commitlint/execute-rule@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-8.1.0.tgz#e8386bd0836b3dcdd41ebb9d5904bbeb447e4715" - integrity sha512-+vpH3RFuO6ypuCqhP2rSqTjFTQ7ClzXtUvXphpROv9v9+7zH4L+Ex+wZLVkL8Xj2cxefSLn/5Kcqa9XyJTn3kg== +"@commitlint/execute-rule@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-8.2.0.tgz#aefb3744e22613660adefb7ebcccaa60bd24e78d" + integrity sha512-9MBRthHaulbWTa8ReG2Oii2qc117NuvzhZdnkuKuYLhker7sUXGFcVhLanuWUKGyfyI2o9zVr/NHsNbCCsTzAA== -"@commitlint/format@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-8.1.0.tgz#c3f3ca78bb74cbc1cce1368c0974b0cb8f31b98e" - integrity sha512-D0cmabUTQIKdABgt08d9JAvO9+lMRAmkcsZx8TMScY502R67HCw77JhzRDcw1RmqX5rN8JO6ZjDHO92Pbwlt+Q== +"@commitlint/format@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-8.2.0.tgz#0a2447fadac7c0421ce8a8d7e27dfa2172c737d4" + integrity sha512-sA77agkDEMsEMrlGhrLtAg8vRexkOofEEv/CZX+4xlANyAz2kNwJvMg33lcL65CBhqKEnRRJRxfZ1ZqcujdKcQ== dependencies: chalk "^2.0.1" -"@commitlint/is-ignored@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-8.1.0.tgz#c0583fa3c641b2d4898be1443e70e9c467429de2" - integrity sha512-HUSxx6kuLbqrQ8jb5QRzo+yR+CIXgA9HNcIcZ1qWrb+O9GOixt3mlW8li1IcfIgfODlaWoxIz0jYCxR08IoQLg== +"@commitlint/is-ignored@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-8.2.0.tgz#b6409ab28bf5a80f25e14da17da3916adb230a89" + integrity sha512-ADaGnKfbfV6KD1pETp0Qf7XAyc75xTy3WJlbvPbwZ4oPdBMsXF0oXEEGMis6qABfU2IXan5/KAJgAFX3vdd0jA== dependencies: "@types/semver" "^6.0.1" - semver "6.1.1" + semver "6.2.0" -"@commitlint/lint@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-8.1.0.tgz#ad10f4885c06f14c71de11dcd6bf2ca54a395141" - integrity sha512-WYjbUgtqvnlVH3S3XPZMAa+N7KO0yQ+GuUG20Qra+EtER6SRYawykmEs4wAyrmY8VcFXUnKgSlIQUsqmGKwNZQ== +"@commitlint/lint@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-8.2.0.tgz#aadc606379f3550eb877f16d4f5b103639cbf92a" + integrity sha512-ch9JN8aR37ufdjoWv50jLfvFz9rWMgLW5HEkMGLsM/51gjekmQYS5NJg8S2+6F5+jmralAO7VkUMI6FukXKX0A== dependencies: - "@commitlint/is-ignored" "^8.1.0" - "@commitlint/parse" "^8.1.0" - "@commitlint/rules" "^8.1.0" + "@commitlint/is-ignored" "^8.2.0" + "@commitlint/parse" "^8.2.0" + "@commitlint/rules" "^8.2.0" babel-runtime "^6.23.0" lodash "4.17.14" -"@commitlint/load@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-8.1.0.tgz#63b72ae5bb9152b8fa5b17c5428053032a9a49c8" - integrity sha512-ra02Dvmd7Gp1+uFLzTY3yGOpHjPzl5T9wYg/xrtPJNiOWXvQ0Mw7THw+ucd1M5iLUWjvdavv2N87YDRc428wHg== +"@commitlint/load@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-8.2.0.tgz#9ca53a0c795e4f63d796b4d42279e856549add1a" + integrity sha512-EV6PfAY/p83QynNd1llHxJiNxKmp43g8+7dZbyfHFbsGOdokrCnoelAVZ+WGgktXwLN/uXyfkcIAxwac015UYw== dependencies: - "@commitlint/execute-rule" "^8.1.0" - "@commitlint/resolve-extends" "^8.1.0" + "@commitlint/execute-rule" "^8.2.0" + "@commitlint/resolve-extends" "^8.2.0" babel-runtime "^6.23.0" chalk "2.4.2" cosmiconfig "^5.2.0" lodash "4.17.14" resolve-from "^5.0.0" -"@commitlint/message@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-8.1.0.tgz#8fb8046ddaa7e5c846a79da7cdbd15cf1a7770ae" - integrity sha512-AjHq022G8jQQ/3YrBOjwVBD4xF75hvC3vcvFoBIb7cC8vad1QWq+1w+aks0KlEK5IW+/+7ORZXIH+oyW7h3+8A== +"@commitlint/message@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-8.2.0.tgz#bdc0388183f6bc6006c7e7e197a721683011907a" + integrity sha512-LNsSwDLIFgE3nb/Sb1PIluYNy4Q8igdf4tpJCdv5JJDf7CZCZt3ZTglj0YutZZorpRRuHJsVIB2+dI4bVH3bFw== -"@commitlint/parse@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-8.1.0.tgz#833243c6d848e7a7e775a283b38697166ed2fd22" - integrity sha512-n4fEbZ5kdK5HChvne7Mj8rGGkKMfA4H11IuWiWmmMzgmZTNb/B04LPrzdUm4lm3f10XzM2JMM7PLXqofQJOGvA== +"@commitlint/parse@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-8.2.0.tgz#de80137e89ee5a2d3029656c9b33e90c88c6f56c" + integrity sha512-vzouqroTXG6QXApkrps0gbeSYW6w5drpUk7QAeZIcaCSPsQXDM8eqqt98ZzlzLJHo5oPNXPX1AAVSTrssvHemA== dependencies: conventional-changelog-angular "^1.3.3" conventional-commits-parser "^2.1.0" lodash "^4.17.11" -"@commitlint/read@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-8.1.0.tgz#effe07c965ba1735a5f7f8b7b19ac4d98c887507" - integrity sha512-PKsGMQFEr2sX/+orI71b82iyi8xFqb7F4cTvsLxzB5x6/QutxPVM3rg+tEVdi6rBKIDuqRIp2puDZQuREZs3vg== +"@commitlint/read@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-8.2.0.tgz#54c6549723d532c74434ee0d74e0459032dc9159" + integrity sha512-1tBai1VuSQmsOTsvJr3Fi/GZqX3zdxRqYe/yN4i3cLA5S2Y4QGJ5I3l6nGZlKgm/sSelTCVKHltrfWU8s5H7SA== dependencies: - "@commitlint/top-level" "^8.1.0" + "@commitlint/top-level" "^8.2.0" "@marionebl/sander" "^0.6.0" babel-runtime "^6.23.0" git-raw-commits "^1.3.0" -"@commitlint/resolve-extends@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-8.1.0.tgz#ed67f2ee484160ac8e0078bae52f172625157472" - integrity sha512-r/y+CeKW72Oa9BUctS1+I/MFCDiI3lfhwfQ65Tpfn6eZ4CuBYKzrCRi++GTHeAFKE3y8q1epJq5Rl/1GBejtBw== +"@commitlint/resolve-extends@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-8.2.0.tgz#b7f2f0c71c10f24b98a199ed11d2c14cfd7a318f" + integrity sha512-cwi0HUsDcD502HBP8huXfTkVuWmeo1Fiz3GKxNwMBBsJV4+bKa7QrtxbNpXhVuarX7QjWfNTvmW6KmFS7YK9uw== dependencies: "@types/node" "^12.0.2" import-fresh "^3.0.0" @@ -825,42 +770,42 @@ resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/rules@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-8.1.0.tgz#009c64a8a23feb4647e5a25057997be62a272c8a" - integrity sha512-hlM8VfNjsOkbvMteFyqn0c3akiUjqG09Iid28MBLrXl/d+8BR3eTzwJ4wMta4oz/iqGyrIywvg1FpHrV977MPA== +"@commitlint/rules@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-8.2.0.tgz#4cd6a323ca1a3f3d33ae6dc723f8c88f3dcde347" + integrity sha512-FlqSBBP2Gxt5Ibw+bxdYpzqYR6HI8NIBpaTBhAjSEAduQtdWFMOhF0zsgkwH7lHN7opaLcnY2fXxAhbzTmJQQA== dependencies: - "@commitlint/ensure" "^8.1.0" - "@commitlint/message" "^8.1.0" - "@commitlint/to-lines" "^8.1.0" + "@commitlint/ensure" "^8.2.0" + "@commitlint/message" "^8.2.0" + "@commitlint/to-lines" "^8.2.0" babel-runtime "^6.23.0" -"@commitlint/to-lines@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-8.1.0.tgz#5bf2597f46acacec4b1b3dba832ac8934798b22a" - integrity sha512-Lh4OH1bInI8GME/7FggS0/XkIMEJdTObMbXRyPRGaPcWH5S7zpB6y+b4qjzBHXAbEv2O46QAAMjZ+ywPQCpmYQ== +"@commitlint/to-lines@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-8.2.0.tgz#dddb5916a457e1a79e437115a9b8eac7bf9ad52a" + integrity sha512-LXTYG3sMenlN5qwyTZ6czOULVcx46uMy+MEVqpvCgptqr/MZcV/C2J+S2o1DGwj1gOEFMpqrZaE3/1R2Q+N8ng== -"@commitlint/top-level@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-8.1.0.tgz#f1950de73a1f76ef5c9e753a6b77402e0755d677" - integrity sha512-EvQuofuA/+0l1w9pkG/PRyIwACmZdIh9qxyax7w7mR8qqmSHscqf2jARIylh1TOx0uI9egO8MuPLiwC1RwyREA== +"@commitlint/top-level@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-8.2.0.tgz#206e7cbc54dbe9494190677f887dd60943fed5b0" + integrity sha512-Yaw4KmYNy31/HhRUuZ+fupFcDalnfpdu4JGBgGAqS9aBHdMSSWdWqtAaDaxdtWjTZeN3O0sA2gOhXwvKwiDwvw== dependencies: find-up "^4.0.0" "@hapi/address@2.x.x": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a" - integrity sha512-mV6T0IYqb0xL1UALPFplXYQmR0twnXG0M6jUswpquqT2sD12BOiCiLy3EvMp/Fy7s3DZElC4/aPjEjo2jeZpvw== + version "2.1.2" + resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.2.tgz#1c794cd6dbf2354d1eb1ef10e0303f573e1c7222" + integrity sha512-O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q== "@hapi/bourne@1.x.x": version "1.3.2" resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== -"@hapi/hoek@8.x.x": - version "8.2.1" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.2.1.tgz#924af04cbb22e17359c620d2a9c946e63f58eb77" - integrity sha512-JPiBy+oSmsq3St7XlipfN5pNA6bDJ1kpa73PrK/zR29CVClDVqy04AanM/M/qx5bSF+I61DdCfAvRrujau+zRg== +"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.0.tgz#2f9ce301c8898e1c3248b0a8564696b24d1a9a5a" + integrity sha512-7XYT10CZfPsH7j9F1Jmg1+d0ezOux2oM2GfArAzLwWe4mE2Dr3hVjsAL6+TFY49RRJlCdJDMw3nJsLFroTc8Kw== "@hapi/joi@^15.0.3": version "15.1.1" @@ -873,11 +818,11 @@ "@hapi/topo" "3.x.x" "@hapi/topo@3.x.x": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.3.tgz#c7a02e0d936596d29f184e6d7fdc07e8b5efce11" - integrity sha512-JmS9/vQK6dcUYn7wc2YZTqzIKubAQcJKu2KCKAru6es482U5RT5fP1EXCPtlXpiK7PR0On/kpQKI4fRKkzpZBQ== + version "3.1.6" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" + integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== dependencies: - "@hapi/hoek" "8.x.x" + "@hapi/hoek" "^8.3.0" "@jest/console@^24.7.1", "@jest/console@^24.9.0": version "24.9.0" @@ -1054,12 +999,12 @@ optionalDependencies: jetifier "^1.0.0-beta04.2" -"@react-native-community/cli-platform-android@^2.6.0", "@react-native-community/cli-platform-android@^2.9.0": - version "2.9.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-2.9.0.tgz#28831e61ce565a2c7d1905852fce1eecfd33cb5e" - integrity sha512-VEQs4Q6R5tnlYFrQIFoPEWjLc43whRHC9HeH+idbFymwDqysLVUffQbb9D6PJUj+C/AvrDhBhU6S3tDjGbSsag== +"@react-native-community/cli-platform-android@^3.0.0-alpha.1", "@react-native-community/cli-platform-android@^3.0.0-alpha.7": + version "3.0.0-alpha.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-3.0.0-alpha.7.tgz#03c3671ab72b62a8742aa71b66cb8d594171891f" + integrity sha512-Ot/4K841f3vJZM5K7Za/bYgGeXUJyBsZZuoFvnEMAmR/tS6QCrsv8NQ7f/E3HmxvWaSEVNiiF8NiW2+qo6YDxg== dependencies: - "@react-native-community/cli-tools" "^2.8.3" + "@react-native-community/cli-tools" "^3.0.0-alpha.7" chalk "^2.4.2" execa "^1.0.0" jetifier "^1.6.2" @@ -1067,35 +1012,47 @@ slash "^3.0.0" xmldoc "^1.1.2" -"@react-native-community/cli-platform-ios@^2.4.1", "@react-native-community/cli-platform-ios@^2.9.0": - version "2.9.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-2.9.0.tgz#21adb8ee813d6ca6fd9d4d9be63f92024f7e2fe7" - integrity sha512-vg6EOamtFaaQ02FiWu+jzJTfeTJ0OVjJSAoR2rhJKNye6RgJLoQlfp0Hg3waF6XrO72a7afYZsPdKSlN3ewlHg== +"@react-native-community/cli-platform-ios@^3.0.0-alpha.1", "@react-native-community/cli-platform-ios@^3.0.0-alpha.7": + version "3.0.0-alpha.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-3.0.0-alpha.7.tgz#21be15fc3b8117e0e62caf1e754f2760d78cfa93" + integrity sha512-6qM5LpzhCEhkb9MC+nxrOHX2TxoN4qm8+Vg9byIW/wExl8dWCTneRUbQ5qFlkkMksS2U63LiRVSCXK08d6x5bA== dependencies: - "@react-native-community/cli-tools" "^2.8.3" + "@react-native-community/cli-tools" "^3.0.0-alpha.7" chalk "^2.4.2" + js-yaml "^3.13.1" xcode "^2.0.0" -"@react-native-community/cli-tools@^2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-2.8.3.tgz#0e2249f48cf4603fb8d740a9f0715c31ac131ceb" - integrity sha512-N5Pz+pR+GFq3JApjd0SW4jp9KC7kbKsMH65QLRh30JNsxdPvNkYox6/ZZdkvdXaI5ev3EckR7eqlcwi5gpVTYQ== +"@react-native-community/cli-tools@^3.0.0-alpha.7": + version "3.0.0-alpha.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-3.0.0-alpha.7.tgz#1018283598e3f2ddc785d1381ca8692ec51735a5" + integrity sha512-x4XdeMtAx7RC1YP5cqLWIggXOuzuANItWi8BD8R/ak6GWMRd3X5L2HFuLa6GDXgkWSXtoUvqOilJplhVhLRrmQ== dependencies: chalk "^2.4.2" lodash "^4.17.5" mime "^2.4.1" node-fetch "^2.5.0" -"@react-native-community/cli@^2.6.0": - version "2.9.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-2.9.0.tgz#f0d18dc3e5a8f68e3d6ad353c444dc2f08d3fbdc" - integrity sha512-6TYkrR1pwIEPpiPZnOYscCGr5Xh8RijqBPVAOGTaEdpQQpc/J7GDPrePwbyTzwmCPtiK6XT+T5+1AiAK5bz/sw== +"@react-native-community/cli-types@^3.0.0-alpha.7": + version "3.0.0-alpha.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-3.0.0-alpha.7.tgz#b4c19fd71824400a57c7f6758fa1f7b15eece32d" + integrity sha512-anT+l41FK7EJXOlOx8ZzIgskDuslT5A5NkMg2Kt3YzAxf8wrCBbOo5/CjnuW6pi9fvjGgB810Yw3tFSl4yZY4A== + +"@react-native-community/cli@^3.0.0-alpha.1": + version "3.0.0-alpha.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-3.0.0-alpha.7.tgz#df8cb6a878d106da36e4f994f9d8c3541c3834ee" + integrity sha512-gmAnmH9sqReBEvfZxk0A3gw0Ddb6UNHYvbjjyM+qgH2TbEAWCfLHLqiHNSCYxfO3hkDyz4mj/cvtb8ahFjTdIw== dependencies: "@hapi/joi" "^15.0.3" - "@react-native-community/cli-platform-android" "^2.9.0" - "@react-native-community/cli-platform-ios" "^2.9.0" - "@react-native-community/cli-tools" "^2.8.3" + "@react-native-community/cli-platform-android" "^3.0.0-alpha.7" + "@react-native-community/cli-platform-ios" "^3.0.0-alpha.7" + "@react-native-community/cli-tools" "^3.0.0-alpha.7" + "@react-native-community/cli-types" "^3.0.0-alpha.7" + "@types/mkdirp" "^0.5.2" + "@types/node-notifier" "^5.4.0" + "@types/semver" "^6.0.2" + "@types/ws" "^6.0.3" chalk "^2.4.2" + command-exists "^1.2.8" commander "^2.19.0" compression "^1.7.1" connect "^3.6.5" @@ -1104,15 +1061,16 @@ envinfo "^7.1.0" errorhandler "^1.5.0" execa "^1.0.0" + find-up "^4.1.0" fs-extra "^7.0.1" glob "^7.1.1" graceful-fs "^4.1.3" inquirer "^3.0.6" lodash "^4.17.5" - metro "^0.54.1" - metro-config "^0.54.1" - metro-core "^0.54.1" - metro-react-native-babel-transformer "^0.54.1" + metro "^0.56.0" + metro-config "^0.56.0" + metro-core "^0.56.0" + metro-react-native-babel-transformer "^0.56.0" minimist "^1.2.0" mkdirp "^0.5.1" morgan "^1.9.0" @@ -1120,9 +1078,12 @@ open "^6.2.0" ora "^3.4.0" plist "^3.0.0" - semver "^5.0.3" + semver "^6.3.0" serve-static "^1.13.1" shell-quote "1.6.1" + strip-ansi "^5.2.0" + sudo-prompt "^9.0.0" + wcwidth "^1.0.1" ws "^1.1.0" "@react-native-community/eslint-config@^0.0.5": @@ -1143,9 +1104,9 @@ prettier "1.16.4" "@types/babel__core@^7.1.0": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" - integrity sha512-cfCCrFmiGY/yq0NuKNxIQvZFy9kY/1immpSpTngOnyIbD4+eJOG5mxphhHDv3CHL9GltO4GcKr54kGBg3RNdbg== + version "7.1.3" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30" + integrity sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -1154,9 +1115,9 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" - integrity sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ== + version "7.6.0" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.0.tgz#f1ec1c104d1bb463556ecb724018ab788d0c172a" + integrity sha512-c1mZUu4up5cp9KROs/QAw0gTeHrw/x7m52LcnvMxxOZ03DmLwPV0MlGmlgzV3cnSdjhJOZsj7E7FHeioai+egw== dependencies: "@babel/types" "^7.0.0" @@ -1214,20 +1175,34 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" +"@types/json-schema@^7.0.3": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" + integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A== + "@types/minimatch@*": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== -"@types/node@*": - version "12.6.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.2.tgz#a5ccec6abb6060d5f20d256fb03ed743e9774999" - integrity sha512-gojym4tX0FWeV2gsW4Xmzo5wxGjXGm550oVUII7f7G5o4BV6c7DBdiG1RRQd+y1bvqRyYtPfMK85UM95vsapqQ== +"@types/mkdirp@^0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.5.2.tgz#503aacfe5cc2703d5484326b1b27efa67a339c1f" + integrity sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg== + dependencies: + "@types/node" "*" -"@types/node@^12.0.2": - version "12.7.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.2.tgz#c4e63af5e8823ce9cc3f0b34f7b998c2171f0c44" - integrity sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg== +"@types/node-notifier@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@types/node-notifier/-/node-notifier-5.4.0.tgz#4e66c85eb41cce8387b4cd9c6c67852be41a99db" + integrity sha512-M1XvCG6Rwej6+W0+kWultE46YS7erOy+W7suRmXtKwLGT3ytj6YEe9lqo47nRfL1xILzg9xJpKeNczIsWR8ymw== + dependencies: + "@types/node" "*" + +"@types/node@*", "@types/node@^12.0.2": + version "12.12.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.7.tgz#01e4ea724d9e3bd50d90c11fd5980ba317d8fa11" + integrity sha512-E6Zn0rffhgd130zbCbAr/JdXfXkoOUFAKNs/rF8qnafSJ8KYaA/j3oz7dcwal+lYjLA7xvdd5J4wdYpCTlP8+w== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -1235,85 +1210,135 @@ integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== "@types/prop-types@*": - version "15.7.1" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6" - integrity sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg== + version "15.7.3" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" + integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== -"@types/react-native@^0.60.6": - version "0.60.8" - resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.60.8.tgz#71f340b4b97ed0b1161f942354e0eebc9fbe5b00" - integrity sha512-bk13deCDm/DiNFdrF8Y5je++G9NPaCT/VxkSBY1Rcxu3rWZQIQal9uIH0Qc0Vi9sRX9us32EPevYylbscH3wEg== +"@types/react-native@^0.60.22": + version "0.60.22" + resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.60.22.tgz#ba199a441cb0612514244ffb1d0fe6f04c878575" + integrity sha512-LTXMKEyGA+x4kadmjujX6yAgpcaZutJ01lC7zLJWCULaZg7Qw5/3iOQpwIJRUcOc+a8A2RR7rSxplehVf9IuhA== dependencies: "@types/prop-types" "*" "@types/react" "*" -"@types/react@*", "@types/react@^16.9.2": - version "16.9.2" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.2.tgz#6d1765431a1ad1877979013906731aae373de268" - integrity sha512-jYP2LWwlh+FTqGd9v7ynUKZzjj98T8x7Yclz479QdRhHfuW9yQ+0jjnD31eXSXutmBpppj5PYNLYLRfnZJvcfg== +"@types/react@*", "@types/react@^16.9.11": + version "16.9.11" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.11.tgz#70e0b7ad79058a7842f25ccf2999807076ada120" + integrity sha512-UBT4GZ3PokTXSWmdgC/GeCGEJXE5ofWyibCcecRLUVN2ZBpXQGVgQGtG2foS7CrTKFKlQVVswLvf7Js6XA/CVQ== dependencies: "@types/prop-types" "*" csstype "^2.2.0" -"@types/semver@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-6.0.1.tgz#a984b405c702fa5a7ec6abc56b37f2ba35ef5af6" - integrity sha512-ffCdcrEE5h8DqVxinQjo+2d1q+FV5z7iNtPofw3JsrltSoSVlOGaW0rY8XxtO9XukdTn8TaCGWmk2VFGhI70mg== +"@types/semver@^6.0.1", "@types/semver@^6.0.2": + version "6.2.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-6.2.0.tgz#d688d574400d96c5b0114968705366f431831e1a" + integrity sha512-1OzrNb4RuAzIT7wHSsgZRlMBlNsJl+do6UblR7JMW4oB7bbR+uBEYtUh7gEc/jM84GGilh68lSOokyM/zNUlBA== "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== +"@types/ws@^6.0.3": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-6.0.3.tgz#b772375ba59d79066561c8d87500144d674ba6b3" + integrity sha512-yBTM0P05Tx9iXGq00BbJPo37ox68R5vaGTXivs6RGh/BQ6QP5zqZDGWdAO6JbRE/iR1l80xeGAwCQS2nMV9S/w== + dependencies: + "@types/node" "*" + "@types/yargs-parser@*": - version "13.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.0.0.tgz#453743c5bbf9f1bed61d959baab5b06be029b2d0" - integrity sha512-wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw== + version "13.1.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228" + integrity sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg== "@types/yargs@^13.0.0": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.2.tgz#a64674fc0149574ecd90ba746e932b5a5f7b3653" - integrity sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ== + version "13.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.3.tgz#76482af3981d4412d65371a318f992d33464a380" + integrity sha512-K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ== dependencies: "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^1.5.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.11.0.tgz#870f752c520db04db6d3668af7479026a6f2fb9a" - integrity sha512-mXv9ccCou89C8/4avKHuPB2WkSZyY/XcTQUXd5LFZAcLw1I3mWYVjUu6eS9Ja0QkP/ClolbcW9tb3Ov/pMdcqw== + version "1.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.13.0.tgz#22fed9b16ddfeb402fd7bcde56307820f6ebc49f" + integrity sha512-WQHCozMnuNADiqMtsNzp96FNox5sOVpU8Xt4meaT4em8lOG1SrOv92/mUbEHQVh90sldKSfcOc/I0FOb/14G1g== dependencies: - "@typescript-eslint/experimental-utils" "1.11.0" + "@typescript-eslint/experimental-utils" "1.13.0" eslint-utils "^1.3.1" functional-red-black-tree "^1.0.1" regexpp "^2.0.1" tsutils "^3.7.0" -"@typescript-eslint/experimental-utils@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-1.11.0.tgz#594abe47091cbeabac1d6f9cfed06d0ad99eb7e3" - integrity sha512-7LbfaqF6B8oa8cp/315zxKk8FFzosRzzhF8Kn/ZRsRsnpm7Qcu25cR/9RnAQo5utZ2KIWVgaALr+ZmcbG47ruw== +"@typescript-eslint/eslint-plugin@^2.3.1": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.7.0.tgz#dff176bdb73dfd7e2e43062452189bd1b9db6021" + integrity sha512-H5G7yi0b0FgmqaEUpzyBlVh0d9lq4cWG2ap0RKa6BkF3rpBb6IrAoubt1NWh9R2kRs/f0k6XwRDiDz3X/FqXhQ== dependencies: - "@typescript-eslint/typescript-estree" "1.11.0" + "@typescript-eslint/experimental-utils" "2.7.0" + eslint-utils "^1.4.2" + functional-red-black-tree "^1.0.1" + regexpp "^2.0.1" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@1.13.0", "@typescript-eslint/experimental-utils@^1.13.0": + version "1.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz#b08c60d780c0067de2fb44b04b432f540138301e" + integrity sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "1.13.0" eslint-scope "^4.0.0" +"@typescript-eslint/experimental-utils@2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.7.0.tgz#58d790a3884df3041b5a5e08f9e5e6b7c41864b5" + integrity sha512-9/L/OJh2a5G2ltgBWJpHRfGnt61AgDeH6rsdg59BH0naQseSwR7abwHq3D5/op0KYD/zFT4LS5gGvWcMmegTEg== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "2.7.0" + eslint-scope "^5.0.0" + "@typescript-eslint/parser@^1.5.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-1.11.0.tgz#2f6d4f7e64eeb1e7c25b422f8df14d0c9e508e36" - integrity sha512-5xBExyXaxVyczrZvbRKEXvaTUFFq7gIM9BynXukXZE0zF3IQP/FxF4mPmmh3gJ9egafZFqByCpPTFm3dk4SY7Q== + version "1.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-1.13.0.tgz#61ac7811ea52791c47dc9fd4dd4a184fae9ac355" + integrity sha512-ITMBs52PCPgLb2nGPoeT4iU3HdQZHcPaZVw+7CsFagRJHUhyeTgorEwHXhFf3e7Evzi8oujKNpHc8TONth8AdQ== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "1.11.0" - "@typescript-eslint/typescript-estree" "1.11.0" + "@typescript-eslint/experimental-utils" "1.13.0" + "@typescript-eslint/typescript-estree" "1.13.0" eslint-visitor-keys "^1.0.0" -"@typescript-eslint/typescript-estree@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.11.0.tgz#b7b5782aab22e4b3b6d84633652c9f41e62d37d5" - integrity sha512-fquUHF5tAx1sM2OeRCC7wVxFd1iMELWMGCzOSmJ3pLzArj9+kRixdlC4d5MncuzXpjEqc6045p3KwM0o/3FuUA== +"@typescript-eslint/parser@^2.3.1": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.7.0.tgz#b5e6a4944e2b68dba1e7fbfd5242e09ff552fd12" + integrity sha512-ctC0g0ZvYclxMh/xI+tyqP0EC2fAo6KicN9Wm2EIao+8OppLfxji7KAGJosQHSGBj3TcqUrA96AjgXuKa5ob2g== + dependencies: + "@types/eslint-visitor-keys" "^1.0.0" + "@typescript-eslint/experimental-utils" "2.7.0" + "@typescript-eslint/typescript-estree" "2.7.0" + eslint-visitor-keys "^1.1.0" + +"@typescript-eslint/typescript-estree@1.13.0": + version "1.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz#8140f17d0f60c03619798f1d628b8434913dc32e" + integrity sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw== dependencies: lodash.unescape "4.0.1" semver "5.5.0" +"@typescript-eslint/typescript-estree@2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.7.0.tgz#34fd98c77a07b40d04d5b4203eddd3abeab909f4" + integrity sha512-vVCE/DY72N4RiJ/2f10PTyYekX2OLaltuSIBqeHYI44GQ940VCYioInIb8jKMrK9u855OEJdFC+HmWAZTnC+Ag== + dependencies: + debug "^4.1.1" + glob "^7.1.4" + is-glob "^4.0.1" + lodash.unescape "4.0.1" + semver "^6.3.0" + tsutils "^3.17.1" + JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -1323,9 +1348,9 @@ JSONStream@^1.0.4: through ">=2.2.7 <3" abab@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" - integrity sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w== + version "2.0.2" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.2.tgz#a2fba1b122c69a85caa02d10f9270c7219709a9d" + integrity sha512-2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg== abbrev@1: version "1.1.1" @@ -1353,17 +1378,17 @@ accepts@~1.3.5, accepts@~1.3.7: negotiator "0.6.2" acorn-globals@^4.1.0: - version "4.3.3" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.3.tgz#a86f75b69680b8780d30edd21eee4e0ea170c05e" - integrity sha512-vkR40VwS2SYO98AIeFvzWWh+xyc2qi9s7OoXSFEGIP/rOJKzjnhykaZJNnHdoq4BL2gGxI5EZOU16z896EYnOQ== + version "4.3.4" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== dependencies: acorn "^6.0.1" acorn-walk "^6.0.1" -acorn-jsx@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.2.tgz#84b68ea44b373c4f8686023a551f61a21b7c4a4f" - integrity sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw== +acorn-jsx@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" + integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== acorn-walk@^6.0.1: version "6.2.0" @@ -1380,17 +1405,17 @@ acorn@^6.0.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== -acorn@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.0.0.tgz#26b8d1cd9a9b700350b71c0905546f64d1284e7a" - integrity sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ== +acorn@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" + integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== add-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo= -ajv@^6.10.0, ajv@^6.5.5: +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: version "6.10.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== @@ -1400,16 +1425,6 @@ ajv@^6.10.0, ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^6.9.1: - version "6.10.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.1.tgz#ebf8d3af22552df9dd049bfbe50cc2390e823593" - integrity sha512-w1YQaVGNC6t2UCPjEawK/vo/dG8OOrVtUmhBT1uJJYxbl5kU2Tj3v6LGqBcsysN1yhuCStJCCA3GqdvKY8sqXQ== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - ansi-colors@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" @@ -1429,6 +1444,13 @@ ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== +ansi-escapes@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.2.1.tgz#4dccdb846c3eee10f6d64dea66273eab90c37228" + integrity sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q== + dependencies: + type-fest "^0.5.2" + ansi-fragments@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/ansi-fragments/-/ansi-fragments-0.2.1.tgz#24409c56c4cc37817c3d7caa99d8969e2de5a05e" @@ -1467,6 +1489,11 @@ ansi-regex@^4.0.0, ansi-regex@^4.1.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -1638,11 +1665,11 @@ async-limiter@~1.0.0: integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== async@^2.4.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" - integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== dependencies: - lodash "^4.17.11" + lodash "^4.17.14" asynckit@^0.4.0: version "0.4.0" @@ -1676,6 +1703,18 @@ babel-eslint@10.0.1: eslint-scope "3.7.1" eslint-visitor-keys "^1.0.0" +babel-eslint@^10.0.3: + version "10.0.3" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.3.tgz#81a2c669be0f205e19462fed2482d33e4687a88a" + integrity sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + eslint-visitor-keys "^1.0.0" + resolve "^1.12.0" + babel-jest@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" @@ -1728,9 +1767,9 @@ babel-polyfill@6.26.0: regenerator-runtime "^0.10.5" babel-preset-fbjs@^3.1.2, babel-preset-fbjs@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.2.0.tgz#c0e6347d3e0379ed84b3c2434d3467567aa05297" - integrity sha512-5Jo+JeWiVz2wHUUyAlvb/sSYnXNig9r+HqGAOSfh5Fzxp7SnAaR/tEGRJ1ZX7C77kfk82658w6R5Z+uPATTD9g== + version "3.3.0" + resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.3.0.tgz#a6024764ea86c8e06a22d794ca8b69534d263541" + integrity sha512-7QTLTCd2gwB2qGoi5epSULMHugSVgpcVt5YAeiFO9ABLrutDQzKfGwzxgZHLpugq8qMdg/DhRZDZ5CLKxBkEbw== dependencies: "@babel/plugin-proposal-class-properties" "^7.0.0" "@babel/plugin-proposal-object-rest-spread" "^7.0.0" @@ -1782,9 +1821,9 @@ balanced-match@^1.0.0: integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base64-js@^1.1.2, base64-js@^1.2.3: - version "1.3.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" - integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== + version "1.3.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" + integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== base@^0.11.1: version "0.11.2" @@ -1813,24 +1852,24 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -big-integer@^1.6.7: - version "1.6.44" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.44.tgz#4ee9ae5f5839fc11ade338fea216b4513454a539" - integrity sha512-7MzElZPTyJ2fNvBkPxtFQ2fWIkVmuzw41+BZHSzpEq3ymB2MfeKp1+yXl/tS75xCx+WnyV+yb0kp+K1C3UNwmQ== +big-integer@^1.6.44: + version "1.6.48" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e" + integrity sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w== -bplist-creator@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.7.tgz#37df1536092824b87c42f957b01344117372ae45" - integrity sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU= +bplist-creator@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.8.tgz#56b2a6e79e9aec3fc33bf831d09347d73794e79c" + integrity sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA== dependencies: stream-buffers "~2.2.0" -bplist-parser@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.1.1.tgz#d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6" - integrity sha1-1g1dzCDLptx+HymbNdPh+V2vuuY= +bplist-parser@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" + integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw== dependencies: - big-integer "^1.6.7" + big-integer "^1.6.44" brace-expansion@^1.1.7: version "1.1.11" @@ -1869,9 +1908,9 @@ browser-resolve@^1.11.3: resolve "1.1.7" bser@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" - integrity sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg== + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== dependencies: node-int64 "^0.4.0" @@ -1973,15 +2012,6 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chalk@2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.1.tgz#523fe2678aec7b04e8041909292fe8b17059b796" - integrity sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g== - dependencies: - ansi-styles "^3.2.0" - escape-string-regexp "^1.0.5" - supports-color "^5.2.0" - chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -2002,9 +2032,9 @@ chardet@^0.7.0: integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== chownr@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" - integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== + version "1.1.3" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" + integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== ci-info@^2.0.0: version "2.0.0" @@ -2028,6 +2058,13 @@ cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + cli-spinners@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.2.0.tgz#e8b988d9206c692302d8ee834e7a85c0144d8f77" @@ -2117,22 +2154,27 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.19.0, commander@~2.20.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" - integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== +command-exists@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.8.tgz#715acefdd1223b9c9b37110a149c6392c2852291" + integrity sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw== + +commander@^2.19.0, commander@~2.20.3: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@~2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" integrity sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA== -commitlint@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/commitlint/-/commitlint-8.1.0.tgz#c48c9071ab055702859e139bd94564f4ed01a553" - integrity sha512-eUUnHfx9XKQ7/DesUD4mBO3gSVYRQ4l/NAWR+BMf6XOt/cs2JELkRY9U2ZTbaa41wuCOyKRkKT0s4g16Jnc9Tg== +commitlint@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/commitlint/-/commitlint-8.2.0.tgz#c081639d09904af0f3f60db75e3afdf1ab2e523d" + integrity sha512-pFZQMMLCXvc7NfbI6KsCo1z51ul9503Tc4LvWI5/uPfUdU6gqgjzGQpYTIFhu4u9iMA9Sr8hKzJPD2EhNT3mcg== dependencies: - "@commitlint/cli" "^8.1.0" + "@commitlint/cli" "^8.2.0" read-pkg "3.0.0" resolve-pkg "2.0.0" @@ -2204,6 +2246,11 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= + conventional-changelog-angular@^1.3.3: version "1.6.6" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz#b27f2b315c16d0a1f23eb181309d0e6a4698ea0f" @@ -2212,77 +2259,78 @@ conventional-changelog-angular@^1.3.3: compare-func "^1.3.1" q "^1.5.1" -conventional-changelog-angular@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.3.tgz#299fdd43df5a1f095283ac16aeedfb0a682ecab0" - integrity sha512-YD1xzH7r9yXQte/HF9JBuEDfvjxxwDGGwZU1+ndanbY0oFgA+Po1T9JDSpPLdP0pZT6MhCAsdvFKC4TJ4MTJTA== +conventional-changelog-angular@^5.0.6: + version "5.0.6" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.6.tgz#269540c624553aded809c29a3508fdc2b544c059" + integrity sha512-QDEmLa+7qdhVIv8sFZfVxU1VSyVvnXPsxq8Vam49mKUcO1Z8VTLEJk9uI21uiJUsnmm0I4Hrsdc9TgkOQo9WSA== dependencies: compare-func "^1.3.1" q "^1.5.1" -conventional-changelog-atom@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-2.0.1.tgz#dc88ce650ffa9ceace805cbe70f88bfd0cb2c13a" - integrity sha512-9BniJa4gLwL20Sm7HWSNXd0gd9c5qo49gCi8nylLFpqAHhkFTj7NQfROq3f1VpffRtzfTQp4VKU5nxbe2v+eZQ== +conventional-changelog-atom@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-2.0.3.tgz#3bd14280aa09fe3ec49a0e8fe97b5002db02aad4" + integrity sha512-szZe2ut97qNO6vCCMkm1I/tWu6ol4Rr8a9Lx0y/VlpDnpY0PNp+oGpFgU55lplhx+I3Lro9Iv4/gRj0knfgjzg== dependencies: q "^1.5.1" -conventional-changelog-cli@^2.0.23: - version "2.0.23" - resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-2.0.23.tgz#3f6b2bb3e1e6a6f520f7fa514fe8fba2d92faab0" - integrity sha512-a/jDZHEUpSHQMAqeDrmrFhz9CKHBKhBGpJyc38BCfNjFA1RKchpq/Qqbo1BZwRLWrW/PX7IGsUicTyhniqUH9g== +conventional-changelog-cli@^2.0.27: + version "2.0.27" + resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-2.0.27.tgz#368e65ae4e043c7beab0a9e7a21741aa693dba82" + integrity sha512-SK71zMVyAlfYua44WFCLRZqWO76He57NLsp9wfTAsHkCgbrWtWGbXA/UuGq49H5lAlWMcaqYR6OYcssqmFw6aQ== dependencies: add-stream "^1.0.0" - conventional-changelog "^3.1.10" - lodash "^4.14.14" + conventional-changelog "^3.1.14" + lodash "^4.17.15" meow "^4.0.0" - tempfile "^1.1.1" + tempfile "^3.0.0" -conventional-changelog-codemirror@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.1.tgz#acc046bc0971460939a0cc2d390e5eafc5eb30da" - integrity sha512-23kT5IZWa+oNoUaDUzVXMYn60MCdOygTA2I+UjnOMiYVhZgmVwNd6ri/yDlmQGXHqbKhNR5NoXdBzSOSGxsgIQ== +conventional-changelog-codemirror@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.3.tgz#ebc088154684f8f5171446b8d546ba6b460d46f2" + integrity sha512-t2afackdgFV2yBdHhWPqrKbpaQeVnz2hSJKdWqjasPo5EpIB6TBL0er3cOP1mnGQmuzk9JSvimNSuqjWGDtU5Q== dependencies: q "^1.5.1" -conventional-changelog-conventionalcommits@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.1.0.tgz#eb7d47a9c5f1a6f9846a649482294e4ac50d7683" - integrity sha512-J3xolGrH8PTxpCqueHOuZtv3Cp73SQOWiBQzlsaugZAZ+hZgcJBonmC+1bQbfGs2neC2S18p2L1Gx+nTEglJTQ== +conventional-changelog-conventionalcommits@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.2.3.tgz#22855b32d57d0328951c1c2dc01b172a5f24ea37" + integrity sha512-atGa+R4vvEhb8N/8v3IoW59gCBJeeFiX6uIbPu876ENAmkMwsenyn0R21kdDHJFLQdy6zW4J6b4xN8KI3b9oww== dependencies: compare-func "^1.3.1" + lodash "^4.17.15" q "^1.5.1" -conventional-changelog-core@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.0.0.tgz#a9e83889e43a21b05fa098a507cad475905a0439" - integrity sha512-+bZMeBUdjKxfyX2w6EST9U7zb85wxrGS3IV4H7SqPya44osNQbm3P+vyqfLs6s57FkoEamC93ioDEiguVLWmSQ== +conventional-changelog-core@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.1.0.tgz#a90acd60c577e92ef87118fec1717293a0c4c1e3" + integrity sha512-2m2udIRAPbQL5It0ABNjsQZKJQJPNuf3anxLhcOLkEW+M4z3C343BMDUyJy9Y7tKAweqK458xxW81bG8FYrBwA== dependencies: - conventional-changelog-writer "^4.0.7" - conventional-commits-parser "^3.0.3" + conventional-changelog-writer "^4.0.10" + conventional-commits-parser "^3.0.7" dateformat "^3.0.0" get-pkg-repo "^1.0.0" git-raw-commits "2.0.0" git-remote-origin-url "^2.0.0" git-semver-tags "^3.0.0" - lodash "^4.2.1" + lodash "^4.17.15" normalize-package-data "^2.3.5" q "^1.5.1" read-pkg "^3.0.0" read-pkg-up "^3.0.0" through2 "^3.0.0" -conventional-changelog-ember@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-2.0.2.tgz#284ffdea8c83ea8c210b65c5b4eb3e5cc0f4f51a" - integrity sha512-qtZbA3XefO/n6DDmkYywDYi6wDKNNc98MMl2F9PKSaheJ25Trpi3336W8fDlBhq0X+EJRuseceAdKLEMmuX2tg== +conventional-changelog-ember@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-2.0.4.tgz#c29b78e4af7825cbecb6c3fd6086ca5c09471ac1" + integrity sha512-q1u73sO9uCnxN4TSw8xu6MRU8Y1h9kpwtcdJuNRwu/LSKI1IE/iuNSH5eQ6aLlQ3HTyrIpTfUuVybW4W0F17rA== dependencies: q "^1.5.1" -conventional-changelog-eslint@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.2.tgz#e9eb088cda6be3e58b2de6a5aac63df0277f3cbe" - integrity sha512-Yi7tOnxjZLXlCYBHArbIAm8vZ68QUSygFS7PgumPRiEk+9NPUeucy5Wg9AAyKoBprSV3o6P7Oghh4IZSLtKCvQ== +conventional-changelog-eslint@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.4.tgz#8f4736a23e0cd97e890e76fccc287db2f205f2ff" + integrity sha512-CPwTUENzhLGl3auunrJxiIEWncAGaby7gOFCdj2gslIuOFJ0KPJVOUhRz4Da/I53sdo/7UncUJkiLg94jEsjxg== dependencies: q "^1.5.1" @@ -2293,58 +2341,58 @@ conventional-changelog-express@^2.0.1: dependencies: q "^1.5.1" -conventional-changelog-jquery@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.4.tgz#7eb598467b83db96742178e1e8d68598bffcd7ae" - integrity sha512-IVJGI3MseYoY6eybknnTf9WzeQIKZv7aNTm2KQsiFVJH21bfP2q7XVjfoMibdCg95GmgeFlaygMdeoDDa+ZbEQ== +conventional-changelog-jquery@^3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.6.tgz#460236ad8fb1d29ff932a14fe4e3a45379b63c5e" + integrity sha512-gHAABCXUNA/HjnZEm+vxAfFPJkgtrZvCDIlCKfdPVXtCIo/Q0lN5VKpx8aR5p8KdVRQFF3OuTlvv5kv6iPuRqA== dependencies: q "^1.5.1" -conventional-changelog-jshint@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.1.tgz#11c0e8283abf156a4ff78e89be6fdedf9bd72202" - integrity sha512-kRFJsCOZzPFm2tzRHULWP4tauGMvccOlXYf3zGeuSW4U0mZhk5NsjnRZ7xFWrTFPlCLV+PNmHMuXp5atdoZmEg== +conventional-changelog-jshint@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.3.tgz#ef6e2caf2ee6ffdfda78fcdf7ce87cf6c512d728" + integrity sha512-Pc2PnMPcez634ckzr4EOWviwRSpZcURaK7bjyD9oK6N5fsC/a+3G7LW5m/JpcHPhA9ZxsfIbm7uqZ3ZDGsQ/sw== dependencies: compare-func "^1.3.1" q "^1.5.1" -conventional-changelog-preset-loader@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.2.0.tgz#571e2b3d7b53d65587bea9eedf6e37faa5db4fcc" - integrity sha512-zXB+5vF7D5Y3Cb/rJfSyCCvFphCVmF8mFqOdncX3BmjZwAtGAPfYrBcT225udilCKvBbHgyzgxqz2GWDB5xShQ== +conventional-changelog-preset-loader@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.0.tgz#580fa8ab02cef22c24294d25e52d7ccd247a9a6a" + integrity sha512-/rHb32J2EJnEXeK4NpDgMaAVTFZS3o1ExmjKMtYVgIC4MQn0vkNSbYpdGRotkfGGRWiqk3Ri3FBkiZGbAfIfOQ== -conventional-changelog-writer@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.7.tgz#e4b7d9cbea902394ad671f67108a71fa90c7095f" - integrity sha512-p/wzs9eYaxhFbrmX/mCJNwJuvvHR+j4Fd0SQa2xyAhYed6KBiZ780LvoqUUvsayP4R1DtC27czalGUhKV2oabw== +conventional-changelog-writer@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.10.tgz#39f6458cca62a8151b3ce582a57ff71fd2b0ff7a" + integrity sha512-vtO9vBAVh7XnSpGLTB1BOGgsGTz1MdvFjzbSXLrtapWCHWwuVOZFgwdLhlS0MaXwlF1dksWdEb6tnr42Ie2INw== dependencies: compare-func "^1.3.1" conventional-commits-filter "^2.0.2" dateformat "^3.0.0" - handlebars "^4.1.2" + handlebars "^4.4.0" json-stringify-safe "^5.0.1" - lodash "^4.2.1" + lodash "^4.17.15" meow "^4.0.0" semver "^6.0.0" split "^1.0.0" through2 "^3.0.0" -conventional-changelog@^3.1.10: - version "3.1.10" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-3.1.10.tgz#889a8daa4b7673a1dc1605746f9ae66546b373c1" - integrity sha512-6RDj31hL39HUkpqvPjRlOxAwJRwur8O2qu9m6R0FBNDGwCJyy4SYH9NfyshozxYSeklrauKRf3oSbyoEZVzu9Q== - dependencies: - conventional-changelog-angular "^5.0.3" - conventional-changelog-atom "^2.0.1" - conventional-changelog-codemirror "^2.0.1" - conventional-changelog-conventionalcommits "^4.1.0" - conventional-changelog-core "^4.0.0" - conventional-changelog-ember "^2.0.2" - conventional-changelog-eslint "^3.0.2" +conventional-changelog@^3.1.14: + version "3.1.14" + resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-3.1.14.tgz#90f228e361f9d1d16df5c2bad855946da2a49ddc" + integrity sha512-utfeyIrLKBjIhxFW64W425tVjnu/rqpVrI4/ylje2figIEfGHQ1YoMkkT8ZwX65MxzTtqQR1SCl7CX1y0/0JrA== + dependencies: + conventional-changelog-angular "^5.0.6" + conventional-changelog-atom "^2.0.3" + conventional-changelog-codemirror "^2.0.3" + conventional-changelog-conventionalcommits "^4.2.3" + conventional-changelog-core "^4.1.0" + conventional-changelog-ember "^2.0.4" + conventional-changelog-eslint "^3.0.4" conventional-changelog-express "^2.0.1" - conventional-changelog-jquery "^3.0.4" - conventional-changelog-jshint "^2.0.1" - conventional-changelog-preset-loader "^2.2.0" + conventional-changelog-jquery "^3.0.6" + conventional-changelog-jshint "^2.0.3" + conventional-changelog-preset-loader "^2.3.0" conventional-commits-filter@^2.0.2: version "2.0.2" @@ -2367,23 +2415,23 @@ conventional-commits-parser@^2.1.0: through2 "^2.0.0" trim-off-newlines "^1.0.0" -conventional-commits-parser@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.0.3.tgz#c3f972fd4e056aa8b9b4f5f3d0e540da18bf396d" - integrity sha512-KaA/2EeUkO4bKjinNfGUyqPTX/6w9JGshuQRik4r/wJz7rUw3+D3fDG6sZSEqJvKILzKXFQuFkpPLclcsAuZcg== +conventional-commits-parser@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.0.7.tgz#55b6cde6a2d0b4a7ab399392777d527134a8d05c" + integrity sha512-4mx/FRC92z0yIiXGyRVYQFhn0jWDwvxnj2UuLaUi3hJSG4Thall6GXA8YOPHQK2qvotciJandJIVmuSvLgDLbQ== dependencies: JSONStream "^1.0.4" - is-text-path "^2.0.0" - lodash "^4.2.1" + is-text-path "^1.0.1" + lodash "^4.17.15" meow "^4.0.0" split2 "^2.0.0" through2 "^3.0.0" trim-off-newlines "^1.0.0" -convert-source-map@^1.1.0, convert-source-map@^1.4.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== +convert-source-map@^1.4.0, convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== dependencies: safe-buffer "~5.1.1" @@ -2398,14 +2446,9 @@ core-js@^1.0.0: integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= core-js@^2.2.2, core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0: - version "2.6.9" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" - integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== - -core-js@^3.0.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.1.4.tgz#3a2837fc48e582e1ae25907afcd6cf03b0cc7a07" - integrity sha512-YNZN8lt82XIMLnLirj9MhKDFZHalwzzrL9YLt6eb0T5D0EDl4IQ90IGkua8mHbnxNrkj1d8hbdizMc0Qmg1WnQ== + version "2.6.10" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz#8a5b8391f8cc7013da703411ce5b585706300d7f" + integrity sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -2464,9 +2507,9 @@ cssstyle@^1.0.0: cssom "0.3.x" csstype@^2.2.0: - version "2.6.6" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz#c34f8226a94bbb10c32cc0d714afdf942291fc41" - integrity sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg== + version "2.6.7" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.7.tgz#20b0024c20b6718f4eda3853a1f5a1cce7f5e4a5" + integrity sha512-9Mcn9sFbGBAdmimWb2gLVDtFJzeKtDGIr76TUqmjZrw9LFXBMSU70lcs+C0/7fyCd6iBDqmksUcCOUIkisPHsQ== currently-unhandled@^0.4.1: version "0.4.1" @@ -2504,11 +2547,11 @@ dateformat@^3.0.0: integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== dayjs@^1.8.15: - version "1.8.16" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.16.tgz#2a3771de537255191b947957af2fd90012e71e64" - integrity sha512-XPmqzWz/EJiaRHjBqSJ2s6hE/BUoCIHKgdS2QPtTQtKcS9E4/Qn0WomoH1lXanWCzri+g7zPcuNV4aTZ8PMORQ== + version "1.8.17" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.17.tgz#53ec413f2a7b02afbea1846d61bb260fa8567cea" + integrity sha512-47VY/htqYqr9GHd7HW/h56PpQzRBSJcxIQFwqL3P20bMF/3az5c3PWdVY3LmPXFl6cQCYHL7c79b9ov+2bOBbw== -debug@2.6.9, debug@^2.2.0, debug@^2.3.3: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -2651,6 +2694,14 @@ diff-sequences@^24.9.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" @@ -2702,6 +2753,11 @@ emoji-regex@^7.0.1: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -2715,16 +2771,16 @@ encoding@^0.1.11: iconv-lite "~0.4.13" end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" envinfo@^7.1.0: - version "7.3.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.3.1.tgz#892e42f7bf858b3446d9414ad240dbaf8da52f09" - integrity sha512-GvXiDTqLYrORVSCuJCsWHPXF5BFvoWMQA9xX4YVjPT1jyS3aZEHUBwjzxU/6LTPF9ReHgVEbX7IEN5UvSXHw/A== + version "7.4.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.4.0.tgz#bef4ece9e717423aaf0c3584651430b735ad6630" + integrity sha512-FdDfnWnCVjxTTpWE3d6Jgh5JDIA3Cw7LCgpM/pI7kK1ORkjaqI2r6NqQ+ln2j0dfpgxY00AWieSvtkiZQKIItA== error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" @@ -2741,22 +2797,26 @@ errorhandler@^1.5.0: accepts "~1.3.7" escape-html "~1.0.3" -es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.5.1, es-abstract@^1.7.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" - integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== +es-abstract@^1.12.0, es-abstract@^1.15.0, es-abstract@^1.5.1, es-abstract@^1.7.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d" + integrity sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg== dependencies: es-to-primitive "^1.2.0" function-bind "^1.1.1" has "^1.0.3" + has-symbols "^1.0.0" is-callable "^1.1.4" is-regex "^1.0.4" - object-keys "^1.0.12" + object-inspect "^1.6.0" + object-keys "^1.1.1" + string.prototype.trimleft "^2.1.0" + string.prototype.trimright "^2.1.0" es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" is-date-object "^1.0.1" @@ -2784,14 +2844,56 @@ escodegen@^1.9.1: optionalDependencies: source-map "~0.6.1" -eslint-config-prettier@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.1.0.tgz#e6f678ba367fbd1273998d5510f76f004e9dce7b" - integrity sha512-k9fny9sPjIBQ2ftFTesJV21Rg4R/7a7t7LCtZVrYQiHEp8Nnuk3EGaDmsKSAnsPj0BYcgB2zxzHa2NTkIxcOLg== +eslint-config-prettier@^6.3.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.5.0.tgz#aaf9a495e2a816865e541bfdbb73a65cc162b3eb" + integrity sha512-cjXp8SbO9VFGW/Z7mbTydqS9to8Z58E5aYhj3e1+Hx7lS9s6gL5ILKNpCqZAFOVYRcSkWPFYljHrEh8QFEK5EQ== dependencies: get-stdin "^6.0.0" -eslint-plugin-eslint-comments@^3.1.1: +eslint-config-satya164@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/eslint-config-satya164/-/eslint-config-satya164-3.1.2.tgz#b17f08a8f76d6694331cdbf36a6e3dc543a4bf43" + integrity sha512-ON18lbaBKLtqu2wh8nFIf5+lFi8+zdIrkyjT28NMwYu5goWDZ/EyHUgKhW5ASUQNYLtgRJuF+GOU+Pb3SMM+XQ== + dependencies: + "@typescript-eslint/eslint-plugin" "^2.3.1" + "@typescript-eslint/parser" "^2.3.1" + babel-eslint "^10.0.3" + eslint-config-prettier "^6.3.0" + eslint-plugin-babel "^5.3.0" + eslint-plugin-eslint-comments "^3.1.2" + eslint-plugin-flowtype "^4.3.0" + eslint-plugin-import "^2.18.2" + eslint-plugin-jest "^22.17.0" + eslint-plugin-prettier "^3.1.1" + eslint-plugin-react "^7.14.3" + eslint-plugin-react-hooks "^2.1.0" + eslint-plugin-react-native "^3.7.0" + +eslint-import-resolver-node@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" + integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== + dependencies: + debug "^2.6.9" + resolve "^1.5.0" + +eslint-module-utils@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz#7b4675875bf96b0dbf1b21977456e5bb1f5e018c" + integrity sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw== + dependencies: + debug "^2.6.8" + pkg-dir "^2.0.0" + +eslint-plugin-babel@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-5.3.0.tgz#2e7f251ccc249326da760c1a4c948a91c32d0023" + integrity sha512-HPuNzSPE75O+SnxHIafbW5QB45r2w78fxqwK3HmjqIUoPfPzVrq6rD+CINU3yzoDSzEhUkX07VUphbF73Lth/w== + dependencies: + eslint-rule-composer "^0.3.0" + +eslint-plugin-eslint-comments@^3.1.1, eslint-plugin-eslint-comments@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.1.2.tgz#4ef6c488dbe06aa1627fea107b3e5d059fc8a395" integrity sha512-QexaqrNeteFfRTad96W+Vi4Zj1KFbkHHNMMaHZEYcovKav6gdomyGzaxSDSL3GoIyUOo078wRAdYlu1caiauIQ== @@ -2806,11 +2908,42 @@ eslint-plugin-flowtype@2.50.3: dependencies: lodash "^4.17.10" +eslint-plugin-flowtype@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.3.0.tgz#06d0837ac341caf369e7e6dbb112dd7fd21acf17" + integrity sha512-elvqoadMHnYqSYN1YXn02DR7SFW8Kc2CLe8na3m2GdQPQhIY+BgCd2quVJ1AbW3aO0zcyE9loVJ7Szy8A/xlMA== + dependencies: + lodash "^4.17.15" + +eslint-plugin-import@^2.18.2: + version "2.18.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6" + integrity sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ== + dependencies: + array-includes "^3.0.3" + contains-path "^0.1.0" + debug "^2.6.9" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.2" + eslint-module-utils "^2.4.0" + has "^1.0.3" + minimatch "^3.0.4" + object.values "^1.1.0" + read-pkg-up "^2.0.0" + resolve "^1.11.0" + eslint-plugin-jest@22.4.1: version "22.4.1" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.4.1.tgz#a5fd6f7a2a41388d16f527073b778013c5189a9c" integrity sha512-gcLfn6P2PrFAVx3AobaOzlIEevpAEf9chTpFZz7bYfc7pz8XRv7vuKTIE4hxPKZSha6XWKKplDQ0x9Pq8xX2mg== +eslint-plugin-jest@^22.17.0: + version "22.21.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.21.0.tgz#8137294645866636160487d9764224b9a43e2eb1" + integrity sha512-OaqnSS7uBgcGiqXUiEnjoqxPNKvR4JWG5mSRkzVoR6+vDwlqqp11beeql1hYs0HTbdhiwrxWLxbX0Vx7roG3Ew== + dependencies: + "@typescript-eslint/experimental-utils" "^1.13.0" + eslint-plugin-prettier@2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.2.tgz#71998c60aedfa2141f7bfcbf9d1c459bf98b4fad" @@ -2819,17 +2952,22 @@ eslint-plugin-prettier@2.6.2: fast-diff "^1.1.1" jest-docblock "^21.0.0" -eslint-plugin-prettier@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.0.tgz#8695188f95daa93b0dc54b249347ca3b79c4686d" - integrity sha512-XWX2yVuwVNLOUhQijAkXz+rMPPoCr7WFiAl8ig6I7Xn+pPVhDhzg4DxHpmbeb0iqjO9UronEA3Tb09ChnFVHHA== +eslint-plugin-prettier@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.1.tgz#507b8562410d02a03f0ddc949c616f877852f2ba" + integrity sha512-A+TZuHZ0KU0cnn56/9mfR7/KjUJ9QNVXUhwvRFSR7PGPe0zQR6PTkmyqg1AtUUEOzTqeRsUwyKFh0oVZKVCrtA== dependencies: prettier-linter-helpers "^1.0.0" eslint-plugin-react-hooks@^1.5.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.6.1.tgz#3c66a5515ea3e0a221ffc5d4e75c971c217b1a4c" - integrity sha512-wHhmGJyVuijnYIJXZJHDUF2WM+rJYTjulUTqF9k61d3BTk8etydz+M4dXUVH7M76ZRS85rqBTCx0Es/lLsrjnA== + version "1.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04" + integrity sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA== + +eslint-plugin-react-hooks@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.2.0.tgz#078264e9e388da6929ace09d6abe92c85963aff4" + integrity sha512-jSlnBjV2cmyIeL555H/FbvuSbQ1AtpHjLMHuPrQnt1eVA6lX8yufdygh7AArI2m8ct7ChHGx2uOaCuxq2MUn6g== eslint-plugin-react-native-globals@^0.1.1: version "0.1.2" @@ -2844,9 +2982,9 @@ eslint-plugin-react-native@3.6.0: eslint-plugin-react-native-globals "^0.1.1" eslint-plugin-react-native@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-native/-/eslint-plugin-react-native-3.7.0.tgz#7e2cc1f3cf24919c4c0ea7fac13301e7444e105f" - integrity sha512-krLtQmGih/uJDPxF8DBpnU8J3kRUsDm/Dey5yEhOO8LN1I3Wesbk4PGCg8Zah57azKFU+9YtGooFjJcDJWUs+g== + version "3.8.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-native/-/eslint-plugin-react-native-3.8.1.tgz#92811e37191ecb0d29c0f0a0c9e5c943ee573821" + integrity sha512-6Z4s4nvgFRdda/1s1+uu4a6EMZwEjjJ9Bk/1yBImv0fd9U2CsGu2cUakAtV83cZKhizbWhSouXoaK4JtlScdFg== dependencies: eslint-plugin-react-native-globals "^0.1.1" @@ -2863,20 +3001,25 @@ eslint-plugin-react@7.12.4: prop-types "^15.6.2" resolve "^1.9.0" -eslint-plugin-react@^7.14.2: - version "7.14.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz#911030dd7e98ba49e1b2208599571846a66bdf13" - integrity sha512-EzdyyBWC4Uz2hPYBiEJrKCUi2Fn+BJ9B/pJQcjw5X+x/H2Nm59S4MJIvL4O5NEE0+WbnQwEBxWY03oUk+Bc3FA== +eslint-plugin-react@^7.14.3: + version "7.16.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.16.0.tgz#9928e4f3e2122ed3ba6a5b56d0303ba3e41d8c09" + integrity sha512-GacBAATewhhptbK3/vTP09CbFrgUJmBSaaRcWdbQLFvUZy9yVcQxigBNHGPU/KE2AyHpzj3AWXpxoMTsIDiHug== dependencies: array-includes "^3.0.3" doctrine "^2.1.0" has "^1.0.3" - jsx-ast-utils "^2.1.0" + jsx-ast-utils "^2.2.1" object.entries "^1.1.0" object.fromentries "^2.0.0" object.values "^1.1.0" prop-types "^15.7.2" - resolve "^1.10.1" + resolve "^1.12.0" + +eslint-rule-composer@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" + integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== eslint-scope@3.7.1: version "3.7.1" @@ -2902,32 +3045,22 @@ eslint-scope@^5.0.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-utils@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" - integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== - -eslint-utils@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab" - integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q== +eslint-utils@^1.3.1, eslint-utils@^1.4.2, eslint-utils@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== dependencies: - eslint-visitor-keys "^1.0.0" - -eslint-visitor-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" - integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== + eslint-visitor-keys "^1.1.0" -eslint-visitor-keys@^1.1.0: +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== -eslint@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.3.0.tgz#1f1a902f67bfd4c354e7288b81e40654d927eb6a" - integrity sha512-ZvZTKaqDue+N8Y9g0kp6UPZtS4FSY3qARxBs7p4f0H0iof381XHduqVerFWtK8DPtKmemqbqCFENWSQgPR/Gow== +eslint@^6.6.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.6.0.tgz#4a01a2fb48d32aacef5530ee9c5a78f11a8afd04" + integrity sha512-PpEBq7b6qY/qrOmpYQ/jTMDYfuQMELR4g4WI1M/NaSDDD/bdcMb+dj4Hgks7p41kW2caXsPsEZAEAyAgjVVC0g== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.10.0" @@ -2936,9 +3069,9 @@ eslint@^6.3.0: debug "^4.0.1" doctrine "^3.0.0" eslint-scope "^5.0.0" - eslint-utils "^1.4.2" + eslint-utils "^1.4.3" eslint-visitor-keys "^1.1.0" - espree "^6.1.1" + espree "^6.1.2" esquery "^1.0.1" esutils "^2.0.2" file-entry-cache "^5.0.1" @@ -2948,7 +3081,7 @@ eslint@^6.3.0: ignore "^4.0.6" import-fresh "^3.0.0" imurmurhash "^0.1.4" - inquirer "^6.4.1" + inquirer "^7.0.0" is-glob "^4.0.0" js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" @@ -2967,13 +3100,13 @@ eslint@^6.3.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz#7f80e5f7257fc47db450022d723e356daeb1e5de" - integrity sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ== +espree@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.2.tgz#6c272650932b4f91c3714e5e7b5f5e2ecf47262d" + integrity sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA== dependencies: - acorn "^7.0.0" - acorn-jsx "^5.0.2" + acorn "^7.1.0" + acorn-jsx "^5.1.0" eslint-visitor-keys "^1.1.0" esprima@^3.1.3: @@ -3000,22 +3133,12 @@ esrecurse@^4.1.0: dependencies: estraverse "^4.1.0" -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= - -estraverse@^4.2.0: +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -esutils@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= - -esutils@^2.0.2: +esutils@^2.0.0, esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== @@ -3036,9 +3159,9 @@ eventemitter3@^3.0.0: integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== exec-sh@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" - integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== + version "0.3.4" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" + integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== execa@^0.10.0: version "0.10.0" @@ -3216,7 +3339,7 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= -fast-levenshtein@~2.0.4: +fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= @@ -3283,6 +3406,13 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" +figures@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec" + integrity sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg== + dependencies: + escape-string-regexp "^1.0.5" + file-entry-cache@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" @@ -3330,7 +3460,7 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" -find-up@^2.0.0: +find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= @@ -3344,7 +3474,7 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" -find-up@^4.0.0: +find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== @@ -3416,11 +3546,11 @@ fs-extra@^7.0.1: universalify "^0.1.0" fs-minipass@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" - integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ== + version "1.2.7" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" + integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== dependencies: - minipass "^2.2.1" + minipass "^2.6.0" fs.realpath@^1.0.0: version "1.0.0" @@ -3565,16 +3695,16 @@ gitconfiglocal@^1.0.0: ini "^1.3.2" glob-parent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954" - integrity sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg== + version "5.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" + integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== dependencies: is-glob "^4.0.1" -glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== +glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -3614,25 +3744,20 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" - integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== - -graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.2.0" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" - integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9: + version "4.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" + integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= -handlebars@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67" - integrity sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw== +handlebars@^4.1.2, handlebars@^4.4.0: + version "4.5.1" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.5.1.tgz#8a01c382c180272260d07f2d1aa3ae745715c7ba" + integrity sha512-C29UoFzHe9yM61lOsIlCE5/mQVGrnIOrOq7maQl76L7tYPCgC1og0Ajt6uWnX4ZTxBPnjw+CUvawphwCfJgUnA== dependencies: neo-async "^2.6.0" optimist "^0.6.1" @@ -3706,15 +3831,15 @@ has@^1.0.1, has@^1.0.3: dependencies: function-bind "^1.1.1" -hermesvm@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/hermesvm/-/hermesvm-0.1.1.tgz#bd1df92b4dc504e261c23df34864daf24b844d03" - integrity sha512-EosSDeUqTTGvlc9vQiy5Y/9GBlucEyo6lYuxg/FnukHCD/CP3NYeDAGV54TyZ19FgSqMEoPgOH9cyxvv8epQ1g== +hermes-engine@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.2.1.tgz#25c0f1ff852512a92cb5c5cc47cf967e1e722ea2" + integrity sha512-eNHUQHuadDMJARpaqvlCZoK/Nitpj6oywq3vQ3wCwEsww5morX34mW5PmKWQTO7aU0ck0hgulxR+EVDlXygGxQ== hosted-git-info@^2.1.4: - version "2.8.4" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" - integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== + version "2.8.5" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" + integrity sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg== html-encoding-sniffer@^1.0.2: version "1.0.2" @@ -3743,20 +3868,20 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -husky@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/husky/-/husky-3.0.4.tgz#10a48ac11ab50859b0939750fa0b4e07ad0bf669" - integrity sha512-7Rnt8aJfy+MlV28snmYK7O7vWwtOfeVxV6KhLpUFXlmx5ukQ1nQmNUB7QsAwSgdySB5X+bm7q7JIRgazqBUzKA== +husky@^3.0.9: + version "3.0.9" + resolved "https://registry.yarnpkg.com/husky/-/husky-3.0.9.tgz#a2c3e9829bfd6b4957509a9500d2eef5dbfc8044" + integrity sha512-Yolhupm7le2/MqC1VYLk/cNmYxsSsqKkTyBhzQHhPK1jFnC89mmmNVuGtLNabjDI6Aj8UNIr0KpRNuBkiC4+sg== dependencies: chalk "^2.4.2" + ci-info "^2.0.0" cosmiconfig "^5.2.1" execa "^1.0.0" get-stdin "^7.0.0" - is-ci "^2.0.0" opencollective-postinstall "^2.0.2" pkg-dir "^4.2.0" please-upgrade-node "^3.2.0" - read-pkg "^5.1.1" + read-pkg "^5.2.0" run-node "^1.0.0" slash "^3.0.0" @@ -3768,9 +3893,9 @@ iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4, ic safer-buffer ">= 2.1.2 < 3" ignore-walk@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== + version "3.0.3" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" + integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== dependencies: minimatch "^3.0.4" @@ -3780,9 +3905,9 @@ ignore@^4.0.6: integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== ignore@^5.0.5: - version "5.1.2" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.2.tgz#e28e584d43ad7e92f96995019cc43b9e1ac49558" - integrity sha512-vdqWBp7MyzdmHkkRWV5nY+PfGRbYbahfuvsBCh277tq+w9zyNi7h5CYJCK0kmzti9kU+O/cB7sE8HvKv6aXAKQ== + version "5.1.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf" + integrity sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A== image-size@^0.6.0: version "0.6.3" @@ -3869,9 +3994,9 @@ inquirer@^3.0.6: through "^2.3.6" inquirer@^6.2.2: - version "6.5.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42" - integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA== + version "6.5.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" + integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== dependencies: ansi-escapes "^3.2.0" chalk "^2.4.2" @@ -3887,22 +4012,22 @@ inquirer@^6.2.2: strip-ansi "^5.1.0" through "^2.3.6" -inquirer@^6.4.1: - version "6.5.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" - integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== +inquirer@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.0.tgz#9e2b032dde77da1db5db804758b8fea3a970519a" + integrity sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ== dependencies: - ansi-escapes "^3.2.0" + ansi-escapes "^4.2.1" chalk "^2.4.2" - cli-cursor "^2.1.0" + cli-cursor "^3.1.0" cli-width "^2.0.0" external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" + figures "^3.0.0" + lodash "^4.17.15" + mute-stream "0.0.8" run-async "^2.2.0" rxjs "^6.4.0" - string-width "^2.1.0" + string-width "^4.1.0" strip-ansi "^5.1.0" through "^2.3.6" @@ -4037,6 +4162,11 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-generator-fn@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" @@ -4132,20 +4262,13 @@ is-symbol@^1.0.2: dependencies: has-symbols "^1.0.0" -is-text-path@^1.0.0: +is-text-path@^1.0.0, is-text-path@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= dependencies: text-extensions "^1.0.0" -is-text-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-2.0.0.tgz#b2484e2b720a633feb2e85b67dc193ff72c75636" - integrity sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw== - dependencies: - text-extensions "^2.0.0" - is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -4166,7 +4289,7 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= -isarray@1.0.0, isarray@~1.0.0: +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= @@ -4597,7 +4720,7 @@ jest-worker@^24.6.0, jest-worker@^24.9.0: merge-stream "^2.0.0" supports-color "^6.1.0" -jest@^24.7.0: +jest@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== @@ -4605,12 +4728,7 @@ jest@^24.7.0: import-local "^2.0.0" jest-cli "^24.9.0" -jetifier@^1.0.0-beta04.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/jetifier/-/jetifier-1.6.2.tgz#c1d8b7cc2af1d3a255963dbdaed3d56157e94712" - integrity sha512-KQKWmj7CNGcOztXwkWoZHoGHJqHBM2hI7YXRHv0tdSz5Gw063CU6z6o8sXaD1+ctTfYQOk+I87NPvPnX/3B3Kw== - -jetifier@^1.6.2: +jetifier@^1.0.0-beta04.2, jetifier@^1.6.2: version "1.6.4" resolved "https://registry.yarnpkg.com/jetifier/-/jetifier-1.6.4.tgz#6159db8e275d97980d26162897a0648b6d4a3222" integrity sha512-+f/4OLeqY8RAmXnonI1ffeY1DR8kMNJPhv5WMFehchf7U71cjMQVKkOz1n6asz6kfVoAqKNWJz1A/18i18AcXA== @@ -4633,7 +4751,7 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jsc-android@245459.0.0: +jsc-android@^245459.0.0: version "245459.0.0" resolved "https://registry.yarnpkg.com/jsc-android/-/jsc-android-245459.0.0.tgz#e584258dd0b04c9159a27fb104cd5d491fd202c9" integrity sha512-wkjURqwaB1daNkDi2OYYbsLnIdC/lUM2nPXQKRs5pqEU9chDg435bjvo+LSaHotDENygHQDHe+ntUkkw2gwMtg== @@ -4713,9 +4831,9 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= json5@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" - integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== + version "2.1.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" + integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== dependencies: minimist "^1.2.0" @@ -4753,10 +4871,10 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jsx-ast-utils@^2.0.1, jsx-ast-utils@^2.1.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz#4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb" - integrity sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ== +jsx-ast-utils@^2.0.1, jsx-ast-utils@^2.2.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz#8a9364e402448a3ce7f14d357738310d9248054f" + integrity sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA== dependencies: array-includes "^3.0.3" object.assign "^4.1.0" @@ -4933,12 +5051,12 @@ lodash.unescape@4.0.1: resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= -lodash@4.17.14, lodash@^4.17.10, lodash@^4.17.12, lodash@^4.17.5, lodash@^4.3.0, lodash@^4.6.1: +lodash@4.17.14: version "4.17.14" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba" integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw== -lodash@^4.14.14, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.2.1: +lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -4951,9 +5069,9 @@ log-symbols@^2.2.0: chalk "^2.0.1" logkitty@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/logkitty/-/logkitty-0.6.0.tgz#e327d4b144dd5c11d912d002cf57ac9fbae20e15" - integrity sha512-+F1ROENmfG3b4N9WGlRz5QGTBw/xgjZe2JzZLADYeCmzdId5c+QI7WTGRofs/10hwP84aAmjK2WStx+/oQVnwA== + version "0.6.1" + resolved "https://registry.yarnpkg.com/logkitty/-/logkitty-0.6.1.tgz#fe29209669d261539cbd6bb998a136fc92a1a05c" + integrity sha512-cHuXN8qUZuzX/7kB6VyS7kB4xyD24e8gyHXIFNhIv+fjW3P+jEXNUhj0o/7qWJtv7UZpbnPgUqzu/AZQ8RAqxQ== dependencies: ansi-fragments "^0.2.1" dayjs "^1.8.15" @@ -5100,10 +5218,10 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -metro-babel-register@0.54.1: - version "0.54.1" - resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.54.1.tgz#7d2bfe444b1ccef8de99aedc7d9330891d806076" - integrity sha512-j3VydgncUG8HP6AZala6GTIt3V01nptodnnOke3JMYLqgk8EJ1LOVOdotK9pXi80o7EmmNKFs/LyyH8z+uAJzQ== +metro-babel-register@0.56.3, metro-babel-register@^0.56.0: + version "0.56.3" + resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.56.3.tgz#d0cfb38adf45cb35965649ede794f2308562e20f" + integrity sha512-ILCRtNFdW6vzqmLAG2MYWdTSE1vCAZqDKNggiNhlfViuoxmWAIL0vOqixl1CHZF5z4t55+fk46A0jSN7UgPyVw== dependencies: "@babel/core" "^7.0.0" "@babel/plugin-proposal-class-properties" "^7.0.0" @@ -5118,12 +5236,13 @@ metro-babel-register@0.54.1: core-js "^2.2.2" escape-string-regexp "^1.0.5" -metro-babel-transformer@0.54.1: - version "0.54.1" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.54.1.tgz#371ffa2d1118b22cc9e40b3c3ea6738c49dae9dc" - integrity sha512-2aiAnuYBdcLV1VINb8ENAA4keIaJIepHgR9+iRvIde+9GSjKnexqx4nNmJN392285gRDp1fVZ7uY0uQawK/A5g== +metro-babel-transformer@0.56.3: + version "0.56.3" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.56.3.tgz#6559c3a8565238a704a181353cef59fdb974e6db" + integrity sha512-N5/ftb3rBkt6uKlgYAv+lwtzYc4dK0tBpfZ8pjec3kcypGuGTuf4LTHEh65EuzySreLngYI0bQzoFSn3G3DYsw== dependencies: "@babel/core" "^7.0.0" + metro-source-map "0.56.3" metro-babel7-plugin-react-transform@0.53.1: version "0.53.1" @@ -5132,49 +5251,42 @@ metro-babel7-plugin-react-transform@0.53.1: dependencies: "@babel/helper-module-imports" "^7.0.0" -metro-babel7-plugin-react-transform@0.54.1: - version "0.54.1" - resolved "https://registry.yarnpkg.com/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.54.1.tgz#5335b810284789724886dc483d5bde9c149a1996" - integrity sha512-jWm5myuMoZAOhoPsa8ItfDxdTcOzKhTTzzhFlbZnRamE7i9qybeMdrZt8KHQpF7i2p/mKzE9Yhf4ouOz5K/jHg== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - -metro-cache@0.54.1: - version "0.54.1" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.54.1.tgz#2e9017cbd11106837b8c385c9eb8c8175469a8c1" - integrity sha512-RxCFoNcANHXZYi4MIQNnqh68gUnC3bMpzCFJY5pBoqqdrkkn8ibYglBweA0/DW7hx1OZTJWelwS1Dp8xxmE2CA== +metro-cache@0.56.3: + version "0.56.3" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.56.3.tgz#1b0759bc45291cc3ffc77736c09dcfbd322edb8b" + integrity sha512-SsryVe/TVkt2IkEGnYhB3gQlg9iMlu8WJikQHcCEjMfPEnSIzmeymrX73fwQNPnTnN7F3E0HVjH6Wvq6fh0mcA== dependencies: jest-serializer "^24.4.0" - metro-core "0.54.1" + metro-core "0.56.3" mkdirp "^0.5.1" rimraf "^2.5.4" -metro-config@0.54.1, metro-config@^0.54.1: - version "0.54.1" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.54.1.tgz#808b4e17625d9f4e9afa34232778fdf8e63cc8dd" - integrity sha512-FpxrA+63rGkPGvGI653dvuSreJzU+eOTILItVnnhmqwn2SAK5V00N/qGTOIJe2YIuWEFXwCzw9lXmANrXbwuGg== +metro-config@0.56.3, metro-config@^0.56.0: + version "0.56.3" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.56.3.tgz#b16e600817c58c768946f24b039d2a1ba6a67651" + integrity sha512-C3ZLA5y5gW5auDSQN5dsCTduJg7LXEiX/tLAADOkgXWVImr5P74x9Wt8y1MMWrKx6p+4p5RMDyEwWDMXJt/DwA== dependencies: cosmiconfig "^5.0.5" jest-validate "^24.7.0" - metro "0.54.1" - metro-cache "0.54.1" - metro-core "0.54.1" + metro "0.56.3" + metro-cache "0.56.3" + metro-core "0.56.3" pretty-format "^24.7.0" -metro-core@0.54.1, metro-core@^0.54.1: - version "0.54.1" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.54.1.tgz#17f6ecc167918da8819d4af5726349e55714954b" - integrity sha512-8oz3Ck7QFBzW9dG9tKFhrXHKPu2Ajx3R7eatf61Gl6Jf/tF7PNouv3wHxPsJW3oXDFiwKLszd89+OgleTGkB5g== +metro-core@0.56.3, metro-core@^0.56.0: + version "0.56.3" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.56.3.tgz#34bb3a92621fd9b1ed3e6a01c6a4324fbb1201d9" + integrity sha512-OAaHP3mBdlACMZRwDJzZzYC0o2S3qfb4BBK75L8H4Ds+y3QUSrjsDEpHACcpaMTOds8rBvjzn+jjB5tqNoHfBA== dependencies: jest-haste-map "^24.7.1" lodash.throttle "^4.1.1" - metro-resolver "0.54.1" + metro-resolver "0.56.3" wordwrap "^1.0.0" -metro-inspector-proxy@0.54.1: - version "0.54.1" - resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.54.1.tgz#0ef48ee3feb11c6da47aa100151a9bf2a7c358ee" - integrity sha512-sf6kNu7PgFW6U+hU7YGZfbAUKAPVvCJhY8YVu/A1RMKH9nNULrCo+jlWh0gWgmFfWRQiAPCElevROg+5somk8A== +metro-inspector-proxy@0.56.3: + version "0.56.3" + resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.56.3.tgz#48046f9e3f7153be2409e0bee9252dede932ac39" + integrity sha512-7WtHinw+VJcunQ3q8El1MqqzYSRvXEjW5QE13VYwcLtnay3pvcqACeiQmGbWI0IqxB1+QH8tf3nkA7z7pQ7Vpw== dependencies: connect "^3.6.5" debug "^2.2.0" @@ -5182,17 +5294,17 @@ metro-inspector-proxy@0.54.1: ws "^1.1.5" yargs "^9.0.0" -metro-minify-uglify@0.54.1: - version "0.54.1" - resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.54.1.tgz#54ed1cb349245ce82dba8cc662bbf69fbca142c3" - integrity sha512-z+pOPna/8IxD4OhjW6Xo1mV2EszgqqQHqBm1FdmtdF6IpWkQp33qpDBNEi9NGZTOr7pp2bvcxZnvNJdC2lrK9Q== +metro-minify-uglify@0.56.3: + version "0.56.3" + resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.56.3.tgz#763b26895f79d0589d3391dc94083d348cf9c2be" + integrity sha512-b9ljyeUpkJWVlFy8M/i4aNbvEBI0zN9vJh1jfU7yx+k9dX7FulLnpGmAQxxQdEszcM//sJrsKNS1oLYBxr0NMQ== dependencies: uglify-es "^3.1.9" -metro-react-native-babel-preset@0.54.1: - version "0.54.1" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.54.1.tgz#b8f03865c381841d7f8912e7ba46804ea3a928b8" - integrity sha512-Hfr32+u5yYl3qhYQJU8NQ26g4kQlc3yFMg7keVR/3H8rwBIbFqXgsKt8oe0dOrv7WvrMqBHhDtVdU9ls3sSq8g== +metro-react-native-babel-preset@0.56.3: + version "0.56.3" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.56.3.tgz#5a1097c2f94e8ee0797a8ba2ab8f86d096f4c093" + integrity sha512-tGPzX2ZwI8vQ8SiNVBPUIgKqmaRNVB6rtJtHCBQZAYRiMbxh0NHCUoFfKBej6U5qVgxiYYHyN8oB23evG4/Oow== dependencies: "@babel/plugin-proposal-class-properties" "^7.0.0" "@babel/plugin-proposal-export-default-from" "^7.0.0" @@ -5228,8 +5340,7 @@ metro-react-native-babel-preset@0.54.1: "@babel/plugin-transform-typescript" "^7.0.0" "@babel/plugin-transform-unicode-regex" "^7.0.0" "@babel/template" "^7.0.0" - metro-babel7-plugin-react-transform "0.54.1" - react-transform-hmr "^1.0.4" + react-refresh "^0.4.0" metro-react-native-babel-preset@^0.53.1: version "0.53.1" @@ -5273,59 +5384,52 @@ metro-react-native-babel-preset@^0.53.1: metro-babel7-plugin-react-transform "0.53.1" react-transform-hmr "^1.0.4" -metro-react-native-babel-transformer@0.54.1, metro-react-native-babel-transformer@^0.54.1: - version "0.54.1" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.54.1.tgz#45b56db004421134e10e739f69e8de50775fef17" - integrity sha512-ECw7xG91t8dk/PHdiyoC5SP1s9OQzfmJzG5m0YOZaKtHMe534qTDbncxaKfTI3CP99yti2maXFBRVj+xyvph/g== +metro-react-native-babel-transformer@^0.56.0: + version "0.56.3" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.56.3.tgz#e68205230be65c07290b932f7684226013dae310" + integrity sha512-T87m4jDu0gIvJo8kWEvkodWFgQ8XBzJUESs1hUUTBSMIqTa31MdWfA1gs+MipadG7OsEJpcb9m83mGr8K70MWw== dependencies: "@babel/core" "^7.0.0" babel-preset-fbjs "^3.1.2" - metro-babel-transformer "0.54.1" - metro-react-native-babel-preset "0.54.1" + metro-babel-transformer "0.56.3" + metro-react-native-babel-preset "0.56.3" + metro-source-map "0.56.3" -metro-resolver@0.54.1: - version "0.54.1" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.54.1.tgz#0295b38624b678b88b16bf11d47288845132b087" - integrity sha512-Byv1LIawYAASy9CFRwzrncYnqaFGLe8vpw178EtzStqP05Hu6hXSqkNTrfoXa+3V9bPFGCrVzFx2NY3gFp2btg== +metro-resolver@0.56.3: + version "0.56.3" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.56.3.tgz#f18978b919a5ecc67028732609a564880715ef75" + integrity sha512-VvMl4xUp0fy76WiP3YDtzMmrn6tN/jwxOBqlTy9MjN6R9sUXrGyO5thwn/uKQqp5vwBTuJev7nZL7OKzwludKA== dependencies: absolute-path "^0.0.0" -metro-source-map@0.54.1: - version "0.54.1" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.54.1.tgz#e17bad53c11978197d3c05c9168d799c2e04dcc5" - integrity sha512-E9iSYMSUSq5qYi1R2hTQtxH4Mxjzfgr/jaSmQIWi7h3fG2P1qOZNNSzeaeUeTK+s2N/ksVlkcL5kMikol8CDrQ== - dependencies: - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - source-map "^0.5.6" - -metro-source-map@0.55.0, metro-source-map@^0.55.0: - version "0.55.0" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.55.0.tgz#1f6289905f08277c398f2b9b9c13e7e0e5a6f540" - integrity sha512-HZODA0KPl5onJNGIztfTHHWurR2nL6Je/X8wwj+bL4ZBB/hSMVeDk7rWReCAvO3twVz7Ztp8Si0jfMmmH4Ruuw== +metro-source-map@0.56.3, metro-source-map@^0.56.0: + version "0.56.3" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.56.3.tgz#0cadc9f9eca9ece224a6fd28b9e4fa3a9834e24c" + integrity sha512-CheqWbJZSM0zjcNBqELUiocwH3XArrOk6alhVuzJ2gV/WTMBQFwP0TtQssSMwjnouMHNEzY8RxErXKXBk/zJmQ== dependencies: "@babel/traverse" "^7.0.0" "@babel/types" "^7.0.0" invariant "^2.2.4" - metro-symbolicate "0.55.0" - ob1 "0.55.0" + metro-symbolicate "0.56.3" + ob1 "0.56.3" source-map "^0.5.6" vlq "^1.0.0" -metro-symbolicate@0.55.0: - version "0.55.0" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.55.0.tgz#4086a2adae54b5e44a4911ca572d8a7b03c71fa1" - integrity sha512-3r3Gpv5L4U7rBGpIqw5S1nun5MelfUMLRiScJsPRGZVTX3WY1w+zpaQKlWBi5yuHf5dMQ+ZUVbhb02IdrfJ2Fg== +metro-symbolicate@0.56.3: + version "0.56.3" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.56.3.tgz#20f9dc52fab3209903715716402692b3ac16831c" + integrity sha512-fSQtjjy4eiJDThSl9eloxMElhrs+5PQB+DKKzmTFXT8e2GDga+pa1xTBFRUACMO8BXGuWmxR7SnGDw0wo5Ngrw== dependencies: - metro-source-map "0.55.0" + invariant "^2.2.4" + metro-source-map "0.56.3" source-map "^0.5.6" through2 "^2.0.1" vlq "^1.0.0" -metro@0.54.1, metro@^0.54.1: - version "0.54.1" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.54.1.tgz#a629be00abee5a450a25a8f71c24745f70cc9b44" - integrity sha512-6ODPT4mEo4FCpbExRNnQAcZmf1VeNvYOTMj2Na03FjGqhNODHhI2U/wF/Ul5gqTyJ2dVdkXeyvKW3gl/LrnJRg== +metro@0.56.3, metro@^0.56.0: + version "0.56.3" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.56.3.tgz#3a38706bf6b1200421e871a4c53ddc2f359f65a9" + integrity sha512-mxHpvBGWanZ46wAEZVLinNO5IYMcFbTdMZIRhC7r+rvoSK6r9iPj95AujBfzLXMAl36RI2O3D7yp5hOYif/gEQ== dependencies: "@babel/core" "^7.0.0" "@babel/generator" "^7.0.0" @@ -5354,21 +5458,21 @@ metro@0.54.1, metro@^0.54.1: json-stable-stringify "^1.0.1" lodash.throttle "^4.1.1" merge-stream "^1.0.1" - metro-babel-register "0.54.1" - metro-babel-transformer "0.54.1" - metro-cache "0.54.1" - metro-config "0.54.1" - metro-core "0.54.1" - metro-inspector-proxy "0.54.1" - metro-minify-uglify "0.54.1" - metro-react-native-babel-preset "0.54.1" - metro-resolver "0.54.1" - metro-source-map "0.54.1" + metro-babel-register "0.56.3" + metro-babel-transformer "0.56.3" + metro-cache "0.56.3" + metro-config "0.56.3" + metro-core "0.56.3" + metro-inspector-proxy "0.56.3" + metro-minify-uglify "0.56.3" + metro-react-native-babel-preset "0.56.3" + metro-resolver "0.56.3" + metro-source-map "0.56.3" + metro-symbolicate "0.56.3" mime-types "2.1.11" mkdirp "^0.5.1" node-fetch "^2.2.0" nullthrows "^1.1.0" - react-transform-hmr "^1.0.4" resolve "^1.5.0" rimraf "^2.5.4" serialize-error "^2.1.0" @@ -5400,11 +5504,16 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -mime-db@1.40.0, "mime-db@>= 1.40.0 < 2": +mime-db@1.40.0: version "1.40.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== +"mime-db@>= 1.40.0 < 2": + version "1.42.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac" + integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ== + mime-db@~1.23.0: version "1.23.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.23.0.tgz#a31b4070adaea27d732ea333740a64d0ec9a6659" @@ -5439,7 +5548,7 @@ mimic-fn@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== -mimic-fn@^2.0.0: +mimic-fn@^2.0.0, mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== @@ -5481,20 +5590,20 @@ minimist@~0.0.1: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= -minipass@^2.2.1, minipass@^2.3.5: - version "2.4.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.4.0.tgz#38f0af94f42fb6f34d3d7d82a90e2c99cd3ff485" - integrity sha512-6PmOuSP4NnZXzs2z6rbwzLJu/c5gdzYg1mRI/WIYdx45iiX7T+a4esOzavD6V/KmBzAaopFSTZPZcUx73bqKWA== +minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== dependencies: safe-buffer "^5.1.2" yallist "^3.0.0" minizlib@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" - integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== + version "1.3.3" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== dependencies: - minipass "^2.2.1" + minipass "^2.9.0" mixin-deep@^1.2.0: version "1.3.2" @@ -5547,6 +5656,11 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + nan@^2.12.1: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" @@ -5679,9 +5793,9 @@ npm-bundled@^1.0.1: integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== npm-packlist@^1.1.6: - version "1.4.4" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" - integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== + version "1.4.6" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.6.tgz#53ba3ed11f8523079f1457376dd379ee4ea42ff4" + integrity sha512-u65uQdb+qwtGvEJh/DgQgW1Xg7sqeNbmxYyrvlNznaVTjV3E5P6F/EFjM+BVHXl7JJlsdG8A64M0XI8FI/IOlg== dependencies: ignore-walk "^3.0.1" npm-bundled "^1.0.1" @@ -5714,19 +5828,19 @@ number-is-nan@^1.0.0: integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= nwsapi@^2.0.7: - version "2.1.4" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz#e006a878db23636f8e8a67d33ca0e4edf61a842f" - integrity sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw== + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -ob1@0.55.0: - version "0.55.0" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.55.0.tgz#e393b4ae786ef442b3ef2a298ab70d6ec353dbdd" - integrity sha512-pfyiMVsUItl8WiRKMT15eCi662pCRAuYTq2+V3UpE+PpFErJI/TvRh/M/l/9TaLlbFr7krJ7gdl+FXJNcybmvw== +ob1@0.56.3: + version "0.56.3" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.56.3.tgz#5829e446587c9bf89c22ece4f3757b29f2ccfd18" + integrity sha512-3JL2ZyWOHDGTEAe4kcG+TxhGPKCCikgyoUIjE82JnXnmpR1LXItM9K3WhGsi4+O7oYngMW6FjpHHoc5xJTMkTQ== object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" @@ -5742,7 +5856,12 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-keys@^1.0.11, object-keys@^1.0.12: +object-inspect@^1.6.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" + integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -5775,14 +5894,14 @@ object.entries@^1.1.0: has "^1.0.3" object.fromentries@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" - integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.1.tgz#050f077855c7af8ae6649f45c80b16ee2d31e704" + integrity sha512-PUQv8Hbg3j2QX0IQYv3iAGCbGcu4yY4KQ92/dhA4sFSixBmSmp13UpDLs6jGK8rBtbmhNNIK99LD2k293jpiGA== dependencies: - define-properties "^1.1.2" - es-abstract "^1.11.0" + define-properties "^1.1.3" + es-abstract "^1.15.0" function-bind "^1.1.1" - has "^1.0.1" + has "^1.0.3" object.getownpropertydescriptors@^2.0.3: version "2.0.3" @@ -5835,6 +5954,13 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" +onetime@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" + integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + dependencies: + mimic-fn "^2.1.0" + open@^6.2.0: version "6.4.0" resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" @@ -5856,16 +5982,16 @@ optimist@^0.6.1: wordwrap "~0.0.2" optionator@^0.8.1, optionator@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== dependencies: deep-is "~0.1.3" - fast-levenshtein "~2.0.4" + fast-levenshtein "~2.0.6" levn "~0.3.0" prelude-ls "~1.1.2" type-check "~0.3.2" - wordwrap "~1.0.0" + word-wrap "~1.2.3" options@>=0.0.5: version "0.0.6" @@ -5898,7 +6024,7 @@ os-locale@^2.0.0: lcid "^1.0.0" mem "^1.1.0" -os-locale@^3.0.0, os-locale@^3.1.0: +os-locale@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== @@ -6153,6 +6279,13 @@ pirates@^4.0.0, pirates@^4.0.1: dependencies: node-modules-regexp "^1.0.0" +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + pkg-dir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" @@ -6221,10 +6354,10 @@ prettier@1.16.4: resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.4.tgz#73e37e73e018ad2db9c76742e2647e21790c9717" integrity sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g== -prettier@^1.18.2: - version "1.18.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz#6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea" - integrity sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw== +prettier@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== pretty-format@^24.7.0, pretty-format@^24.9.0: version "24.9.0" @@ -6264,9 +6397,9 @@ promise@^7.1.1: asap "~2.0.3" prompts@^2.0.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz#f901dd2a2dfee080359c0e20059b24188d75ad35" - integrity sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw== + version "2.3.0" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.0.tgz#a444e968fa4cc7e86689a74050685ac8006c4cc4" + integrity sha512-NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg== dependencies: kleur "^3.0.3" sisteransi "^1.0.3" @@ -6286,9 +6419,9 @@ pseudomap@^1.0.2: integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= psl@^1.1.24, psl@^1.1.28: - version "1.3.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.3.0.tgz#e1ebf6a3b5564fa8376f3da2275da76d875ca1bd" - integrity sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag== + version "1.4.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz#5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2" + integrity sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw== pump@^3.0.0: version "3.0.0" @@ -6343,7 +6476,7 @@ react-deep-force-update@^1.0.0: resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-1.1.2.tgz#3d2ae45c2c9040cbb1772be52f8ea1ade6ca2ee1" integrity sha512-WUSQJ4P/wWcusaH+zZmbECOk7H5N2pOIl0vzheeornkIMhu+qrNdGFm0bDZLCb0hSF0jf/kH1SgkNGfBdTc4wA== -react-devtools-core@^3.6.1: +react-devtools-core@^3.6.3: version "3.6.3" resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-3.6.3.tgz#977d95b684c6ad28205f0c62e1e12c5f16675814" integrity sha512-+P+eFy/yo8Z/UH9J0DqHZuUM5+RI2wl249TNvMx3J2jpUomLQa4Zxl56GEotGfw3PIP1eI+hVf1s53FlUONStQ== @@ -6351,20 +6484,20 @@ react-devtools-core@^3.6.1: shell-quote "^1.6.1" ws "^3.3.1" -react-is@^16.8.1, react-is@^16.8.4, react-is@^16.9.0: - version "16.9.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0.tgz#21ca9561399aad0ff1a7701c01683e8ca981edcb" - integrity sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw== +react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6: + version "16.11.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.11.0.tgz#b85dfecd48ad1ce469ff558a882ca8e8313928fa" + integrity sha512-gbBVYR2p8mnriqAwWx9LbuUrShnAuSCNnuPGyc7GJrMVQtPDAh8iLpv7FRuMPFb56KkaVZIYSz1PrjI9q0QPCw== -react-native@0.60.5: - version "0.60.5" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.60.5.tgz#3c1d9c06a0fbab9807220b6acac09488d39186ee" - integrity sha512-cZwI0XzzihACN+7an1Dy46A83FRaAe2Xyd7laCalFFAppZIYeMVphZQWrVljJk5kIZBNtYG35TY1VsghQ0Oc2Q== +react-native@^0.61.4: + version "0.61.4" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.61.4.tgz#9ec6e8a2aa8eac57143dcfa39115c7d9a139bc2c" + integrity sha512-L8U+dDEy4vP74yWYbb+2XKaZeUkbpCUoSzcmeEM8Oznt69q71Q4fuYyxZGrzVW6tMYw9ZzGXTkfLuOh2nvLeVw== dependencies: "@babel/runtime" "^7.0.0" - "@react-native-community/cli" "^2.6.0" - "@react-native-community/cli-platform-android" "^2.6.0" - "@react-native-community/cli-platform-ios" "^2.4.1" + "@react-native-community/cli" "^3.0.0-alpha.1" + "@react-native-community/cli-platform-android" "^3.0.0-alpha.1" + "@react-native-community/cli-platform-ios" "^3.0.0-alpha.1" abort-controller "^3.0.0" art "^0.10.0" base64-js "^1.1.2" @@ -6374,19 +6507,20 @@ react-native@0.60.5: event-target-shim "^5.0.1" fbjs "^1.0.0" fbjs-scripts "^1.1.0" - hermesvm "^0.1.0" + hermes-engine "^0.2.1" invariant "^2.2.4" - jsc-android "245459.0.0" - metro-babel-register "0.54.1" - metro-react-native-babel-transformer "0.54.1" - metro-source-map "^0.55.0" + jsc-android "^245459.0.0" + metro-babel-register "^0.56.0" + metro-react-native-babel-transformer "^0.56.0" + metro-source-map "^0.56.0" nullthrows "^1.1.0" pretty-format "^24.7.0" promise "^7.1.1" prop-types "^15.7.2" - react-devtools-core "^3.6.1" + react-devtools-core "^3.6.3" + react-refresh "^0.4.0" regenerator-runtime "^0.13.2" - scheduler "0.14.0" + scheduler "0.15.0" stacktrace-parser "^0.1.3" whatwg-fetch "^3.0.0" @@ -6398,15 +6532,20 @@ react-proxy@^1.1.7: lodash "^4.6.1" react-deep-force-update "^1.0.0" -react-test-renderer@16.9.0: - version "16.9.0" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.9.0.tgz#7ed657a374af47af88f66f33a3ef99c9610c8ae9" - integrity sha512-R62stB73qZyhrJo7wmCW9jgl/07ai+YzvouvCXIJLBkRlRqLx4j9RqcLEAfNfU3OxTGucqR2Whmn3/Aad6L3hQ== +react-refresh@^0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.2.tgz#54a277a6caaac2803d88f1d6f13c1dcfbd81e334" + integrity sha512-kv5QlFFSZWo7OlJFNYbxRtY66JImuP2LcrFgyJfQaf85gSP+byzG21UbDQEYjU7f//ny8rwiEkO6py2Y+fEgAQ== + +react-test-renderer@^16.11.0: + version "16.11.0" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.11.0.tgz#72574566496462c808ac449b0287a4c0a1a7d8f8" + integrity sha512-nh9gDl8R4ut+ZNNb2EeKO5VMvTKxwzurbSMuGBoKtjpjbg8JK/u3eVPVNi1h1Ue+eYK9oSzJjb+K3lzLxyA4ag== dependencies: object-assign "^4.1.1" prop-types "^15.6.2" - react-is "^16.9.0" - scheduler "^0.15.0" + react-is "^16.8.6" + scheduler "^0.17.0" react-transform-hmr@^1.0.4: version "1.0.4" @@ -6416,10 +6555,10 @@ react-transform-hmr@^1.0.4: global "^4.3.0" react-proxy "^1.1.7" -react@16.9.0: - version "16.9.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.9.0.tgz#40ba2f9af13bc1a38d75dbf2f4359a5185c4f7aa" - integrity sha512-+7LQnFBwkiw+BobzOF6N//BdoNw0ouwmSJTEm9cglOOmsg/TMiFHZLe2sEoN5M7LgJTj9oHH0gxklfnQe66S1w== +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" @@ -6484,7 +6623,7 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" -read-pkg@^5.1.1: +read-pkg@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== @@ -6539,7 +6678,7 @@ redent@^2.0.0: indent-string "^3.0.0" strip-indent "^2.0.0" -regenerate-unicode-properties@^8.0.2: +regenerate-unicode-properties@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== @@ -6562,14 +6701,14 @@ regenerator-runtime@^0.11.0: integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== regenerator-runtime@^0.13.2: - version "0.13.2" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447" - integrity sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA== + version "0.13.3" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" + integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== regenerator-transform@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.0.tgz#2ca9aaf7a2c239dd32e4761218425b8c7a86ecaf" - integrity sha512-rtOelq4Cawlbmq9xuMR5gdFmv7ku/sFoB7sRiywx7aq53bc52b4j6zvH7Te1Vt/X2YveDKnCGUbioieU7FEL3w== + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" + integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ== dependencies: private "^0.1.6" @@ -6586,22 +6725,22 @@ regexpp@^2.0.1: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== -regexpu-core@^4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" - integrity sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ== +regexpu-core@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" + integrity sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg== dependencies: regenerate "^1.4.0" - regenerate-unicode-properties "^8.0.2" + regenerate-unicode-properties "^8.1.0" regjsgen "^0.5.0" regjsparser "^0.6.0" unicode-match-property-ecmascript "^1.0.4" unicode-match-property-value-ecmascript "^1.1.0" regjsgen@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" - integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== + version "0.5.1" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" + integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== regjsparser@^0.6.0: version "0.6.0" @@ -6632,19 +6771,19 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -request-promise-core@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" - integrity sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag== +request-promise-core@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" + integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== dependencies: - lodash "^4.17.11" + lodash "^4.17.15" request-promise-native@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59" - integrity sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w== + version "1.0.8" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" + integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== dependencies: - request-promise-core "1.1.2" + request-promise-core "1.1.3" stealthy-require "^1.1.1" tough-cookie "^2.3.3" @@ -6735,20 +6874,13 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.3.2: +resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0: version "1.12.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== dependencies: path-parse "^1.0.6" -resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0: - version "1.11.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" - integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== - dependencies: - path-parse "^1.0.6" - restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -6757,6 +6889,14 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -6818,9 +6958,9 @@ rxjs@^5.4.3: symbol-observable "1.0.1" rxjs@^6.4.0: - version "6.5.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7" - integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg== + version "6.5.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" + integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA== dependencies: tslib "^1.9.0" @@ -6866,18 +7006,18 @@ sax@^1.2.1, sax@^1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -scheduler@0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.14.0.tgz#b392c23c9c14bfa2933d4740ad5603cc0d59ea5b" - integrity sha512-9CgbS06Kki2f4R9FjLSITjZo5BZxPsryiRNyL3LpvrM9WxcVmhlqAOc9E+KQbeI2nqej4JIIbOsfdL51cNb4Iw== +scheduler@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.15.0.tgz#6bfcf80ff850b280fed4aeecc6513bc0b4f17f8e" + integrity sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" -scheduler@^0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.15.0.tgz#6bfcf80ff850b280fed4aeecc6513bc0b4f17f8e" - integrity sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg== +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" @@ -6887,7 +7027,7 @@ semver-compare@^1.0.0: resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -6897,17 +7037,12 @@ semver@5.5.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== -semver@6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.1.tgz#53f53da9b30b2103cd4f15eab3a18ecbcb210c9b" - integrity sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ== - -semver@^5.0.3, semver@^5.1.0, semver@^5.5.1: - version "5.7.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" - integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== +semver@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" + integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A== -semver@^6.0.0, semver@^6.1.2, semver@^6.2.0: +semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -6983,7 +7118,7 @@ shebang-regex@^1.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= -shell-quote@1.6.1, shell-quote@^1.6.1: +shell-quote@1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c= @@ -6993,6 +7128,11 @@ shell-quote@1.6.1, shell-quote@^1.6.1: array-reduce "~0.0.0" jsonify "~0.0.0" +shell-quote@^1.6.1: + version "1.7.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== + shellwords@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" @@ -7004,18 +7144,18 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= simple-plist@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.0.0.tgz#bed3085633b22f371e111f45d159a1ccf94b81eb" - integrity sha512-043L2rO80LVF7zfZ+fqhsEkoJFvW8o59rt/l4ctx1TJWoTx7/jkiS1R5TatD15Z1oYnuLJytzE7gcnnBuIPL2g== + version "1.1.0" + resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.1.0.tgz#8354ab63eb3922a054c78ce96c209c532e907a23" + integrity sha512-2i5Tc0BYAqppM7jVzmNrI+aEUntPolIq4fDgji6WuNNn1D/qYdn2KwoLhZdzQkE04lu9L5tUoeJsjuJAvd+lFg== dependencies: - bplist-creator "0.0.7" - bplist-parser "0.1.1" + bplist-creator "0.0.8" + bplist-parser "0.2.0" plist "^3.0.1" sisteransi@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz#98168d62b79e3a5e758e27ae63c4a053d748f4eb" - integrity sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg== + version "1.0.4" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.4.tgz#386713f1ef688c7c0304dc4c0632898941cad2e3" + integrity sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig== slash@^2.0.0: version "2.0.0" @@ -7082,18 +7222,10 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.6: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@^0.5.9: - version "0.5.12" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" - integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== +source-map-support@^0.5.16, source-map-support@^0.5.6: + version "0.5.16" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" + integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -7186,11 +7318,11 @@ stack-utils@^1.0.1: integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== stacktrace-parser@^0.1.3: - version "0.1.6" - resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.6.tgz#c17d466d15ba51bee2f753d064f17327a886ff37" - integrity sha512-wXhu0Z8YgCGigUtHQq+J7pjXCppk3Um5DwH4qskOKHMlJmKwuuUSm+wDAgU7t4sbVjvuDTNGwOfFKgjMEqSflA== + version "0.1.7" + resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.7.tgz#9ed005638a5e79dcf256611da1dfb4871e6fd14d" + integrity sha512-Evm+NuZ2ZTwGazsbsZC+EV1EGsvyxgIvtNwbyFfeXaq/8L78M5Kdh0qpmQaTkUpbOAKbbPP7c7qZa7u8XFsrUA== dependencies: - type-fest "^0.3.0" + type-fest "^0.7.1" static-extend@^0.1.1: version "0.1.2" @@ -7249,6 +7381,31 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string-width@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.trimleft@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" + integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + +string.prototype.trimright@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" + integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -7284,6 +7441,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -7323,7 +7487,12 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -supports-color@^5.2.0, supports-color@^5.3.0: +sudo-prompt@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-9.0.0.tgz#eebedeee9fcd6f661324e6bb46335e3288e8dc8a" + integrity sha512-kUn5fiOk0nhY2oKD9onIkcNCE4Zt85WTsvOfSmqCplmlEvXCcPOmp1npH5YWuf8Bmyy9wLWkIxx+D+8cThBORQ== + +supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -7348,28 +7517,33 @@ symbol-tree@^3.2.2: integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== table@^5.2.3: - version "5.4.1" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.1.tgz#0691ae2ebe8259858efb63e550b6d5f9300171e8" - integrity sha512-E6CK1/pZe2N75rGZQotFOdmzWQ1AILtgYbMAbAjvms0S1l5IDB47zG3nCnFGB/w+7nB3vKofbLXCH7HPBo864w== + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== dependencies: - ajv "^6.9.1" - lodash "^4.17.11" + ajv "^6.10.2" + lodash "^4.17.14" slice-ansi "^2.1.0" string-width "^3.0.0" tar@^4: - version "4.4.10" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" - integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== + version "4.4.13" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" + integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== dependencies: chownr "^1.1.1" fs-minipass "^1.2.5" - minipass "^2.3.5" + minipass "^2.8.6" minizlib "^1.2.1" mkdirp "^0.5.0" safe-buffer "^5.1.2" yallist "^3.0.3" +temp-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" + integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== + temp@0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59" @@ -7378,13 +7552,13 @@ temp@0.8.3: os-tmpdir "^1.0.0" rimraf "~2.2.6" -tempfile@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2" - integrity sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I= +tempfile@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-3.0.0.tgz#5376a3492de7c54150d0cc0612c3f00e2cdaf76c" + integrity sha512-uNFCg478XovRi85iD42egu+eSFUmmka750Jy7L5tfHI5hQKKtbPnxaSaXAbBqCDYrw3wx4tXjKwci4/QmsZJxw== dependencies: - os-tmpdir "^1.0.0" - uuid "^2.0.1" + temp-dir "^2.0.0" + uuid "^3.3.2" test-exclude@^5.2.3: version "5.2.3" @@ -7401,11 +7575,6 @@ text-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== -text-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-2.0.0.tgz#43eabd1b495482fae4a2bf65e5f56c29f69220f6" - integrity sha512-F91ZqLgvi1E0PdvmxMgp+gcf6q8fMH7mhdwWfzXnl1k+GbpQDmi8l7DzLC5JTASKbwpY3TfxajAUzAXcv2NmsQ== - text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -7526,20 +7695,15 @@ trim-off-newlines@^1.0.0: resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= - tslib@^1.8.1, tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== -tsutils@^3.7.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.14.0.tgz#bf8d5a7bae5369331fa0f2b0a5a10bd7f7396c77" - integrity sha512-SmzGbB0l+8I0QwsPgjooFRaRvHLBLNYM8SeQ0k6rtNDru5sCGeLJcZdwilNndN+GysuFjF5EIYgN8GfFG6UeUw== +tsutils@^3.17.1, tsutils@^3.7.0: + version "3.17.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" + integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== dependencies: tslib "^1.8.1" @@ -7562,25 +7726,30 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-fest@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" - integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== +type-fest@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2" + integrity sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw== type-fest@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== +type-fest@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" + integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== + typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.3.tgz#c830f657f93f1ea846819e929092f5fe5983e977" - integrity sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g== +typescript@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.2.tgz#27e489b95fa5909445e9fef5ee48d81697ad18fb" + integrity sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ== ua-parser-js@^0.7.18: version "0.7.20" @@ -7596,11 +7765,11 @@ uglify-es@^3.1.9: source-map "~0.6.1" uglify-js@^3.1.4: - version "3.6.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" - integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== + version "3.6.8" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.8.tgz#5edcbcf9d49cbb0403dc49f856fe81530d65145e" + integrity sha512-XhHJ3S3ZyMwP8kY1Gkugqx3CJh2C3O0y8NPiSxtm1tyD/pktLAkFZsFGpuNfTZddKDQ/bbDBLAd2YyA1pbi8HQ== dependencies: - commander "~2.20.0" + commander "~2.20.3" source-map "~0.6.1" ultron@1.0.x: @@ -7699,11 +7868,6 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" - integrity sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho= - uuid@^3.3.2: version "3.3.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" @@ -7794,9 +7958,9 @@ whatwg-url@^6.4.1: webidl-conversions "^4.0.2" whatwg-url@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" - integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ== + version "7.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== dependencies: lodash.sortby "^4.7.0" tr46 "^1.0.1" @@ -7821,7 +7985,12 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" -wordwrap@^1.0.0, wordwrap@~1.0.0: +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= @@ -7958,9 +8127,9 @@ yallist@^2.1.2: integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= yallist@^3.0.0, yallist@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" - integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yargs-parser@^10.0.0: version "10.1.0" @@ -7977,7 +8146,7 @@ yargs-parser@^11.1.1: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^13.1.0, yargs-parser@^13.1.1: +yargs-parser@^13.1.1: version "13.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== @@ -8010,24 +8179,7 @@ yargs@^12.0.5: y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" -yargs@^13.2.2: - version "13.2.4" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83" - integrity sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - os-locale "^3.1.0" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.0" - -yargs@^13.3.0: +yargs@^13.2.2, yargs@^13.3.0: version "13.3.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== From fef5f39d8d39c3ef6224cae1a78599e5e14295ec Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Tue, 12 Nov 2019 11:21:36 +0100 Subject: [PATCH 28/46] style: fixed eslint settings / vscode --- .eslintrc.js | 6 -- .eslintrc.json | 11 ++++ .prettierrc | 6 ++ .vscode/settings.json | 22 ++++++- package.json | 1 - yarn.lock | 137 ++++-------------------------------------- 6 files changed, 48 insertions(+), 135 deletions(-) delete mode 100644 .eslintrc.js create mode 100644 .eslintrc.json create mode 100644 .prettierrc diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 2428ff6..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - extends: "satya164", - rules: { - "react-native/no-inline-styles": 0 - } -}; diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..c30de3c --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,11 @@ +{ + "extends": "satya164", + "rules": { + "react-native/no-inline-styles": 0 + }, + "env": { + "node": true, + "browser": true, + "react-native/react-native": true + } +} diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..b207b25 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,6 @@ +{ + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "trailingComma": "es5" +} diff --git a/.vscode/settings.json b/.vscode/settings.json index 98f67c3..d300322 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,22 @@ { - "prettier.eslintIntegration": true, - "javascript.validate.enable": false, "flow.useNPMPackagedFlow": true, - "java.configuration.updateBuildConfiguration": "disabled" + "java.configuration.updateBuildConfiguration": "disabled", + "eslint.validate": [ + { + "language": "javascript", + "autoFix": true + }, + { + "language": "javascriptreact", + "autoFix": true + }, + { + "language": "typescript", + "autoFix": true + }, + { + "language": "typescriptreact", + "autoFix": true + } + ] } diff --git a/package.json b/package.json index 3c36d1b..e35f8f1 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,6 @@ "devDependencies": { "@commitlint/config-conventional": "^8.2.0", "@react-native-community/bob": "^0.7.0", - "@react-native-community/eslint-config": "^0.0.5", "@types/react": "^16.9.11", "@types/react-native": "^0.60.22", "commitlint": "^8.2.0", diff --git a/yarn.lock b/yarn.lock index 77e6001..e234e9a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1086,23 +1086,6 @@ wcwidth "^1.0.1" ws "^1.1.0" -"@react-native-community/eslint-config@^0.0.5": - version "0.0.5" - resolved "https://registry.yarnpkg.com/@react-native-community/eslint-config/-/eslint-config-0.0.5.tgz#584f6493258202a57efc22e7be66966e43832795" - integrity sha512-jwO2tnKaTPTLX5XYXMHGEnFdf543SU7jz98/OF5mDH3b7lP+BOaCD+jVfqqHoDRkcqyPlYiR1CgwVGWpi0vMWg== - dependencies: - "@typescript-eslint/eslint-plugin" "^1.5.0" - "@typescript-eslint/parser" "^1.5.0" - babel-eslint "10.0.1" - eslint-plugin-eslint-comments "^3.1.1" - eslint-plugin-flowtype "2.50.3" - eslint-plugin-jest "22.4.1" - eslint-plugin-prettier "2.6.2" - eslint-plugin-react "7.12.4" - eslint-plugin-react-hooks "^1.5.1" - eslint-plugin-react-native "3.6.0" - prettier "1.16.4" - "@types/babel__core@^7.1.0": version "7.1.3" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30" @@ -1259,17 +1242,6 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^1.5.0": - version "1.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.13.0.tgz#22fed9b16ddfeb402fd7bcde56307820f6ebc49f" - integrity sha512-WQHCozMnuNADiqMtsNzp96FNox5sOVpU8Xt4meaT4em8lOG1SrOv92/mUbEHQVh90sldKSfcOc/I0FOb/14G1g== - dependencies: - "@typescript-eslint/experimental-utils" "1.13.0" - eslint-utils "^1.3.1" - functional-red-black-tree "^1.0.1" - regexpp "^2.0.1" - tsutils "^3.7.0" - "@typescript-eslint/eslint-plugin@^2.3.1": version "2.7.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.7.0.tgz#dff176bdb73dfd7e2e43062452189bd1b9db6021" @@ -1281,15 +1253,6 @@ regexpp "^2.0.1" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@1.13.0", "@typescript-eslint/experimental-utils@^1.13.0": - version "1.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz#b08c60d780c0067de2fb44b04b432f540138301e" - integrity sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "1.13.0" - eslint-scope "^4.0.0" - "@typescript-eslint/experimental-utils@2.7.0": version "2.7.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.7.0.tgz#58d790a3884df3041b5a5e08f9e5e6b7c41864b5" @@ -1299,15 +1262,14 @@ "@typescript-eslint/typescript-estree" "2.7.0" eslint-scope "^5.0.0" -"@typescript-eslint/parser@^1.5.0": +"@typescript-eslint/experimental-utils@^1.13.0": version "1.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-1.13.0.tgz#61ac7811ea52791c47dc9fd4dd4a184fae9ac355" - integrity sha512-ITMBs52PCPgLb2nGPoeT4iU3HdQZHcPaZVw+7CsFagRJHUhyeTgorEwHXhFf3e7Evzi8oujKNpHc8TONth8AdQ== + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz#b08c60d780c0067de2fb44b04b432f540138301e" + integrity sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg== dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "1.13.0" + "@types/json-schema" "^7.0.3" "@typescript-eslint/typescript-estree" "1.13.0" - eslint-visitor-keys "^1.0.0" + eslint-scope "^4.0.0" "@typescript-eslint/parser@^2.3.1": version "2.7.0" @@ -1691,18 +1653,6 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== -babel-eslint@10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.1.tgz#919681dc099614cd7d31d45c8908695092a1faed" - integrity sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - eslint-scope "3.7.1" - eslint-visitor-keys "^1.0.0" - babel-eslint@^10.0.3: version "10.0.3" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.3.tgz#81a2c669be0f205e19462fed2482d33e4687a88a" @@ -2893,7 +2843,7 @@ eslint-plugin-babel@^5.3.0: dependencies: eslint-rule-composer "^0.3.0" -eslint-plugin-eslint-comments@^3.1.1, eslint-plugin-eslint-comments@^3.1.2: +eslint-plugin-eslint-comments@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.1.2.tgz#4ef6c488dbe06aa1627fea107b3e5d059fc8a395" integrity sha512-QexaqrNeteFfRTad96W+Vi4Zj1KFbkHHNMMaHZEYcovKav6gdomyGzaxSDSL3GoIyUOo078wRAdYlu1caiauIQ== @@ -2901,13 +2851,6 @@ eslint-plugin-eslint-comments@^3.1.1, eslint-plugin-eslint-comments@^3.1.2: escape-string-regexp "^1.0.5" ignore "^5.0.5" -eslint-plugin-flowtype@2.50.3: - version "2.50.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.3.tgz#61379d6dce1d010370acd6681740fd913d68175f" - integrity sha512-X+AoKVOr7Re0ko/yEXyM5SSZ0tazc6ffdIOocp2fFUlWoDt7DV0Bz99mngOkAFLOAWjqRA5jPwqUCbrx13XoxQ== - dependencies: - lodash "^4.17.10" - eslint-plugin-flowtype@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.3.0.tgz#06d0837ac341caf369e7e6dbb112dd7fd21acf17" @@ -2932,11 +2875,6 @@ eslint-plugin-import@^2.18.2: read-pkg-up "^2.0.0" resolve "^1.11.0" -eslint-plugin-jest@22.4.1: - version "22.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.4.1.tgz#a5fd6f7a2a41388d16f527073b778013c5189a9c" - integrity sha512-gcLfn6P2PrFAVx3AobaOzlIEevpAEf9chTpFZz7bYfc7pz8XRv7vuKTIE4hxPKZSha6XWKKplDQ0x9Pq8xX2mg== - eslint-plugin-jest@^22.17.0: version "22.21.0" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.21.0.tgz#8137294645866636160487d9764224b9a43e2eb1" @@ -2944,14 +2882,6 @@ eslint-plugin-jest@^22.17.0: dependencies: "@typescript-eslint/experimental-utils" "^1.13.0" -eslint-plugin-prettier@2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.2.tgz#71998c60aedfa2141f7bfcbf9d1c459bf98b4fad" - integrity sha512-tGek5clmW5swrAx1mdPYM8oThrBE83ePh7LeseZHBWfHVGrHPhKn7Y5zgRMbU/9D5Td9K4CEmUPjGxA7iw98Og== - dependencies: - fast-diff "^1.1.1" - jest-docblock "^21.0.0" - eslint-plugin-prettier@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.1.tgz#507b8562410d02a03f0ddc949c616f877852f2ba" @@ -2959,11 +2889,6 @@ eslint-plugin-prettier@^3.1.1: dependencies: prettier-linter-helpers "^1.0.0" -eslint-plugin-react-hooks@^1.5.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04" - integrity sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA== - eslint-plugin-react-hooks@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.2.0.tgz#078264e9e388da6929ace09d6abe92c85963aff4" @@ -2974,13 +2899,6 @@ eslint-plugin-react-native-globals@^0.1.1: resolved "https://registry.yarnpkg.com/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz#ee1348bc2ceb912303ce6bdbd22e2f045ea86ea2" integrity sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g== -eslint-plugin-react-native@3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-native/-/eslint-plugin-react-native-3.6.0.tgz#7cad3b7c6159df6d26fe3252c6c5417a17f27b4b" - integrity sha512-BEQcHZ06hZSBYWFVuNEq0xuui5VEsWpHDsZGBtfadHfCRqRMUrkYPgdDb3bpc60qShHE83kqIv59uKdinEg91Q== - dependencies: - eslint-plugin-react-native-globals "^0.1.1" - eslint-plugin-react-native@^3.7.0: version "3.8.1" resolved "https://registry.yarnpkg.com/eslint-plugin-react-native/-/eslint-plugin-react-native-3.8.1.tgz#92811e37191ecb0d29c0f0a0c9e5c943ee573821" @@ -2988,19 +2906,6 @@ eslint-plugin-react-native@^3.7.0: dependencies: eslint-plugin-react-native-globals "^0.1.1" -eslint-plugin-react@7.12.4: - version "7.12.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c" - integrity sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ== - dependencies: - array-includes "^3.0.3" - doctrine "^2.1.0" - has "^1.0.3" - jsx-ast-utils "^2.0.1" - object.fromentries "^2.0.0" - prop-types "^15.6.2" - resolve "^1.9.0" - eslint-plugin-react@^7.14.3: version "7.16.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.16.0.tgz#9928e4f3e2122ed3ba6a5b56d0303ba3e41d8c09" @@ -3021,14 +2926,6 @@ eslint-rule-composer@^0.3.0: resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== -eslint-scope@3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" - integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug= - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - eslint-scope@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" @@ -3045,7 +2942,7 @@ eslint-scope@^5.0.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-utils@^1.3.1, eslint-utils@^1.4.2, eslint-utils@^1.4.3: +eslint-utils@^1.4.2, eslint-utils@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== @@ -3329,7 +3226,7 @@ fast-deep-equal@^2.0.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= -fast-diff@^1.1.1, fast-diff@^1.1.2: +fast-diff@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== @@ -4430,11 +4327,6 @@ jest-diff@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-docblock@^21.0.0: - version "21.2.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" - integrity sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw== - jest-docblock@^24.3.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" @@ -4871,7 +4763,7 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jsx-ast-utils@^2.0.1, jsx-ast-utils@^2.2.1: +jsx-ast-utils@^2.2.1: version "2.2.3" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz#8a9364e402448a3ce7f14d357738310d9248054f" integrity sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA== @@ -5056,7 +4948,7 @@ lodash@4.17.14: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba" integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw== -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1: +lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -6349,11 +6241,6 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@1.16.4: - version "1.16.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.4.tgz#73e37e73e018ad2db9c76742e2647e21790c9717" - integrity sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g== - prettier@^1.19.1: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" @@ -6874,7 +6761,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0: +resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: version "1.12.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== @@ -7700,7 +7587,7 @@ tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== -tsutils@^3.17.1, tsutils@^3.7.0: +tsutils@^3.17.1: version "3.17.1" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== From f12890a0512f2540069286170b836f2b6a0011c5 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Tue, 12 Nov 2019 11:26:04 +0100 Subject: [PATCH 29/46] style: fixed lint errors due to stricter lint rules --- src/RNSharedElementTransitionView.web.tsx | 13 +++--- src/SharedElement.tsx | 24 +++++------ src/SharedElementTransition.tsx | 49 ++++++++++++----------- src/web/Color.ts | 2 +- 4 files changed, 45 insertions(+), 43 deletions(-) diff --git a/src/RNSharedElementTransitionView.web.tsx b/src/RNSharedElementTransitionView.web.tsx index 1584977..434852e 100644 --- a/src/RNSharedElementTransitionView.web.tsx +++ b/src/RNSharedElementTransitionView.web.tsx @@ -63,14 +63,15 @@ export class RNSharedElementTransitionView extends React.Component< this.state.transition.destroy(); } - render() { - // console.log("RNSharedElementTransitionView.render"); - return ; - } - private onSetRef = (ref: any) => { if (!ref) return; const element: any = ref ? findNodeHandle(ref) : null; - this.state.transition.element = element; + const { transition } = this.state; + transition.element = element; }; + + render() { + // console.log("RNSharedElementTransitionView.render"); + return ; + } } diff --git a/src/SharedElement.tsx b/src/SharedElement.tsx index 6983b90..cccb8ba 100644 --- a/src/SharedElement.tsx +++ b/src/SharedElement.tsx @@ -24,16 +24,14 @@ export function nodeFromRef( } export class SharedElement extends React.Component { - private _node: SharedElementNode | null = null; - - render() { - const { - onNode, //eslint-disable-line @typescript-eslint/no-unused-vars - ...otherProps - } = this.props; - return ; + componentDidUpdate(prevProps: SharedElementProps) { + if (!prevProps.onNode && this.props.onNode && this._node) { + this.props.onNode(this._node); + } } + private _node: SharedElementNode | null = null; + private onSetRef = (ref: any) => { this._node = nodeFromRef(ref, true, this); if (this.props.onNode) { @@ -41,9 +39,11 @@ export class SharedElement extends React.Component { } }; - componentDidUpdate(prevProps: SharedElementProps) { - if (!prevProps.onNode && this.props.onNode && this._node) { - this.props.onNode(this._node); - } + render() { + const { + onNode, //eslint-disable-line @typescript-eslint/no-unused-vars + ...otherProps + } = this.props; + return ; } } diff --git a/src/SharedElementTransition.tsx b/src/SharedElementTransition.tsx index 4431347..373df82 100644 --- a/src/SharedElementTransition.tsx +++ b/src/SharedElementTransition.tsx @@ -131,18 +131,6 @@ export class SharedElementTransition extends React.Component< SharedElementTransitionProps, StateType > { - static defaultProps = { - start: {}, - end: {}, - SharedElementComponent: RNAnimatedSharedElementTransitionView, - animation: 'move', - resize: 'auto', - align: 'auto', - }; - private static isNotAvailableWarningShown = false; - - state: StateType = {}; - static prepareNode(node: SharedElementNode | null): any { let nodeStyle: any = {}; if (node && node.parentInstance) { @@ -172,6 +160,15 @@ export class SharedElementTransition extends React.Component< : undefined; } + static defaultProps = { + start: {}, + end: {}, + SharedElementComponent: RNAnimatedSharedElementTransitionView, + animation: 'move', + resize: 'auto', + align: 'auto', + }; + constructor(props: SharedElementTransitionProps) { super(props); if ( @@ -191,6 +188,22 @@ export class SharedElementTransition extends React.Component< } } + state: StateType = {}; + + private static isNotAvailableWarningShown = false; + + onMeasureNode = (event: SharedElementOnMeasureEvent) => { + const { nativeEvent } = event; + const { onMeasure } = this.props; + this.setState({ + [`${nativeEvent.node}`]: nativeEvent, + }); + // console.log("onMeasure: ", nativeEvent); + if (onMeasure) { + onMeasure(event); + } + }; + renderDebugOverlay() { if (!this.props.debug) { return; @@ -329,16 +342,4 @@ export class SharedElementTransition extends React.Component< ); } - - onMeasureNode = (event: SharedElementOnMeasureEvent) => { - const { nativeEvent } = event; - const { onMeasure } = this.props; - this.setState({ - [`${nativeEvent.node}`]: nativeEvent, - }); - // console.log("onMeasure: ", nativeEvent); - if (onMeasure) { - onMeasure(event); - } - }; } diff --git a/src/web/Color.ts b/src/web/Color.ts index 8f6ee81..316a9d9 100644 --- a/src/web/Color.ts +++ b/src/web/Color.ts @@ -28,7 +28,7 @@ export function parseColor(color: string | Color): Color { else if ((cache = /rgb\(([\d]+),([\d]+),([\d]+)\)/.exec(color))) return [+cache[1], +cache[2], +cache[3], 1]; // Otherwise throw an exception to make debugging easier - else throw color + ' is not supported by parseColor'; + else throw new Error(color + ' is not supported by parseColor'); } export function formatColor(color: Color): string { From 7d21cc5a2265846a210e45f2603497e190828fa9 Mon Sep 17 00:00:00 2001 From: Hein Rutjes Date: Tue, 12 Nov 2019 11:33:06 +0100 Subject: [PATCH 30/46] style: code style updated Example app --- Example/index.js | 6 +- Example/index.web.js | 8 +- Example/src/App.js | 14 +- Example/src/assets/Heroes.js | 84 +++--- Example/src/assets/index.js | 2 +- Example/src/components/Button.js | 23 +- Example/src/components/Colors.js | 50 ++-- Example/src/components/CompatSharedElement.js | 10 +- Example/src/components/ListItem.js | 49 ++-- Example/src/components/Router.js | 189 ++++++------- .../src/components/RouterScreenTransition.js | 32 +-- .../RouterScreenTransitionContext.js | 38 +-- Example/src/components/Text.js | 40 +-- Example/src/components/icon/Icon.js | 2 +- Example/src/components/icon/Icon.web.js | 10 +- Example/src/components/icon/index.js | 2 +- Example/src/components/index.js | 22 +- .../linearGradient/LinearGradient.js | 4 +- .../linearGradient/LinearGradient.web.js | 2 +- .../src/components/linearGradient/index.js | 2 +- Example/src/components/navBar/NavBar.js | 60 ++--- Example/src/components/navBar/constants.js | 2 +- Example/src/components/navBar/index.js | 2 +- .../components/viewPager/ViewPager.android.js | 23 +- .../src/components/viewPager/ViewPager.ios.js | 30 +-- Example/src/components/viewPager/ViewPager.js | 22 +- Example/src/components/viewPager/index.js | 2 +- Example/src/screens/CardScreen.js | 183 ++++++------- Example/src/screens/DetailScreen.js | 33 ++- Example/src/screens/DummyScreen.js | 10 +- Example/src/screens/ListScreen.js | 66 +++-- Example/src/screens/MainScreen.js | 90 +++---- Example/src/screens/PagerScreen.js | 114 ++++---- Example/src/screens/ReactNavigationScreen.js | 87 +++--- Example/src/screens/TestScreen.js | 78 +++--- Example/src/screens/TestsScreen.js | 44 +-- Example/src/screens/TilesScreen.js | 253 ++++++++---------- Example/src/screens/index.js | 2 +- Example/src/tests/compound/CompoundTests.js | 44 +-- .../src/tests/compound/TestCompoundView.js | 167 +++++------- Example/src/tests/compound/index.js | 2 +- Example/src/tests/image/FastImage.js | 4 +- Example/src/tests/image/FastImage.web.js | 2 +- Example/src/tests/image/ImageTests.js | 188 ++++++------- Example/src/tests/image/PhotoView.js | 4 +- Example/src/tests/image/PhotoView.web.js | 2 +- Example/src/tests/image/TestImage.js | 95 ++++--- Example/src/tests/image/index.js | 4 +- Example/src/tests/index.js | 20 +- Example/src/tests/multiple/MultipleTests.js | 26 +- Example/src/tests/multiple/index.js | 2 +- Example/src/tests/resizeAlign/index.js | 28 +- .../src/tests/scrollView/ScrollViewTests.js | 62 ++--- .../src/tests/scrollView/TestScrollView.js | 58 ++-- Example/src/tests/scrollView/index.js | 2 +- Example/src/tests/text/TestText.js | 109 ++++---- Example/src/tests/text/TextTests.js | 88 +++--- Example/src/tests/text/index.js | 2 +- Example/src/tests/view/TestView.js | 86 +++--- Example/src/tests/view/ViewTests.js | 98 +++---- Example/src/tests/view/index.js | 2 +- Example/src/transitions/blurFadeIn.js | 14 +- Example/src/transitions/fadeIn.js | 16 +- Example/src/transitions/fromRight.js | 26 +- Example/src/transitions/index.js | 6 +- Example/src/types/SharedElement.js | 18 +- Example/src/types/Test.js | 28 +- Example/src/types/index.js | 6 +- package.json | 2 +- 69 files changed, 1408 insertions(+), 1493 deletions(-) diff --git a/Example/index.js b/Example/index.js index 188fb4f..8342cb2 100644 --- a/Example/index.js +++ b/Example/index.js @@ -2,8 +2,8 @@ * @format */ -import { AppRegistry } from "react-native"; -import { App } from "./src/App"; -import { name as appName } from "./app.json"; +import {AppRegistry} from 'react-native'; +import {App} from './src/App'; +import {name as appName} from './app.json'; AppRegistry.registerComponent(appName, () => App); diff --git a/Example/index.web.js b/Example/index.web.js index d24d82c..167db74 100644 --- a/Example/index.web.js +++ b/Example/index.web.js @@ -1,9 +1,9 @@ // @flow -import { AppRegistry } from "react-native"; -import { App } from "./src/App"; -import { name as appName } from "./app.json"; +import {AppRegistry} from 'react-native'; +import {App} from './src/App'; +import {name as appName} from './app.json'; AppRegistry.registerComponent(appName, () => App); AppRegistry.runApplication(appName, { - rootTag: document.getElementById("root") + rootTag: document.getElementById('root'), }); diff --git a/Example/src/App.js b/Example/src/App.js index 530ae79..0aaa6ca 100644 --- a/Example/src/App.js +++ b/Example/src/App.js @@ -1,13 +1,13 @@ // @flow -import * as React from "react"; -import "react-native-gesture-handler"; -import { StatusBar } from "react-native"; -import { Router, ListItem } from "./components"; -import { MainScreen } from "./screens"; -import { ReactNavigationScreen } from "./screens/ReactNavigationScreen"; +import * as React from 'react'; +import 'react-native-gesture-handler'; +import {StatusBar} from 'react-native'; +import {Router, ListItem} from './components'; +import {MainScreen} from './screens'; +import {ReactNavigationScreen} from './screens/ReactNavigationScreen'; StatusBar.setTranslucent(true); -StatusBar.setBackgroundColor("transparent"); +StatusBar.setBackgroundColor('transparent'); export class App extends React.Component<{}> { render() { diff --git a/Example/src/assets/Heroes.js b/Example/src/assets/Heroes.js index 3a3127c..9587d04 100644 --- a/Example/src/assets/Heroes.js +++ b/Example/src/assets/Heroes.js @@ -1,72 +1,72 @@ // @flow -import type { Hero } from "../types"; +import type {Hero} from '../types'; export const Heroes: Hero[] = [ { - id: "saitama", - name: "Saitama", - photo: require("./onepunch.jpg"), - quote: "Just an average guy who serves as an average hero", + id: 'saitama', + name: 'Saitama', + photo: require('./onepunch.jpg'), + quote: 'Just an average guy who serves as an average hero', description: - "Saitama is usually deliberately drawn in a simpler style than all the other characters, with an elliptical-shaped head and only a basic mouth and eyes. When drawn in a more serious style with more detail, Saitama is revealed to have sharp features, fearsome eyes, and chiseled musculature. Even his posture undergoes a metamorphosis, with a slack posture and sloping elbows when lax, while possessing a straightened posture and squared shoulders when serious. His costume is a plain yellow one-piece jumpsuit with a short zipper at the collar, along with a black belt with a round golden buckle at the center. He wears red gloves that go 3/4 up his forearms, as well as red boots that go up 3/4 of his shins. His costume is finished off by a white cape, which is secured to his shoulders with black circular fasteners." + 'Saitama is usually deliberately drawn in a simpler style than all the other characters, with an elliptical-shaped head and only a basic mouth and eyes. When drawn in a more serious style with more detail, Saitama is revealed to have sharp features, fearsome eyes, and chiseled musculature. Even his posture undergoes a metamorphosis, with a slack posture and sloping elbows when lax, while possessing a straightened posture and squared shoulders when serious. His costume is a plain yellow one-piece jumpsuit with a short zipper at the collar, along with a black belt with a round golden buckle at the center. He wears red gloves that go 3/4 up his forearms, as well as red boots that go up 3/4 of his shins. His costume is finished off by a white cape, which is secured to his shoulders with black circular fasteners.', }, { - id: "garou", - name: "Garou", - photo: require("./garou.png"), + id: 'garou', + name: 'Garou', + photo: require('./garou.png'), quote: "The popular will win, the hated will lose, it's such a tragedy.", description: - 'Garou is a young man with sharp features, yellow eyes, and long silver hair that spikes upwards in two large prongs, giving a feeling of a young wolf.[8][9] While not being a particularly large person, he is shown to be quite muscular. He wears a tight black long-sleeved shirt and loose fitting white martial arts pants, similar to his former master Bang, with a yellow belt wrapped around his waist. He wears tai chi slippers for footwear. As time goes on and he battles stronger opponents, Garou\'s appearance changes and he becomes more and more monster-like. After suffering a second defeat at the hands of Saitama, he removes his shirt and wraps his upper body in bandages as he tries to recover. After fighting Death Gatling and the other heroes, his right eye becomes red and bloodshot, and during the consecutive battle with Genos he rubs his own blood into his hair and it becomes red in color.[10] Next he is given a tight long-sleeved black shirt and tight black martial arts pants by the Monster Association,[11] which begin to stick to the blood on his body and merge with his skin as he becomes a "half-monster" after his fight with Royal Ripper and Bug God. He also retains a large diagonal scar across his face that was inflicted by Royal Ripper. Later, after enduring several blasts from Overgrown Rover, his clothes become extremely torn and two strands of fabric flow in the wind behind him like scarves,[12] and after being defeated by Orochi his entire body is black with soot and ash.' + 'Garou is a young man with sharp features, yellow eyes, and long silver hair that spikes upwards in two large prongs, giving a feeling of a young wolf.[8][9] While not being a particularly large person, he is shown to be quite muscular. He wears a tight black long-sleeved shirt and loose fitting white martial arts pants, similar to his former master Bang, with a yellow belt wrapped around his waist. He wears tai chi slippers for footwear. As time goes on and he battles stronger opponents, Garou\'s appearance changes and he becomes more and more monster-like. After suffering a second defeat at the hands of Saitama, he removes his shirt and wraps his upper body in bandages as he tries to recover. After fighting Death Gatling and the other heroes, his right eye becomes red and bloodshot, and during the consecutive battle with Genos he rubs his own blood into his hair and it becomes red in color.[10] Next he is given a tight long-sleeved black shirt and tight black martial arts pants by the Monster Association,[11] which begin to stick to the blood on his body and merge with his skin as he becomes a "half-monster" after his fight with Royal Ripper and Bug God. He also retains a large diagonal scar across his face that was inflicted by Royal Ripper. Later, after enduring several blasts from Overgrown Rover, his clothes become extremely torn and two strands of fabric flow in the wind behind him like scarves,[12] and after being defeated by Orochi his entire body is black with soot and ash.', }, { - id: "genos", - name: "Genos", - photo: require("./genos.jpg"), - quote: "Demon Cyborg", + id: 'genos', + name: 'Genos', + photo: require('./genos.jpg'), + quote: 'Demon Cyborg', description: - "Genos is an extremely serious character. He constantly strives to become stronger and pesters Saitama to train him frequently. Since becoming Saitama's disciple, Genos is very reverent and protective towards his \"teacher\", whom to an extent he envies, although he does express annoyance and disbelief at the mundane training regimen Saitama used to gain his powers. On most occasions, Genos acts as a comic foil to Saitama's clueless antics, using a variety of special techniques, battle tactics and robotic upgrades to combat villains (and sustaining terrible damage in the process), only to be outclassed by Saitama with a single punch. Due to Saitama's incredible strength, Genos is led to believe that there is a secret to Saitama's power." + "Genos is an extremely serious character. He constantly strives to become stronger and pesters Saitama to train him frequently. Since becoming Saitama's disciple, Genos is very reverent and protective towards his \"teacher\", whom to an extent he envies, although he does express annoyance and disbelief at the mundane training regimen Saitama used to gain his powers. On most occasions, Genos acts as a comic foil to Saitama's clueless antics, using a variety of special techniques, battle tactics and robotic upgrades to combat villains (and sustaining terrible damage in the process), only to be outclassed by Saitama with a single punch. Due to Saitama's incredible strength, Genos is led to believe that there is a secret to Saitama's power.", }, { - id: "silverfang", - name: "Silverfang", - photo: require("./silverfang.png"), + id: 'silverfang', + name: 'Silverfang', + photo: require('./silverfang.png'), quote: - "You do not need to know who the victor is within a battle using martial arts", + 'You do not need to know who the victor is within a battle using martial arts', description: - "Bang has a serious personality. His normal demeanor is very calm, shown when he is seemingly unafraid of the dragon-level meteor falling on Z-City. Unlike most other heroes in the series, Bang prefers to be called by his name rather than his hero alias, Silver Fang. Bang is also well-grounded in the ethics of heroism; he accuses the other S-Class heroes of being heartless for ignoring the disaster in Z-City and attending to their problems instead. Additionally, when witnessing Tanktop Black Hole accuse Saitama of causing the civilians' misery, Bang watches from a distance sympathetically, but without interruption, noting that heroes have to take responsibility for their actions, and will normally have to deal with the lack of appreciation for their work. Later, when his disciple Charanko confronts Saitama by praising his martial arts master's skill and hero rank, Bang angrily scolds his disciple not to embarrass him and states outright that Saitama is many times stronger than he is." + "Bang has a serious personality. His normal demeanor is very calm, shown when he is seemingly unafraid of the dragon-level meteor falling on Z-City. Unlike most other heroes in the series, Bang prefers to be called by his name rather than his hero alias, Silver Fang. Bang is also well-grounded in the ethics of heroism; he accuses the other S-Class heroes of being heartless for ignoring the disaster in Z-City and attending to their problems instead. Additionally, when witnessing Tanktop Black Hole accuse Saitama of causing the civilians' misery, Bang watches from a distance sympathetically, but without interruption, noting that heroes have to take responsibility for their actions, and will normally have to deal with the lack of appreciation for their work. Later, when his disciple Charanko confronts Saitama by praising his martial arts master's skill and hero rank, Bang angrily scolds his disciple not to embarrass him and states outright that Saitama is many times stronger than he is.", }, { - id: "metalknight", - name: "Metal knight", - photo: require("./metalknight.jpg"), - quote: "Dr. Bofoi", + id: 'metalknight', + name: 'Metal knight', + photo: require('./metalknight.jpg'), + quote: 'Dr. Bofoi', description: - "Bofoi has white hair and a large nose. He is also seen wearing a lab coat over his blue shirt. Bofoi acts mainly through the use of his robots controlled from a safe distance. Two of his robots have been displayed. The first is a large unit capable of flight with a high level of firepower attached. The second was much smaller, roughly human sized and with no visible weaponry, possibly used for reconnaissance." + 'Bofoi has white hair and a large nose. He is also seen wearing a lab coat over his blue shirt. Bofoi acts mainly through the use of his robots controlled from a safe distance. Two of his robots have been displayed. The first is a large unit capable of flight with a high level of firepower attached. The second was much smaller, roughly human sized and with no visible weaponry, possibly used for reconnaissance.', }, { - id: "tatsumaki", - name: "Tatsumaki", - photo: require("./tatsumaki.png"), - quote: "To survive in this world... All you can do is get stronger", + id: 'tatsumaki', + name: 'Tatsumaki', + photo: require('./tatsumaki.png'), + quote: 'To survive in this world... All you can do is get stronger', description: - 'Tatsumaki has a rather brash, moody, hotheaded and impatient personality. She is disrespectful towards most people, especially to those she deems incompetent. She is completely intolerant to those who are impertinent, as shown when she pinned Genos to a large piece rubble for retaliating against her verbal abuse of Saitama. Tatsumaki especially dislikes being ignored or being called things like "brat" and "runt".' + 'Tatsumaki has a rather brash, moody, hotheaded and impatient personality. She is disrespectful towards most people, especially to those she deems incompetent. She is completely intolerant to those who are impertinent, as shown when she pinned Genos to a large piece rubble for retaliating against her verbal abuse of Saitama. Tatsumaki especially dislikes being ignored or being called things like "brat" and "runt".', }, - { id: "watchdog", name: "Watchdog man", photo: require("./watchdog.png") }, - { id: "king", name: "King", photo: require("./king.jpg") }, + {id: 'watchdog', name: 'Watchdog man', photo: require('./watchdog.png')}, + {id: 'king', name: 'King', photo: require('./king.jpg')}, { - id: "atomicsamurai", - name: "Atomic samurai", - photo: require("./atomicsamurai.jpg") + id: 'atomicsamurai', + name: 'Atomic samurai', + photo: require('./atomicsamurai.jpg'), }, { - id: "puripuri", - name: "Puri Puri", - photo: require("./puripuri.png") + id: 'puripuri', + name: 'Puri Puri', + photo: require('./puripuri.png'), }, { - id: "metalbat", - name: "Metal bat", - photo: require("./metalbat.jpg") - } + id: 'metalbat', + name: 'Metal bat', + photo: require('./metalbat.jpg'), + }, ]; diff --git a/Example/src/assets/index.js b/Example/src/assets/index.js index 09bd42f..d637c49 100644 --- a/Example/src/assets/index.js +++ b/Example/src/assets/index.js @@ -1,2 +1,2 @@ // @flow -export * from "./Heroes"; +export * from './Heroes'; diff --git a/Example/src/components/Button.js b/Example/src/components/Button.js index cacf2e3..e216538 100644 --- a/Example/src/components/Button.js +++ b/Example/src/components/Button.js @@ -1,8 +1,8 @@ // @flow -import * as React from "react"; -import { StyleSheet, View, TouchableOpacity } from "react-native"; -import { Heading3 } from "./Text"; -import { Shadows, Colors } from "./Colors"; +import * as React from 'react'; +import {StyleSheet, View, TouchableOpacity} from 'react-native'; +import {Heading3} from './Text'; +import {Shadows, Colors} from './Colors'; const HEIGHT = 40; @@ -12,13 +12,13 @@ const styles = StyleSheet.create({ height: HEIGHT, borderRadius: HEIGHT / 2, paddingHorizontal: 12, - justifyContent: "center", - alignItems: "center", - ...Shadows.elevation1 + justifyContent: 'center', + alignItems: 'center', + ...Shadows.elevation1, }, label: { - color: "white" - } + color: 'white', + }, }); export interface ButtonProps { @@ -29,14 +29,13 @@ export interface ButtonProps { export class Button extends React.Component { render() { - const { label, onPress, style } = this.props; + const {label, onPress, style} = this.props; return ( + style={style}> {label} diff --git a/Example/src/components/Colors.js b/Example/src/components/Colors.js index 9b09cae..4e1dd77 100644 --- a/Example/src/components/Colors.js +++ b/Example/src/components/Colors.js @@ -1,54 +1,54 @@ // @flow -import { Platform } from "react-native"; +import {Platform} from 'react-native'; export const Colors = { //back: "#222222", //text: "#FFFFFF", - gray: "#888888", - navBar: "#ffe256", + gray: '#888888', + navBar: '#ffe256', //navBar: "royalblue", - separator: "#DDDDDD", - empty: "#F0F0F0", - back: "#FFFFFF", - dark: "#222222", - text: "#222222", - blue: "royalblue", - yellow: "#ffe256", - black: "#000000" + separator: '#DDDDDD', + empty: '#F0F0F0', + back: '#FFFFFF', + dark: '#222222', + text: '#222222', + blue: 'royalblue', + yellow: '#ffe256', + black: '#000000', }; export const Shadows = { elevation1: Platform.select({ ios: { - shadowColor: "#000000", + shadowColor: '#000000', shadowOffset: { width: 0, - height: 1 + height: 1, }, shadowRadius: 2, - shadowOpacity: 0.1 + shadowOpacity: 0.1, }, android: { - elevation: 2 - } + elevation: 2, + }, }), elevation2: Platform.select({ ios: { - shadowColor: "#000000", + shadowColor: '#000000', shadowOffset: { width: 0, - height: 4 + height: 4, }, shadowRadius: 8, - shadowOpacity: 1 + shadowOpacity: 1, }, android: { - elevation: 3 - } + elevation: 3, + }, }), textElevation1: { - textShadowColor: "rgba(0, 0, 0, 1)", - textShadowOffset: { width: 0, height: 0 }, - textShadowRadius: 2 - } + textShadowColor: 'rgba(0, 0, 0, 1)', + textShadowOffset: {width: 0, height: 0}, + textShadowRadius: 2, + }, }; diff --git a/Example/src/components/CompatSharedElement.js b/Example/src/components/CompatSharedElement.js index 2e6e5e7..b28404b 100644 --- a/Example/src/components/CompatSharedElement.js +++ b/Example/src/components/CompatSharedElement.js @@ -1,18 +1,18 @@ // @flow -import * as React from "react"; -import { RouterScreenTransition } from "./RouterScreenTransition"; -import { SharedElement as ReactNavigationCoreSharedElement } from "react-navigation-shared-element"; +import * as React from 'react'; +import {RouterScreenTransition} from './RouterScreenTransition'; +import {SharedElement as ReactNavigationCoreSharedElement} from 'react-navigation-shared-element'; type PropsType = {| id?: string, style?: any, navigation: any, - children: any + children: any, |}; export class CompatSharedElement extends React.Component { render() { - const { navigation, id, ...otherProps } = this.props; + const {navigation, id, ...otherProps} = this.props; return navigation ? ( diff --git a/Example/src/components/ListItem.js b/Example/src/components/ListItem.js index ba6a79d..be4ee6f 100644 --- a/Example/src/components/ListItem.js +++ b/Example/src/components/ListItem.js @@ -1,45 +1,45 @@ // @flow -import * as React from "react"; -import { StyleSheet, View, Image, TouchableOpacity } from "react-native"; -import { Heading3, Caption } from "./Text"; -import { Colors } from "./Colors"; +import * as React from 'react'; +import {StyleSheet, View, Image, TouchableOpacity} from 'react-native'; +import {Heading3, Caption} from './Text'; +import {Colors} from './Colors'; const styles = StyleSheet.create({ container: { - flexDirection: "row", - alignItems: "center", + flexDirection: 'row', + alignItems: 'center', backgroundColor: Colors.back, paddingHorizontal: 16, paddingVertical: 12, borderColor: Colors.separator, borderBottomWidth: StyleSheet.hairlineWidth, - minHeight: 60 + minHeight: 60, }, content: { flex: 1, - flexDirection: "column", - justifyContent: "center", - alignItems: "flex-start" + flexDirection: 'column', + justifyContent: 'center', + alignItems: 'flex-start', }, description: { - marginTop: 1 + marginTop: 1, }, image: { width: 44, height: 44, borderRadius: 22, - resizeMode: "cover", + resizeMode: 'cover', marginRight: 16, - shadowColor: "#000", + shadowColor: '#000', /*shadowOffset: { width: 0, height: 11 },*/ shadowOpacity: 0.55, - shadowRadius: 14.78 + shadowRadius: 14.78, //borderWidth: 4, //borderColor: "orange" - } + }, }); export interface ListItemProps { @@ -51,8 +51,14 @@ export interface ListItemProps { } export class ListItem extends React.Component { + onPress = () => { + if (this.props.onPress) { + this.props.onPress(this.props.data); + } + }; + renderImage() { - const { image } = this.props; + const {image} = this.props; if (!image) { return; } @@ -60,13 +66,12 @@ export class ListItem extends React.Component { } render() { - const { label, description, onPress } = this.props; + const {label, description, onPress} = this.props; return ( + onPress={this.onPress}> {this.renderImage()} @@ -81,10 +86,4 @@ export class ListItem extends React.Component { ); } - - onPress = () => { - if (this.props.onPress) { - this.props.onPress(this.props.data); - } - }; } diff --git a/Example/src/components/Router.js b/Example/src/components/Router.js index f0069c3..baed69f 100644 --- a/Example/src/components/Router.js +++ b/Example/src/components/Router.js @@ -1,54 +1,51 @@ // @flow -import * as React from "react"; +import * as React from 'react'; import { StyleSheet, View, Animated, BackHandler, - Dimensions -} from "react-native"; -import { SharedElementTransition } from "react-native-shared-element"; -import { ScreenTransitionContext } from "./RouterScreenTransitionContext"; -import type { ScreenTransitionContextOnSharedElementsUpdatedEvent } from "./RouterScreenTransitionContext"; -import { PanGestureHandler, State } from "react-native-gesture-handler"; -import { NavBarHeight } from "./navBar/constants"; -import { fromRight } from "../transitions"; -import * as Screens from "react-native-screens"; -import type { - SharedElementsConfig, - SharedElementsStrictConfig -} from "../types"; -import { normalizeSharedElementsConfig } from "../types/SharedElement"; + Dimensions, +} from 'react-native'; +import {SharedElementTransition} from 'react-native-shared-element'; +import {ScreenTransitionContext} from './RouterScreenTransitionContext'; +import type {ScreenTransitionContextOnSharedElementsUpdatedEvent} from './RouterScreenTransitionContext'; +import {PanGestureHandler, State} from 'react-native-gesture-handler'; +import {NavBarHeight} from './navBar/constants'; +import {fromRight} from '../transitions'; +import * as Screens from 'react-native-screens'; +import type {SharedElementsConfig, SharedElementsStrictConfig} from '../types'; +import {normalizeSharedElementsConfig} from '../types/SharedElement'; Screens.useScreens(); const styles = StyleSheet.create({ container: { - flex: 1 + flex: 1, }, node: { - ...StyleSheet.absoluteFillObject + ...StyleSheet.absoluteFillObject, //backfaceVisibility: "hidden" }, swipeBackOverlay: { - position: "absolute", + position: 'absolute', left: 0, top: NavBarHeight, bottom: 0, - width: 30 + width: 30, // backgroundColor: "green", // opacity: 0.2 }, sharedElements: { ...StyleSheet.absoluteFillObject, - zIndex: 1000 - } + zIndex: 1000, + }, }); type RouterTransitionConfig = { screenInterpolator: any, transitionSpec: any, - debug?: boolean + debug?: boolean, }; interface RouterProps { @@ -57,9 +54,9 @@ interface RouterProps { } type RouterAction = { - action: "push" | "pop", + action: 'push' | 'pop', config?: RouterConfig, - node?: React.Node + node?: React.Node, }; interface RouterState { @@ -70,14 +67,14 @@ interface RouterState { transitionConfig: ?RouterTransitionConfig; sharedElementsConfig: ?SharedElementsStrictConfig; sharedElementScreens: Array; - actionsQueue: Array; + actionsQueue: RouterAction[]; width: number; height: number; } type RouterConfig = { sharedElements?: SharedElementsConfig, - transitionConfig?: RouterTransitionConfig + transitionConfig?: RouterTransitionConfig, }; let router; @@ -92,7 +89,7 @@ const MaybeScreenContainer = (props: any) => { }; const AnimatedRouterScreen = (props: any) => { - const { active, ...otherProps } = props; + const {active, ...otherProps} = props; if (Screens.screensEnabled()) { AnimatedScreen = AnimatedScreen || Animated.createAnimatedComponent(Screens.NativeScreen); @@ -107,13 +104,13 @@ export class Router extends React.Component { _animValue = new Animated.Value(0); _swipeBackAnimValue = new Animated.Value(0); _onSwipeBackGestureEvent = Animated.event( - [{ nativeEvent: { translationX: this._swipeBackAnimValue } }], - { useNativeDriver: true } + [{nativeEvent: {translationX: this._swipeBackAnimValue}}], + {useNativeDriver: true} ); _backHandler: any; static defaultProps = { - transitionConfig: fromRight() + transitionConfig: fromRight(), }; constructor(props: RouterProps) { @@ -127,22 +124,22 @@ export class Router extends React.Component { animValue: Animated.subtract( this._animValue, this._swipeBackAnimValue.interpolate({ - inputRange: [0, Dimensions.get("window").width], + inputRange: [0, Dimensions.get('window').width], outputRange: [0, 1], - extrapolate: "clamp" + extrapolate: 'clamp', }) ), sharedElementScreens: [], sharedElementsConfig: undefined, transitionConfig: undefined, - width: Dimensions.get("window").width, - height: Dimensions.get("window").height + width: Dimensions.get('window').width, + height: Dimensions.get('window').height, }; } componentDidMount() { this._backHandler = BackHandler.addEventListener( - "hardwareBackPress", + 'hardwareBackPress', this.onHardwareBackPress ); } @@ -159,7 +156,7 @@ export class Router extends React.Component { sharedElementScreens, sharedElementsConfig, transitionConfig, - animValue + animValue, } = this.state; //if (!sharedElementConfig) return; if (prevIndex === nextIndex && nextIndex === stack.length - 1) { @@ -171,23 +168,23 @@ export class Router extends React.Component { if (!sharedElementsConfig || !transitionConfig) { return; } - const { debug } = transitionConfig; + const {debug} = transitionConfig; const startScreen = sharedElementScreens[startIndex]; const endScreen = sharedElementScreens[endIndex]; const nodes = sharedElementsConfig.map(sharedElementConfig => { - const { id, otherId, ...other } = sharedElementConfig; + const {id, otherId, ...other} = sharedElementConfig; const node: any = { id, start: { node: startScreen ? startScreen.nodes[id] : undefined, - ancestor: startScreen ? startScreen.ancestor : undefined + ancestor: startScreen ? startScreen.ancestor : undefined, }, end: { node: endScreen ? endScreen.nodes[id] : undefined, - ancestor: endScreen ? endScreen.ancestor : undefined + ancestor: endScreen ? endScreen.ancestor : undefined, }, ...other, - debug: sharedElementConfig.debug || debug + debug: sharedElementConfig.debug || debug, }; return node; }); @@ -195,7 +192,7 @@ export class Router extends React.Component { const position = Animated.subtract(animValue, startIndex); return ( - {nodes.map(({ id, ...other }) => ( + {nodes.map(({id, ...other}) => ( { } renderBackSwiper() { - const { nextIndex, prevIndex, stack } = this.state; + const {nextIndex, prevIndex, stack} = this.state; if (!nextIndex && !prevIndex && stack.length <= 1) { return; } @@ -215,27 +212,26 @@ export class Router extends React.Component { + onHandlerStateChange={this._onSwipeBackStateChange}> ); } _onSwipeBackStateChange = (event: any) => { - const { width } = this.state; - const { nativeEvent } = event; + const {width} = this.state; + const {nativeEvent} = event; switch (nativeEvent.state) { case State.ACTIVE: // console.log("SWIPE ACTIVE: ", nativeEvent); this.setState({ - nextIndex: Math.max(this.state.nextIndex - 1, 0) + nextIndex: Math.max(this.state.nextIndex - 1, 0), }); break; case State.CANCELLED: // console.log("SWIPE CANCEL: ", nativeEvent); this.setState({ - nextIndex: this.state.prevIndex + nextIndex: this.state.prevIndex, }); break; case State.END: @@ -248,8 +244,8 @@ export class Router extends React.Component { Animated.timing(this._swipeBackAnimValue, { toValue: width, duration: 100, - useNativeDriver: true - }).start(({ finished }) => { + useNativeDriver: true, + }).start(({finished}) => { if (finished) { this.pruneStack(this.state.nextIndex + 1); this._swipeBackAnimValue.setValue(0); @@ -260,11 +256,11 @@ export class Router extends React.Component { Animated.timing(this._swipeBackAnimValue, { toValue: 0, duration: 100, - useNativeDriver: true - }).start(({ finished }) => { + useNativeDriver: true, + }).start(({finished}) => { if (finished) { this.setState({ - nextIndex: this.state.prevIndex + nextIndex: this.state.prevIndex, }); } }); @@ -280,14 +276,7 @@ export class Router extends React.Component { }; render() { - const { - stack, - animValue, - nextIndex, - prevIndex, - width, - height - } = this.state; + const {stack, animValue, nextIndex, prevIndex, width, height} = this.state; const transitionConfig = this.state.transitionConfig || this.props.transitionConfig; return ( @@ -300,13 +289,13 @@ export class Router extends React.Component { { // progress, index, scene: { - index + index, //isActive //isStale //key, //route //descriptor - } - }) - ]} - > + }, + }), + ]}> + onSharedElementsUpdated={this.onSharedElementsUpdated}> {node} @@ -342,7 +329,7 @@ export class Router extends React.Component { } onLayout = (event: any) => { - const { width, height } = event.nativeEvent.layout; + const {width, height} = event.nativeEvent.layout; if (this.state.width !== width || this.state.height !== height) { this.setState({ width, @@ -352,9 +339,9 @@ export class Router extends React.Component { this._swipeBackAnimValue.interpolate({ inputRange: [0, width], outputRange: [0, 1], - extrapolate: "clamp" + extrapolate: 'clamp', }) - ) + ), }); } }; @@ -362,7 +349,7 @@ export class Router extends React.Component { onSharedElementsUpdated = ( event: ScreenTransitionContextOnSharedElementsUpdatedEvent ) => { - const { stack, sharedElementScreens } = this.state; + const {stack, sharedElementScreens} = this.state; const index = stack.indexOf(event.children); if (index < 0) { return; @@ -370,7 +357,7 @@ export class Router extends React.Component { const newSharedElementScreens = [...sharedElementScreens]; newSharedElementScreens[index] = event; this.setState({ - sharedElementScreens: newSharedElementScreens + sharedElementScreens: newSharedElementScreens, }); }; @@ -383,15 +370,15 @@ export class Router extends React.Component { }; push(node: React.Node, config?: RouterConfig) { - const { nextIndex, prevIndex } = this.state; + const {nextIndex, prevIndex} = this.state; const action = { - action: "push", + action: 'push', node, - config + config, }; if (nextIndex !== prevIndex) { this.setState({ - actionsQueue: [...this.state.actionsQueue, action] + actionsQueue: [...this.state.actionsQueue, action], }); } else { this.handleAction(action); @@ -399,22 +386,22 @@ export class Router extends React.Component { } pop(config?: RouterConfig) { - const { nextIndex, prevIndex } = this.state; + const {nextIndex, prevIndex} = this.state; const action: RouterAction = { - action: "pop", - config + action: 'pop', + config, }; if (nextIndex !== prevIndex) { this.setState({ - actionsQueue: [...this.state.actionsQueue, action] + actionsQueue: [...this.state.actionsQueue, action], }); } else { this.handleAction(action); } } - handleAction({ action, config, node }: RouterAction) { - const { stack, nextIndex, sharedElementScreens } = this.state; + handleAction({action, config, node}: RouterAction) { + const {stack, nextIndex, sharedElementScreens} = this.state; const transitionConfig = config && config.transitionConfig ? config.transitionConfig @@ -423,22 +410,22 @@ export class Router extends React.Component { const sharedElementsConfig = normalizeSharedElementsConfig( config ? config.sharedElements : undefined ); - if (action === "push") { + if (action === 'push') { this.setState({ // $FlowFixMe stack: [...stack, node], nextIndex: nextIndex + 1, sharedElementScreens: [...sharedElementScreens, undefined], sharedElementsConfig, - transitionConfig + transitionConfig, }); - const { transitionSpec } = transitionConfig; - const { timing, ...spec } = transitionSpec; + const {transitionSpec} = transitionConfig; + const {timing, ...spec} = transitionSpec; const anim = timing.call(Animated, this._animValue, { ...spec, - toValue: stack.length + toValue: stack.length, }); - anim.start(({ finished }) => { + anim.start(({finished}) => { if (finished) { this.pruneStack(stack.length + 1); } @@ -450,15 +437,15 @@ export class Router extends React.Component { this.setState({ nextIndex: nextIndex - 1, transitionConfig, - sharedElementsConfig + sharedElementsConfig, }); - const { transitionSpec } = transitionConfig; - const { timing, ...spec } = transitionSpec; + const {transitionSpec} = transitionConfig; + const {timing, ...spec} = transitionSpec; const anim = timing.call(Animated, this._animValue, { ...spec, - toValue: stack.length - 2 + toValue: stack.length - 2, }); - anim.start(({ finished }) => { + anim.start(({finished}) => { if (finished) { this.pruneStack(stack.length - 1); } @@ -467,8 +454,8 @@ export class Router extends React.Component { } pruneStack(count: number) { - const { stack, nextIndex, prevIndex, sharedElementScreens } = this.state; - let { actionsQueue } = this.state; + const {stack, nextIndex, prevIndex, sharedElementScreens} = this.state; + let {actionsQueue} = this.state; let onComplete; if (actionsQueue.length) { const action = actionsQueue[0]; @@ -482,7 +469,7 @@ export class Router extends React.Component { stack: stack.slice(0, count), sharedElementScreens: sharedElementScreens.slice(0, count), prevIndex: nextIndex, - actionsQueue + actionsQueue, }, onComplete ); @@ -490,7 +477,7 @@ export class Router extends React.Component { this.setState( { prevIndex: nextIndex, - actionsQueue + actionsQueue, }, onComplete ); diff --git a/Example/src/components/RouterScreenTransition.js b/Example/src/components/RouterScreenTransition.js index acb5029..dce3da6 100644 --- a/Example/src/components/RouterScreenTransition.js +++ b/Example/src/components/RouterScreenTransition.js @@ -1,11 +1,11 @@ // @flow -import * as React from "react"; -import { SharedElement } from "react-native-shared-element"; -import type { SharedElementNode } from "react-native-shared-element"; +import * as React from 'react'; +import {SharedElement} from 'react-native-shared-element'; +import type {SharedElementNode} from 'react-native-shared-element'; import { ScreenTransitionContext, - withScreenTransitionContext -} from "./RouterScreenTransitionContext"; + withScreenTransitionContext, +} from './RouterScreenTransitionContext'; export interface ScreenTransitionProps { sharedId?: string; @@ -16,25 +16,20 @@ export interface ScreenTransitionProps { export const RouterScreenTransition = withScreenTransitionContext( class RouterScreenTransition extends React.Component { _node: ?SharedElementNode; - _sharedId = ""; + _sharedId = ''; constructor(props: ScreenTransitionProps) { super(props); this._sharedId = props.sharedId; } - render() { - const { sharedId, screenTransitionContext, ...otherProps } = this.props; - return ; - } - componentDidUpdate() { - const { sharedId, screenTransitionContext } = this.props; + const {sharedId, screenTransitionContext} = this.props; if (this._sharedId !== sharedId) { if (this._sharedId && this._node) { screenTransitionContext.removeSharedElement( this._sharedId, - this._node + this._node, ); } this._sharedId = sharedId; @@ -51,19 +46,24 @@ export const RouterScreenTransition = withScreenTransitionContext( if (this._node && this._sharedId) { this.props.screenTransitionContext.removeSharedElement( this._sharedId, - this._node + this._node, ); } this._node = node; if (this._node && this._sharedId) { this.props.screenTransitionContext.addSharedElement( this._sharedId, - this._node + this._node, ); } this._node = node; }; - } + + render() { + const {sharedId, screenTransitionContext, ...otherProps} = this.props; + return ; + } + }, ); export const ScreenTransition = RouterScreenTransition; diff --git a/Example/src/components/RouterScreenTransitionContext.js b/Example/src/components/RouterScreenTransitionContext.js index d87871c..4cdd76d 100644 --- a/Example/src/components/RouterScreenTransitionContext.js +++ b/Example/src/components/RouterScreenTransitionContext.js @@ -1,15 +1,15 @@ // @flow -import React, { createContext } from "react"; -import { View } from "react-native"; -import { nodeFromRef } from "react-native-shared-element"; -import type { SharedElementNode } from "react-native-shared-element"; +import React, {createContext} from 'react'; +import {View} from 'react-native'; +import {nodeFromRef} from 'react-native-shared-element'; +import type {SharedElementNode} from 'react-native-shared-element'; export type ScreenTransitionContextOnSharedElementsUpdatedEvent = { children: any, nodes: { - [string]: SharedElementNode + [string]: SharedElementNode, }, - ancestor: ?SharedElementNode + ancestor: ?SharedElementNode, }; // $FlowFixMe @@ -20,13 +20,13 @@ export type ScreenTransitionContextProps = { children?: any, onSharedElementsUpdated: ( event: ScreenTransitionContextOnSharedElementsUpdatedEvent - ) => void + ) => void, }; type ScreenTransitionContextState = { sharedElementNodes: { - [string]: SharedElementNode - } + [string]: SharedElementNode, + }, }; export class ScreenTransitionContext extends React.Component< @@ -36,11 +36,11 @@ export class ScreenTransitionContext extends React.Component< _sharedElementNodes = {}; _sharedElementAncestor: ?SharedElementNode = undefined; state = { - sharedElementNodes: this._sharedElementNodes + sharedElementNodes: this._sharedElementNodes, }; render() { - const { onSharedElementsUpdated, style, ...otherProps } = this.props; + const {onSharedElementsUpdated, style, ...otherProps} = this.props; return ( @@ -59,34 +59,34 @@ export class ScreenTransitionContext extends React.Component< if (prevState === this.state) { return; } - const { children, onSharedElementsUpdated } = this.props; - const { sharedElementNodes } = this.state; + const {children, onSharedElementsUpdated} = this.props; + const {sharedElementNodes} = this.state; if (onSharedElementsUpdated) { onSharedElementsUpdated({ children, ancestor: this._sharedElementAncestor, - nodes: sharedElementNodes + nodes: sharedElementNodes, }); } } addSharedElement(sharedId: string, node: SharedElementNode) { // console.log('ScreenTransitionContext.add: ', sharedId); - const sharedElementNodes = { ...this._sharedElementNodes }; + const sharedElementNodes = {...this._sharedElementNodes}; sharedElementNodes[sharedId] = node; this._sharedElementNodes = sharedElementNodes; this.setState({ - sharedElementNodes + sharedElementNodes, }); } removeSharedElement(sharedId: string, node: SharedElementNode) { // console.log('ScreenTransitionContext.remove: ', sharedId); - const sharedElementNodes = { ...this._sharedElementNodes }; + const sharedElementNodes = {...this._sharedElementNodes}; delete sharedElementNodes[sharedId]; this._sharedElementNodes = sharedElementNodes; this.setState({ - sharedElementNodes + sharedElementNodes, }); } } @@ -103,7 +103,7 @@ export function withScreenTransitionContext(WrappedComponent: any) { }; if (WrappedComponent.propTypes) { const propTypes = { - ...WrappedComponent.propTypes + ...WrappedComponent.propTypes, }; delete propTypes.screenTransitionContext; comp.propTypes = propTypes; diff --git a/Example/src/components/Text.js b/Example/src/components/Text.js index 76977d3..426a153 100644 --- a/Example/src/components/Text.js +++ b/Example/src/components/Text.js @@ -1,41 +1,41 @@ // @flow -import * as React from "react"; -import { StyleSheet, Text } from "react-native"; -import { Colors } from "./Colors"; +import * as React from 'react'; +import {StyleSheet, Text} from 'react-native'; +import {Colors} from './Colors'; const styles = StyleSheet.create({ heading1: { fontSize: 40, - fontWeight: "bold", - color: Colors.text + fontWeight: 'bold', + color: Colors.text, }, heading2: { fontSize: 30, - fontWeight: "bold", - color: Colors.text + fontWeight: 'bold', + color: Colors.text, }, heading3: { fontSize: 17, - fontWeight: "700", - color: Colors.text + fontWeight: '700', + color: Colors.text, }, caption: { fontSize: 14, - fontWeight: "400", - color: Colors.gray + fontWeight: '400', + color: Colors.gray, }, body: { fontSize: 17, - fontWeight: "500", - color: Colors.gray + fontWeight: '500', + color: Colors.gray, }, light: { - color: Colors.back - } + color: Colors.back, + }, }); export const Heading1 = (props: any) => { - const { light, ...otherProps } = props; + const {light, ...otherProps} = props; return ( { ); }; export const Heading2 = (props: any) => { - const { light, ...otherProps } = props; + const {light, ...otherProps} = props; return ( { ); }; export const Heading3 = (props: any) => { - const { light, ...otherProps } = props; + const {light, ...otherProps} = props; return ( { ); }; export const Caption = (props: any) => { - const { light, ...otherProps } = props; + const {light, ...otherProps} = props; return ( { ); }; export const Body = (props: any) => { - const { light, ...otherProps } = props; + const {light, ...otherProps} = props; return ( void; } @@ -43,27 +43,27 @@ const HIT_SLOP = { left: 16, top: 16, right: 16, - bottom: 16 + bottom: 16, }; export class NavBar extends React.Component { static defaultProps = { - back: "default" + back: 'default', }; static HEIGHT = NavBarHeight; renderBack() { let icon; - const { back, light } = this.props; + const {back, light} = this.props; switch (back) { - case "none": + case 'none': return; - case "default": - icon = "chevron-left"; + case 'default': + icon = 'chevron-left'; break; - case "close": - icon = "cross"; + case 'close': + icon = 'cross'; break; default: return; @@ -72,8 +72,7 @@ export class NavBar extends React.Component { + hitSlop={HIT_SLOP}> { } render() { - const { style, title, light } = this.props; + const {style, title, light} = this.props; return ( + style, + ]}> {title} {this.renderBack()} diff --git a/Example/src/components/navBar/constants.js b/Example/src/components/navBar/constants.js index fb3888a..a01f006 100644 --- a/Example/src/components/navBar/constants.js +++ b/Example/src/components/navBar/constants.js @@ -1,4 +1,4 @@ // @flow -import { getStatusBarHeight } from "react-native-iphone-x-helper"; +import {getStatusBarHeight} from 'react-native-iphone-x-helper'; export const NavBarHeight = 56 + getStatusBarHeight(); diff --git a/Example/src/components/navBar/index.js b/Example/src/components/navBar/index.js index ef59211..c2d4911 100644 --- a/Example/src/components/navBar/index.js +++ b/Example/src/components/navBar/index.js @@ -1,2 +1,2 @@ // @flow -export * from "./NavBar"; +export * from './NavBar'; diff --git a/Example/src/components/viewPager/ViewPager.android.js b/Example/src/components/viewPager/ViewPager.android.js index 2a15115..57e9c71 100644 --- a/Example/src/components/viewPager/ViewPager.android.js +++ b/Example/src/components/viewPager/ViewPager.android.js @@ -1,42 +1,41 @@ // @flow -import * as React from "react"; -import NativeViewPager from "@react-native-community/viewpager"; -import { createNativeWrapper } from "react-native-gesture-handler"; +import * as React from 'react'; +import NativeViewPager from '@react-native-community/viewpager'; +import {createNativeWrapper} from 'react-native-gesture-handler'; const RNGHViewPager = createNativeWrapper(NativeViewPager, { - disallowInterruption: true + disallowInterruption: true, }); type PropsType = { data: any[], - renderItem: (data: { item: any, index: number }) => any, + renderItem: (data: {item: any, index: number}) => any, getItemLayout: (item: any, index: number) => any, initialItemIndex: number, - onItemSelected: (index: number) => any + onItemSelected: (index: number) => any, }; type StateType = {}; export class ViewPager extends React.PureComponent { render() { - const { style, data, initialItemIndex, renderItem } = this.props; + const {style, data, initialItemIndex, renderItem} = this.props; return ( + onPageSelected={this.onPageSelected}> {data.map((item, index) => renderItem({ item, - index + index, }) )} ); } - onPageSelected = ({ nativeEvent }: any) => { - const { onItemSelected } = this.props; + onPageSelected = ({nativeEvent}: any) => { + const {onItemSelected} = this.props; if (onItemSelected) onItemSelected(nativeEvent.position); }; } diff --git a/Example/src/components/viewPager/ViewPager.ios.js b/Example/src/components/viewPager/ViewPager.ios.js index b6b02e1..ee2108d 100644 --- a/Example/src/components/viewPager/ViewPager.ios.js +++ b/Example/src/components/viewPager/ViewPager.ios.js @@ -1,46 +1,46 @@ // @flow -import * as React from "react"; -import { FlatList } from "react-native"; +import * as React from 'react'; +import {FlatList} from 'react-native'; type PropsType = { style: any, data: any[], - renderItem: (data: { item: any, index: number }) => any, + renderItem: (data: {item: any, index: number}) => any, getItemLayout: (item: any, index: number) => any, initialItemIndex: number, - onItemSelected: (index: number) => any + onItemSelected: (index: number) => any, }; type StateType = { selectedIndex: number, contentOffset: { x: number, - y: number - } + y: number, + }, }; const VIEWABILITY_CONFIG = { minimumViewTime: 0, - viewAreaCoveragePercentThreshold: 51 + viewAreaCoveragePercentThreshold: 51, }; export class ViewPager extends React.PureComponent { constructor(props: PropsType) { super(props); - const { data, getItemLayout, initialItemIndex = 0 } = props; + const {data, getItemLayout, initialItemIndex = 0} = props; const initialOffset = getItemLayout( data[initialItemIndex], initialItemIndex ).offset; - const contentOffset = { x: initialOffset, y: 0 }; + const contentOffset = {x: initialOffset, y: 0}; this.state = { selectedIndex: initialItemIndex, - contentOffset + contentOffset, }; } render() { - const { style, data, renderItem, getItemLayout } = this.props; - const { contentOffset } = this.state; + const {style, data, renderItem, getItemLayout} = this.props; + const {contentOffset} = this.state; return ( { keyExtractor = (item: any, index: number) => `item${index}`; onViewableItemsChanged = (event: any) => { - const { onItemSelected, data } = this.props; - const { viewableItems } = event; + const {onItemSelected, data} = this.props; + const {viewableItems} = event; if (!viewableItems.length) return; const selectedItem = viewableItems[0].item; const selectedIndex = data.indexOf(selectedItem); if (this.state.selectedIndex !== selectedIndex) { this.setState( { - selectedIndex + selectedIndex, }, () => { if (onItemSelected) onItemSelected(selectedIndex); diff --git a/Example/src/components/viewPager/ViewPager.js b/Example/src/components/viewPager/ViewPager.js index aa546e9..1ac4c63 100644 --- a/Example/src/components/viewPager/ViewPager.js +++ b/Example/src/components/viewPager/ViewPager.js @@ -1,29 +1,29 @@ // @flow -import * as React from "react"; -import { FlatList } from "react-native"; +import * as React from 'react'; +import {FlatList} from 'react-native'; type PropsType = { style: any, data: any[], - renderItem: (data: { item: any, index: number }) => any, + renderItem: (data: {item: any, index: number}) => any, getItemLayout: (item: any, index: number) => any, initialItemIndex: number, - onItemSelected: (index: number) => any + onItemSelected: (index: number) => any, }; type StateType = { - selectedIndex: number + selectedIndex: number, }; const VIEWABILITY_CONFIG = { minimumViewTime: 0, - viewAreaCoveragePercentThreshold: 51 + viewAreaCoveragePercentThreshold: 51, }; export class ViewPager extends React.PureComponent { constructor(props: PropsType) { super(props); this.state = { - selectedIndex: props.initialItemIndex || 0 + selectedIndex: props.initialItemIndex || 0, }; } @@ -33,7 +33,7 @@ export class ViewPager extends React.PureComponent { data, initialItemIndex, renderItem, - getItemLayout + getItemLayout, } = this.props; return ( { keyExtractor = (item: any, index: number) => `item${index}`; onViewableItemsChanged = (event: any) => { - const { onItemSelected, data } = this.props; - const { viewableItems } = event; + const {onItemSelected, data} = this.props; + const {viewableItems} = event; if (!viewableItems.length) return; const selectedItem = viewableItems[0].item; const selectedIndex = data.indexOf(selectedItem); if (this.state.selectedIndex !== selectedIndex) { this.setState( { - selectedIndex + selectedIndex, }, () => { if (onItemSelected) onItemSelected(selectedIndex); diff --git a/Example/src/components/viewPager/index.js b/Example/src/components/viewPager/index.js index 288da60..edd3fc5 100644 --- a/Example/src/components/viewPager/index.js +++ b/Example/src/components/viewPager/index.js @@ -1,2 +1,2 @@ // @flow -export * from "./ViewPager"; +export * from './ViewPager'; diff --git a/Example/src/screens/CardScreen.js b/Example/src/screens/CardScreen.js index 2708b66..77d8ad2 100644 --- a/Example/src/screens/CardScreen.js +++ b/Example/src/screens/CardScreen.js @@ -1,5 +1,5 @@ // @flow -import * as React from "react"; +import * as React from 'react'; import { StyleSheet, View, @@ -7,71 +7,71 @@ import { StatusBar, Dimensions, Animated, - Platform -} from "react-native"; + Platform, +} from 'react-native'; import { NavBar, SharedElement, Colors, Router, Heading1, - Body -} from "../components"; -import type { Hero, SharedElementsConfig } from "../types"; -import { fadeIn } from "../transitions"; + Body, +} from '../components'; +import type {Hero, SharedElementsConfig} from '../types'; +import {fadeIn} from '../transitions'; const styles = StyleSheet.create({ flex: { - flex: 1 + flex: 1, }, background: { flex: 1, - backgroundColor: Colors.back + backgroundColor: Colors.back, }, content: { padding: 20, - paddingTop: 10 + paddingTop: 10, }, navBar: { - position: "absolute", + position: 'absolute', left: 0, right: 0, - top: 0 + top: 0, }, image: { - width: "100%", - resizeMode: "cover" + width: '100%', + resizeMode: 'cover', }, name: { - alignSelf: "flex-start" + alignSelf: 'flex-start', }, description: { - marginTop: 4 + marginTop: 4, }, bottom: { height: 1, - backgroundColor: Colors.back - } + backgroundColor: Colors.back, + }, }); -type Type = "tile" | "card" | "card2" | "avatar"; +type Type = 'tile' | 'card' | 'card2' | 'avatar'; type PropsType = { hero: Hero, type: Type, - navigation?: any + navigation?: any, }; type StateType = { contentHeight: number, scrollOffset: Animated.Value, scrollEvent: any, width: number, - height: number + height: number, }; export class CardScreen extends React.Component { static navigationOptions = { - header: null + header: null, }; static getSharedElements( @@ -80,54 +80,54 @@ export class CardScreen extends React.Component { showing: boolean ): ?SharedElementsConfig { switch (type) { - case "tile": + case 'tile': return [`heroPhoto.${hero.id}`]; - case "avatar": + case 'avatar': return [ { id: `heroBackground.${hero.id}`, otherId: `heroPhoto.${hero.id}`, - animation: showing ? "fade-in" : "fade-out" + animation: showing ? 'fade-in' : 'fade-out', }, `heroPhoto.${hero.id}`, { id: `heroName.${hero.id}`, otherId: `heroPhoto.${hero.id}`, - animation: showing ? "fade-in" : "fade-out" + animation: showing ? 'fade-in' : 'fade-out', }, { id: `heroDescription.${hero.id}`, otherId: `heroPhoto.${hero.id}`, - animation: showing ? "fade-in" : "fade-out" + animation: showing ? 'fade-in' : 'fade-out', }, - { id: `heroCloseButton.${hero.id}`, animation: "fade" } + {id: `heroCloseButton.${hero.id}`, animation: 'fade'}, ]; - case "card": + case 'card': return [ `heroBackground.${hero.id}`, `heroPhoto.${hero.id}`, - { id: `heroCloseButton.${hero.id}`, animation: "fade" }, + {id: `heroCloseButton.${hero.id}`, animation: 'fade'}, `heroName.${hero.id}`, { id: `heroDescription.${hero.id}`, - animation: "fade", - resize: "clip", - align: "left-top" - } + animation: 'fade', + resize: 'clip', + align: 'left-top', + }, ]; - case "card2": + case 'card2': return [ `heroBackground.${hero.id}`, `heroPhoto.${hero.id}`, - { id: `heroGradientOverlay.${hero.id}`, animation: "fade" }, - { id: `heroCloseButton.${hero.id}`, animation: "fade" }, - { id: `heroName.${hero.id}`, animation: "fade" }, + {id: `heroGradientOverlay.${hero.id}`, animation: 'fade'}, + {id: `heroCloseButton.${hero.id}`, animation: 'fade'}, + {id: `heroName.${hero.id}`, animation: 'fade'}, { id: `heroDescription.${hero.id}`, - animation: "fade", - resize: "clip", - align: "left-top" - } + animation: 'fade', + resize: 'clip', + align: 'left-top', + }, ]; } } @@ -137,8 +137,8 @@ export class CardScreen extends React.Component { otherNavigation: any, showing: boolean ): ?SharedElementsConfig => { - const type = navigation.getParam("type") || "card2"; - const hero = navigation.getParam("hero"); + const type = navigation.getParam('type') || 'card2'; + const hero = navigation.getParam('hero'); return CardScreen.getSharedElements(hero, type, showing); }; @@ -148,14 +148,14 @@ export class CardScreen extends React.Component { this.state = { scrollOffset, scrollEvent: Animated.event( - [{ nativeEvent: { contentOffset: { y: scrollOffset } } }], + [{nativeEvent: {contentOffset: {y: scrollOffset}}}], { - useNativeDriver: true + useNativeDriver: true, } ), contentHeight: 0, - width: Dimensions.get("window").width, - height: Dimensions.get("window").height + width: Dimensions.get('window').width, + height: Dimensions.get('window').height, }; } @@ -165,13 +165,13 @@ export class CardScreen extends React.Component { scrollEvent, contentHeight, height, - width + width, } = this.state; - const { navigation } = this.props; - const hero = navigation ? navigation.getParam("hero") : this.props.hero; - const type = navigation ? navigation.getParam("type") : this.props.type; - const gradientOverlay = type === "card2"; - const { id, name, photo, description } = hero; + const {navigation} = this.props; + const hero = navigation ? navigation.getParam('hero') : this.props.hero; + const type = navigation ? navigation.getParam('type') : this.props.type; + const gradientOverlay = type === 'card2'; + const {id, name, photo, description} = hero; const imageHeight = width * 0.75; return ( @@ -179,41 +179,38 @@ export class CardScreen extends React.Component { - + onScroll={scrollEvent}> + + navigation={navigation}> + }> @@ -221,8 +218,7 @@ export class CardScreen extends React.Component { + navigation={navigation}> {/* { + navigation={navigation}> {name} {description ? ( + navigation={navigation}> {description} ) : ( @@ -256,7 +250,7 @@ export class CardScreen extends React.Component { )} - {Platform.OS === "ios" ? ( + {Platform.OS === 'ios' ? ( { inputRange: [ 0, Math.max(imageHeight + contentHeight - height, 0), - Math.max(imageHeight + contentHeight - height, 0) + 1 + Math.max(imageHeight + contentHeight - height, 0) + 1, ], - outputRange: [0, 0, 0.5] - }) + outputRange: [0, 0, 0.5], + }), }, { scaleY: scrollOffset.interpolate({ inputRange: [ 0, Math.max(imageHeight + contentHeight - height, 0), - Math.max(imageHeight + contentHeight - height, 0) + 1 + Math.max(imageHeight + contentHeight - height, 0) + 1, ], - outputRange: [0, 1, 2] - }) - } - ] - } + outputRange: [0, 1, 2], + }), + }, + ], + }, ]} /> ) : ( @@ -293,8 +287,7 @@ export class CardScreen extends React.Component { + navigation={navigation}> @@ -302,32 +295,32 @@ export class CardScreen extends React.Component { } onLayout = (event: any) => { - const { width, height } = event.nativeEvent.layout; + const {width, height} = event.nativeEvent.layout; if (this.state.width !== width || this.state.height !== height) { this.setState({ width, - height + height, }); } }; onLayoutContent = (event: any) => { - const { height } = event.nativeEvent.layout; + const {height} = event.nativeEvent.layout; if (this.state.contentHeight !== height) { - this.setState({ contentHeight: height }); + this.setState({contentHeight: height}); } }; onBack = () => { - const { navigation } = this.props; - const hero = navigation ? navigation.getParam("hero") : this.props.hero; - const type = navigation ? navigation.getParam("type") : this.props.type; + const {navigation} = this.props; + const hero = navigation ? navigation.getParam('hero') : this.props.hero; + const type = navigation ? navigation.getParam('type') : this.props.type; if (navigation) { navigation.goBack(); } else { Router.pop({ sharedElements: CardScreen.getSharedElements(hero, type, false) || [], - transitionConfig: fadeIn() + transitionConfig: fadeIn(), }); } }; diff --git a/Example/src/screens/DetailScreen.js b/Example/src/screens/DetailScreen.js index fe162c3..0fc2243 100644 --- a/Example/src/screens/DetailScreen.js +++ b/Example/src/screens/DetailScreen.js @@ -1,48 +1,47 @@ // @flow -import * as React from "react"; -import { StyleSheet, View, Image } from "react-native"; -import { NavBar, SharedElement, Colors } from "../components"; -import type { Hero } from "../types"; +import * as React from 'react'; +import {StyleSheet, View, Image} from 'react-native'; +import {NavBar, SharedElement, Colors} from '../components'; +import type {Hero} from '../types'; const styles = StyleSheet.create({ container: { flex: 1, - backgroundColor: Colors.back + backgroundColor: Colors.back, }, navBar: { - position: "absolute", + position: 'absolute', left: 0, top: 0, - right: 0 + right: 0, }, content: { - flex: 1 + flex: 1, }, image: { flex: 1, - width: "100%", - resizeMode: "cover" - } + width: '100%', + resizeMode: 'cover', + }, }); type PropsType = { hero: Hero, - navigation?: any + navigation?: any, }; export class DetailScreen extends React.Component { render() { - const { navigation } = this.props; - const hero = navigation ? navigation.getParam("hero") : this.props.hero; - const { photo, id } = hero; + const {navigation} = this.props; + const hero = navigation ? navigation.getParam('hero') : this.props.hero; + const {photo, id} = hero; return ( + style={styles.content}> diff --git a/Example/src/screens/DummyScreen.js b/Example/src/screens/DummyScreen.js index 5e7a4f1..054d7e5 100644 --- a/Example/src/screens/DummyScreen.js +++ b/Example/src/screens/DummyScreen.js @@ -1,13 +1,13 @@ // @flow -import * as React from "react"; -import { View, StyleSheet } from "react-native"; -import { Colors } from "../components"; +import * as React from 'react'; +import {View, StyleSheet} from 'react-native'; +import {Colors} from '../components'; const styles = StyleSheet.create({ container: { flex: 1, - backgroundColor: Colors.yellow - } + backgroundColor: Colors.yellow, + }, }); type PropsType = {}; diff --git a/Example/src/screens/ListScreen.js b/Example/src/screens/ListScreen.js index 98b60cf..19310d2 100644 --- a/Example/src/screens/ListScreen.js +++ b/Example/src/screens/ListScreen.js @@ -1,82 +1,81 @@ // @flow -import * as React from "react"; +import * as React from 'react'; import { StyleSheet, ScrollView, View, TouchableOpacity, - Image -} from "react-native"; + Image, +} from 'react-native'; import { Router, NavBar, SharedElement, Colors, Heading2, - Caption -} from "../components"; -import { Heroes } from "../assets"; -import type { Hero, SharedElementsConfig } from "../types"; -import { fadeIn } from "../transitions"; + Caption, +} from '../components'; +import {Heroes} from '../assets'; +import type {Hero, SharedElementsConfig} from '../types'; +import {fadeIn} from '../transitions'; const styles = StyleSheet.create({ container: { flex: 1, - backgroundColor: Colors.back + backgroundColor: Colors.back, }, flex: { - flex: 1 + flex: 1, }, item: { height: 100, - flexDirection: "row", - alignItems: "center", - paddingHorizontal: 20 + flexDirection: 'row', + alignItems: 'center', + paddingHorizontal: 20, }, image: { width: 80, height: 80, borderRadius: 40, - overflow: "hidden" + overflow: 'hidden', }, overlay: { - borderRadius: 40 + borderRadius: 40, }, content: { flex: 1, marginLeft: 20, - flexDirection: "column", - justifyContent: "center" + flexDirection: 'column', + justifyContent: 'center', }, name: { marginBottom: 4, - flexDirection: "row" - } + flexDirection: 'row', + }, }); type PropsType = { title: string, DetailComponent: any, transitionConfig: any, - navigation?: any + navigation?: any, }; export class ListScreen extends React.Component { static defaultProps = { - title: "Bullets", - transitionConfig: fadeIn() + title: 'Bullets', + transitionConfig: fadeIn(), }; renderItem(hero: Hero) { - const { navigation } = this.props; - const { id, name, photo, quote } = hero; + const {navigation} = this.props; + const {id, name, photo, quote} = hero; return ( this.onPressItem(hero)} - > + onPress={() => this.onPressItem(hero)}> @@ -84,8 +83,7 @@ export class ListScreen extends React.Component { + navigation={navigation}> { {name} - {quote || ""} + {quote || ''} ); } render() { - const { title } = this.props; + const {title} = this.props; return ( @@ -117,15 +115,15 @@ export class ListScreen extends React.Component { } onPressItem = (hero: Hero) => { - const { DetailComponent, transitionConfig } = this.props; + const {DetailComponent, transitionConfig} = this.props; const sharedElements: SharedElementsConfig = [ `heroPhoto.${hero.id}`, - { id: `heroPhotoOverlay.${hero.id}`, animation: "fade" }, - `heroName.${hero.id}` + {id: `heroPhotoOverlay.${hero.id}`, animation: 'fade'}, + `heroName.${hero.id}`, ]; Router.push(, { sharedElements, - transitionConfig + transitionConfig, }); }; } diff --git a/Example/src/screens/MainScreen.js b/Example/src/screens/MainScreen.js index faccfbb..62acd4d 100644 --- a/Example/src/screens/MainScreen.js +++ b/Example/src/screens/MainScreen.js @@ -1,60 +1,60 @@ // @flow -import * as React from "react"; +import * as React from 'react'; import { StyleSheet, ScrollView, View, StatusBar, Platform, - TouchableOpacity -} from "react-native"; -import { Router, NavBar, ListItem, Colors, Heading3 } from "../components"; -import { TilesScreen } from "./TilesScreen"; -import { TestsScreen } from "./TestsScreen"; -import { TestScreen } from "./TestScreen"; -import { PagerScreen } from "./PagerScreen"; -import { CardScreen } from "./CardScreen"; -import { Tests } from "../tests"; -import { TestImage } from "../tests/image"; -import type { Test } from "../types"; -import { fadeIn, fromRight } from "../transitions"; + TouchableOpacity, +} from 'react-native'; +import {Router, NavBar, ListItem, Colors, Heading3} from '../components'; +import {TilesScreen} from './TilesScreen'; +import {TestsScreen} from './TestsScreen'; +import {TestScreen} from './TestScreen'; +import {PagerScreen} from './PagerScreen'; +import {CardScreen} from './CardScreen'; +import {Tests} from '../tests'; +import {TestImage} from '../tests/image'; +import type {Test} from '../types'; +import {fadeIn, fromRight} from '../transitions'; const styles = StyleSheet.create({ container: { - flex: 1 + flex: 1, }, content: Platform.select({ ios: { flex: 1, - backgroundColor: Colors.empty + backgroundColor: Colors.empty, }, android: { - flex: 1 - } + flex: 1, + }, }), back: { color: Colors.blue, - marginLeft: 20 - } + marginLeft: 20, + }, }); type PropsType = { navigation?: any, - footer?: any + footer?: any, }; export class MainScreen extends React.Component { static navigationOptions = { - title: "React Navigation", + title: 'React Navigation', headerLeft: () => ( Router.pop()}> Back - ) + ), }; render() { - const { footer, navigation } = this.props; + const {footer, navigation} = this.props; return ( @@ -64,7 +64,7 @@ export class MainScreen extends React.Component { undefined )} - {Platform.OS === "web" ? ( + {Platform.OS === 'web' ? ( { } onPressQuickTest = () => { - const { navigation } = this.props; + const {navigation} = this.props; const test: Test = { - name: "Simple move", + name: 'Simple move', description: - "The most basic form of a shared-element transition. The image should move smoothly without flickering from the start- to the end state, and back", + 'The most basic form of a shared-element transition. The image should move smoothly without flickering from the start- to the end state, and back', start: , - end: + end: , }; if (navigation) { - navigation.push("Test", { - test + navigation.push('Test', { + test, }); } else { Router.push(, { - transitionConfig: fromRight(100) + transitionConfig: fromRight(100), }); } }; onPressTests = () => { - const { navigation } = this.props; + const {navigation} = this.props; if (navigation) { - navigation.push("Tests", { - tests: Tests + navigation.push('Tests', { + tests: Tests, }); } else { Router.push(); @@ -137,9 +137,9 @@ export class MainScreen extends React.Component { }; onPressTilesDemo = () => { - const { navigation } = this.props; + const {navigation} = this.props; if (navigation) { - navigation.push("Tiles", { type: "tile" }); + navigation.push('Tiles', {type: 'tile'}); } else { Router.push( { }; onPressCardDemo = () => { - const { navigation } = this.props; + const {navigation} = this.props; if (navigation) { - navigation.push("Tiles", { - type: "card" + navigation.push('Tiles', { + type: 'card', }); } else { Router.push( @@ -169,10 +169,10 @@ export class MainScreen extends React.Component { }; onPressCardDemo2 = () => { - const { navigation } = this.props; + const {navigation} = this.props; if (navigation) { - navigation.push("Tiles", { - type: "card2" + navigation.push('Tiles', { + type: 'card2', }); } else { Router.push( @@ -187,10 +187,10 @@ export class MainScreen extends React.Component { }; onPressAvatarDemo = () => { - const { navigation } = this.props; + const {navigation} = this.props; if (navigation) { - navigation.push("Tiles", { - type: "avatar" + navigation.push('Tiles', { + type: 'avatar', }); } else { Router.push( diff --git a/Example/src/screens/PagerScreen.js b/Example/src/screens/PagerScreen.js index 5b43a33..c5bdc2b 100644 --- a/Example/src/screens/PagerScreen.js +++ b/Example/src/screens/PagerScreen.js @@ -1,59 +1,53 @@ // @flow -import * as React from "react"; +import * as React from 'react'; import { StyleSheet, View, Image, Dimensions, Animated, - StatusBar -} from "react-native"; -import { - NavBar, - SharedElement, - Colors, - Router, - ViewPager -} from "../components"; -import type { Hero, SharedElementsConfig } from "../types"; -import { Heroes } from "../assets"; -import { fadeIn } from "../transitions"; -import { PanGestureHandler, State } from "react-native-gesture-handler"; + StatusBar, +} from 'react-native'; +import {NavBar, SharedElement, Colors, Router, ViewPager} from '../components'; +import type {Hero, SharedElementsConfig} from '../types'; +import {Heroes} from '../assets'; +import {fadeIn} from '../transitions'; +import {PanGestureHandler, State} from 'react-native-gesture-handler'; const styles = StyleSheet.create({ container: { - flex: 1 + flex: 1, }, background: { ...StyleSheet.absoluteFill, - backgroundColor: Colors.dark + backgroundColor: Colors.dark, }, flex: { - flex: 1 + flex: 1, }, content: { flex: 1, - marginVertical: NavBar.HEIGHT + marginVertical: NavBar.HEIGHT, }, image: { flex: 1, - width: "100%", - resizeMode: "contain" - } + width: '100%', + resizeMode: 'contain', + }, }); type PropsType = { hero: Hero, - navigation: any + navigation: any, }; type StateType = { selectedHero: Hero, - width: number + width: number, }; export class PagerScreen extends React.Component { static navigationOptions = { - header: null + header: null, }; static sharedElements = ( @@ -61,24 +55,24 @@ export class PagerScreen extends React.Component { otherNavigation: any, showing: boolean ): ?SharedElementsConfig => { - const hero = navigation.getParam("hero"); + const hero = navigation.getParam('hero'); return [`heroPhoto.${hero.id}`]; }; _dismissAnimValue = new Animated.Value(0); _onDismissGestureEvent = Animated.event( - [{ nativeEvent: { translationY: this._dismissAnimValue } }], - { useNativeDriver: true } + [{nativeEvent: {translationY: this._dismissAnimValue}}], + {useNativeDriver: true} ); constructor(props: PropsType) { super(props); const hero = props.navigation - ? props.navigation.getParam("hero") + ? props.navigation.getParam('hero') : props.hero; this.state = { selectedHero: hero, - width: Dimensions.get("window").width + width: Dimensions.get('window').width, }; } @@ -96,11 +90,11 @@ export class PagerScreen extends React.Component { } render() { - const { navigation } = this.props; - const hero = navigation ? navigation.getParam("hero") : this.props.hero; - const { selectedHero } = this.state; + const {navigation} = this.props; + const hero = navigation ? navigation.getParam('hero') : this.props.hero; + const {selectedHero} = this.state; const dismissAnimValue = this._dismissAnimValue; - const initialIndex = Heroes.findIndex(({ id }) => id === hero.id); + const initialIndex = Heroes.findIndex(({id}) => id === hero.id); return ( @@ -110,11 +104,10 @@ export class PagerScreen extends React.Component { { opacity: dismissAnimValue.interpolate({ inputRange: [-400, -300, -50, 50, 300, 400], - outputRange: [0.6, 0.6, 1, 1, 0.6, 0.6] - }) - } - ]} - > + outputRange: [0.6, 0.6, 1, 1, 0.6, 0.6], + }), + }, + ]}> { + onHandlerStateChange={this._onDismissGestureStateChange}> + {translateY: Animated.multiply(dismissAnimValue, 0.5)}, + ], + }, + ]}> {this.renderPager(Heroes, initialIndex)} @@ -144,34 +135,33 @@ export class PagerScreen extends React.Component { } onLayout = (event: any) => { - const { width } = event.nativeEvent.layout; + const {width} = event.nativeEvent.layout; if (this.state.width !== width) { this.setState({ - width + width, }); } }; getItemLayout = (item: any, index: number) => { - const { width } = this.state; + const {width} = this.state; return { length: width, offset: width * index, - index + index, }; }; - renderItem = ({ item }: any) => { - const { width } = this.state; + renderItem = ({item}: any) => { + const {width} = this.state; const hero = item; - const { id, photo } = hero; + const {id, photo} = hero; return ( - + + navigation={this.props.navigation}> @@ -183,29 +173,29 @@ export class PagerScreen extends React.Component { }; updateHero(hero: Hero) { - const { navigation } = this.props; + const {navigation} = this.props; if (this.state.selectedHero === hero) return; this.setState({ - selectedHero: hero + selectedHero: hero, }); - if (navigation) navigation.setParams({ hero }); + if (navigation) navigation.setParams({hero}); } onBack = () => { - const { navigation } = this.props; + const {navigation} = this.props; const hero = this.state.selectedHero; if (navigation) { navigation.goBack(); } else { Router.pop({ sharedElements: [`heroPhoto.${hero.id}`], - transitionConfig: fadeIn() + transitionConfig: fadeIn(), }); } }; _onDismissGestureStateChange = (event: any) => { - const { nativeEvent } = event; + const {nativeEvent} = event; if (nativeEvent.state !== State.END) { return; } @@ -214,7 +204,7 @@ export class PagerScreen extends React.Component { } else { Animated.spring(this._dismissAnimValue, { toValue: 0, - useNativeDriver: true + useNativeDriver: true, }).start(); } }; diff --git a/Example/src/screens/ReactNavigationScreen.js b/Example/src/screens/ReactNavigationScreen.js index 180deae..a6e6508 100644 --- a/Example/src/screens/ReactNavigationScreen.js +++ b/Example/src/screens/ReactNavigationScreen.js @@ -1,20 +1,20 @@ // @flow -import * as React from "react"; -import { View, Platform } from "react-native"; -import { Icon } from "../components"; -import { createSharedElementStackNavigator } from "react-navigation-shared-element"; -import { createAppContainer } from "@react-navigation/native"; -import { createStackNavigator } from "react-navigation-stack"; -import { createBottomTabNavigator } from "react-navigation-tabs"; -import { MainScreen } from "./MainScreen"; +import * as React from 'react'; +import {View, Platform} from 'react-native'; +import {Icon} from '../components'; +import {createSharedElementStackNavigator} from 'react-navigation-shared-element'; +import {createAppContainer} from '@react-navigation/native'; +import {createStackNavigator} from 'react-navigation-stack'; +import {createBottomTabNavigator} from 'react-navigation-tabs'; +import {MainScreen} from './MainScreen'; // import { DummyScreen } from "./DummyScreen"; -import { TilesScreen } from "./TilesScreen"; -import { DetailScreen } from "./DetailScreen"; -import { PagerScreen } from "./PagerScreen"; -import { CardScreen } from "./CardScreen"; -import { TestsScreen } from "./TestsScreen"; -import { TestScreen } from "./TestScreen"; -import { fadeIn, fromRight } from "../transitions"; +import {TilesScreen} from './TilesScreen'; +import {DetailScreen} from './DetailScreen'; +import {PagerScreen} from './PagerScreen'; +import {CardScreen} from './CardScreen'; +import {TestsScreen} from './TestsScreen'; +import {TestScreen} from './TestScreen'; +import {fadeIn, fromRight} from '../transitions'; const screens = { Tiles: TilesScreen, @@ -22,16 +22,16 @@ const screens = { Pager: PagerScreen, Card: CardScreen, Tests: TestsScreen, - Test: TestScreen + Test: TestScreen, }; function isTabBarVisible(navigation: any): boolean { const currentRoute = navigation.state.routes[navigation.state.routes.length - 1]; switch (currentRoute.routeName) { - case "Card": - case "Detail": - case "Pager": + case 'Card': + case 'Detail': + case 'Pager': return false; default: return true; @@ -42,19 +42,19 @@ const stackNavigator = createSharedElementStackNavigator( createStackNavigator, { Stack: MainScreen, - ...screens + ...screens, }, { - initialRouteName: "Stack", + initialRouteName: 'Stack', //transitionConfig: () => fadeIn(5000), - navigationOptions: ({ navigation }) => ({ - tabBarLabel: "Stack", - tabBarIcon: ({ tintColor }) => ( + navigationOptions: ({navigation}) => ({ + tabBarLabel: 'Stack', + tabBarIcon: ({tintColor}) => ( ), - tabBarVisible: isTabBarVisible(navigation) + tabBarVisible: isTabBarVisible(navigation), }), - transitionConfig: Platform.OS === "android" ? () => fromRight() : undefined + transitionConfig: Platform.OS === 'android' ? () => fromRight() : undefined, } ); @@ -62,18 +62,18 @@ const modalNavigator = createSharedElementStackNavigator( createStackNavigator, { Modal: MainScreen, - ...screens + ...screens, }, { - initialRouteName: "Modal", - mode: "modal", - navigationOptions: ({ navigation }) => ({ - tabBarLabel: "Modal", - tabBarIcon: ({ tintColor }) => ( + initialRouteName: 'Modal', + mode: 'modal', + navigationOptions: ({navigation}) => ({ + tabBarLabel: 'Modal', + tabBarIcon: ({tintColor}) => ( ), - tabBarVisible: isTabBarVisible(navigation) - }) + tabBarVisible: isTabBarVisible(navigation), + }), } ); @@ -81,25 +81,25 @@ const fadeNavigator = createSharedElementStackNavigator( createStackNavigator, { Fade: MainScreen, - ...screens + ...screens, }, { - initialRouteName: "Fade", - navigationOptions: ({ navigation }) => ({ - tabBarLabel: "Fade", - tabBarIcon: ({ tintColor }) => ( + initialRouteName: 'Fade', + navigationOptions: ({navigation}) => ({ + tabBarLabel: 'Fade', + tabBarIcon: ({tintColor}) => ( ), - tabBarVisible: isTabBarVisible(navigation) + tabBarVisible: isTabBarVisible(navigation), }), - transitionConfig: () => fadeIn(0, true) + transitionConfig: () => fadeIn(0, true), } ); export const tabNavigator = createBottomTabNavigator({ stack: stackNavigator, modal: modalNavigator, - fade: fadeNavigator + fade: fadeNavigator, }); const AppContainer = createAppContainer(tabNavigator); @@ -110,8 +110,7 @@ export class ReactNavigationScreen extends React.Component { render() { return ( + style={{position: 'absolute', left: 0, top: 0, right: 0, bottom: 0}}> ); diff --git a/Example/src/screens/TestScreen.js b/Example/src/screens/TestScreen.js index 4b05250..d40c304 100644 --- a/Example/src/screens/TestScreen.js +++ b/Example/src/screens/TestScreen.js @@ -1,34 +1,34 @@ // @flow -import * as React from "react"; -import { StyleSheet, View } from "react-native"; -import { NavBar, Colors, Button, Body, Router } from "../components"; -import { fromRight } from "../transitions"; -import type { Test, SharedElementsConfig } from "../types"; +import * as React from 'react'; +import {StyleSheet, View} from 'react-native'; +import {NavBar, Colors, Button, Body, Router} from '../components'; +import {fromRight} from '../transitions'; +import type {Test, SharedElementsConfig} from '../types'; const styles = StyleSheet.create({ container: { - flex: 1 + flex: 1, }, bottomContainer: { flex: 1, borderTopLeftRadius: 16, borderTopRightRadius: 16, backgroundColor: Colors.empty, - padding: 20 + padding: 20, }, buttonContainer: { - flexDirection: "row" + flexDirection: 'row', }, button: { flex: 1, - marginRight: 10 + marginRight: 10, }, debugButton: { - flex: 1 + flex: 1, }, body: { - marginTop: 20 - } + marginTop: 20, + }, }); interface PropsType { @@ -42,16 +42,16 @@ function getSharedElements(test: Test): SharedElementsConfig { const props = { animation: test.animation, resize: test.resize, - align: test.align + align: test.align, }; return test.multi ? [ - { id: "testImage", ...props }, - { id: "testOverlay", ...props, animation: test.animation || "fade" }, - { id: "testLogo", ...props }, - { id: "testTitle", ...props, animation: test.animation || "fade" } + {id: 'testImage', ...props}, + {id: 'testOverlay', ...props, animation: test.animation || 'fade'}, + {id: 'testLogo', ...props}, + {id: 'testTitle', ...props, animation: test.animation || 'fade'}, ] - : [{ id: "testContent", ...props }]; + : [{id: 'testContent', ...props}]; } export class TestScreen extends React.Component { @@ -60,35 +60,35 @@ export class TestScreen extends React.Component { otherNavigation: any, showing: boolean ): ?SharedElementsConfig => { - if (otherNavigation.state.routeName !== "Test") return; - const test = navigation.getParam("test"); + if (otherNavigation.state.routeName !== 'Test') return; + const test = navigation.getParam('test'); return getSharedElements(test); }; render() { - const { navigation } = this.props; - const test = navigation ? navigation.getParam("test") : this.props.test; + const {navigation} = this.props; + const test = navigation ? navigation.getParam('test') : this.props.test; const description = navigation - ? navigation.getParam("description") + ? navigation.getParam('description') : this.props.description; - const end = navigation ? navigation.getParam("end") : this.props.end; + const end = navigation ? navigation.getParam('end') : this.props.end; return ( {!navigation ? : undefined} {React.cloneElement(end ? test.end : test.start, { - navigation + navigation, })}

    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 d0mF$}y%w#e%S%4&DB_Sjvfj}TEh9$DdGDJXj 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 x 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 bpfWe-C4}#dx5ExB2;Y0;ecy4f-~Yb=ElGcm diff --git a/Example/android/app/src/main/assets/fonts/FontAwesome5_Solid.ttf b/Example/android/app/src/main/assets/fonts/FontAwesome5_Solid.ttf deleted file mode 100644 index 7ece3282a4f7824b249d9e568819d98bd2fa3da6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186228 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