From b4190fb16254ec47286eba2b3d104fd9f8b70fa1 Mon Sep 17 00:00:00 2001 From: Yonas Sandbaek Date: Mon, 12 Aug 2019 16:19:11 +0200 Subject: [PATCH 01/13] Fixed issue with disposal of call screen. --- ios/RNCallKeep/RNCallKeep.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ios/RNCallKeep/RNCallKeep.m b/ios/RNCallKeep/RNCallKeep.m index a581728b..d629e717 100644 --- a/ios/RNCallKeep/RNCallKeep.m +++ b/ios/RNCallKeep/RNCallKeep.m @@ -254,6 +254,9 @@ - (void)requestTransaction:(CXTransaction *)transaction callUpdate.supportsGrouping = YES; callUpdate.supportsUngrouping = YES; [self.callKeepProvider reportCallWithUUID:startCallAction.callUUID updated:callUpdate]; + } else if([[transaction.actions firstObject] isKindOfClass:[CXEndCallAction class]]) { + CXEndCallAction *endCallAction = [transaction.actions firstObject]; + [self.callKeepProvider reportCallWithUUID:endCallAction.callUUID endedAtDate:nil reason:CXCallEndedReasonRemoteEnded ]; } } }]; From dcbe9c3288433942abd7a53cafe27d4520afc8ef Mon Sep 17 00:00:00 2001 From: Yonas Sandbaek Date: Tue, 3 Sep 2019 14:19:31 +0200 Subject: [PATCH 02/13] Updated typescript definitions --- index.d.ts | 179 ++++++++++++++++++++++++++--------------------------- 1 file changed, 89 insertions(+), 90 deletions(-) diff --git a/index.d.ts b/index.d.ts index bc270924..cebc73df 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,25 +1,25 @@ -export type Events = - 'didReceiveStartCallAction' | - 'answerCall' | - 'endCall' | - 'didActivateAudioSession' | - 'didDisplayIncomingCall' | - 'didPerformSetMutedCallAction'; +export type Events = + | "didReceiveStartCallAction" + | "answerCall" + | "endCall" + | "didActivateAudioSession" + | "didDisplayIncomingCall" + | "didPerformSetMutedCallAction"; -type HandleType = 'generic' | 'number' | 'email'; +type HandleType = "generic" | "number" | "email"; interface IOptions { ios: { - appName: string, - imageName?: string, - ringtoneSound?: string, - }, + appName: string; + imageName?: string; + ringtoneSound?: string; + }; android: { - alertTitle: string, - alertDescription: string, - cancelButton: string, - okButton: string, - }, + alertTitle: string; + alertDescription: string; + cancelButton: string; + okButton: string; + }; } export type DidReceiveStartCallActionPayload = { handle: string }; @@ -27,118 +27,117 @@ export type AnswerCallPayload = { callUUID: string }; export type EndCallPayload = AnswerCallPayload; export type DidDisplayIncomingCallPayload = string | undefined; export type DidPerformSetMutedCallActionPayload = boolean; - +export enum EndCallReasons { + failed = 1, + remoteEnded = 2, + unanswered = 3 +} export default class RNCallKeep { - static addEventListener(type: Events, handler: (args: any) => void) { - - } - - static removeEventListener(type: Events, handler: (args: any) => void) { + static addEventListener(type: Events, handler: (args: any) => void) {} - } + static removeEventListener(type: Events, handler: (args: any) => void) {} - static async setup(options: IOptions): Promise { - - } + static async setup(options: IOptions): Promise {} static displayIncomingCall( uuid: string, handle: string, localizedCallerName?: string, handleType?: HandleType, - hasVideo?: boolean, - ) { - - } + hasVideo?: boolean + ) {} /** * @description startCall method is available only on iOS. - */ + */ static startCall( uuid: string, handle: string, handleType?: HandleType, hasVideo?: boolean, - contactIdentifier?: string, - ) { - - } + contactIdentifier?: string + ) {} /** - * @description reportConnectedOutgoingCallWithUUID method is available only on iOS. - */ - static reportConnectedOutgoingCallWithUUID(uuid: string) { - - } - - static endCall(uuid: string) { - - } - - static endAllCalls() { - - } - + * @description reportConnectedOutgoingCallWithUUID method is available only on iOS. + */ + static reportConnectedOutgoingCallWithUUID(uuid: string) {} /** - * @description supportConnectionService method is available only on Android. - */ - static supportConnectionService(): boolean { - - } - + * @description reportConnectingOutgoingCallWithUUID method is available only on iOS. + */ + static reportConnectingOutgoingCallWithUUID(uuid: string) {} /** - * @description hasPhoneAccount method is available only on Android. - */ - static async hasPhoneAccount(): Promise { - - } - + * @description reportUpdatedCall method is available only on iOS. + */ + static reportUpdatedCall(uuid: string, localizedCallerName: string) {} /** - * @description setMutedCall method is available only on iOS. - */ - static setMutedCall(uuid: string, muted: boolean) { + * @description Report that the call ended without the user initiating + */ + static reportEndCallWithUUID(uuid: string, reason: EndCallReasons) {} - } + /** + * updateDisplay method is available only on Android. + * @description Sets the Android caller name and number Use this to update the Android display after an outgoing call has started + */ + static updateDisplay(uuid: string, displayName: string, uri: string) {} /** - * @descriptions sendDTMF is used to send DTMF tones to the PBX. - */ - static sendDTMF(uuid: string, key: string) { + * @description When you reject an incoming call. + */ + static rejectCall(uuid: string) {} - } + /** + * @description When you finish an incoming/outgoing call. + */ + static endCall(uuid: string) {} /** - * @description setMutedCall method is available only on iOS. - */ - static checkIfBusy(): Promise { + * @description End all ongoing connections. + */ + static endAllCalls() {} - } + /** + * @description supportConnectionService method is available only on Android. + */ + static supportConnectionService(): boolean {} /** - * @description setMutedCall method is available only on iOS. - */ - static checkSpeaker(): Promise { + * @description hasPhoneAccount method is available only on Android. + */ + static async hasPhoneAccount(): Promise {} - } + /** + * @description setMutedCall method is available only on iOS. + */ + static setMutedCall(uuid: string, muted: boolean) {} /** - * @description setAvailable method is available only on Android. - */ - static setAvailable(active: boolean) { + * @descriptions sendDTMF is used to send DTMF tones to the PBX. + */ + static sendDTMF(uuid: string, key: string) {} - } + /** + * @description setMutedCall method is available only on iOS. + */ + static checkIfBusy(): Promise {} /** - * @description setAvailable method is available only on Android. - */ - static setCurrentCallActive() { + * @description setMutedCall method is available only on iOS. + */ + static checkSpeaker(): Promise {} - } + /** + * @description setAvailable method is available only on Android. + */ + static setAvailable(active: boolean) {} /** - * @description setAvailable method is available only on Android. - */ - static backToForeground() { + * @description setAvailable method is available only on Android. + */ + static setCurrentCallActive() {} - } + /** + * @description setAvailable method is available only on Android. + */ + static backToForeground() {} } From ba5b48db68bff066564d57aba940d23654f4d587 Mon Sep 17 00:00:00 2001 From: Yonas Sandbaek Date: Wed, 4 Sep 2019 12:06:26 +0200 Subject: [PATCH 03/13] Removed wrong type of end call action --- ios/RNCallKeep/RNCallKeep.m | 3 --- 1 file changed, 3 deletions(-) diff --git a/ios/RNCallKeep/RNCallKeep.m b/ios/RNCallKeep/RNCallKeep.m index ac5fd282..33dadded 100644 --- a/ios/RNCallKeep/RNCallKeep.m +++ b/ios/RNCallKeep/RNCallKeep.m @@ -311,9 +311,6 @@ - (void)requestTransaction:(CXTransaction *)transaction callUpdate.supportsGrouping = YES; callUpdate.supportsUngrouping = YES; [self.callKeepProvider reportCallWithUUID:startCallAction.callUUID updated:callUpdate]; - } else if([[transaction.actions firstObject] isKindOfClass:[CXEndCallAction class]]) { - CXEndCallAction *endCallAction = [transaction.actions firstObject]; - [self.callKeepProvider reportCallWithUUID:endCallAction.callUUID endedAtDate:nil reason:CXCallEndedReasonRemoteEnded ]; } } }]; From 43e0e18383c7938df10f7c07d75a8690e63b1b71 Mon Sep 17 00:00:00 2001 From: Yonas Sandbaek Date: Mon, 30 Sep 2019 13:32:42 +0200 Subject: [PATCH 04/13] Revert "Updated typescript definitions" This reverts commit dcbe9c3288433942abd7a53cafe27d4520afc8ef. --- index.d.ts | 179 +++++++++++++++++++++++++++-------------------------- 1 file changed, 90 insertions(+), 89 deletions(-) diff --git a/index.d.ts b/index.d.ts index cebc73df..bc270924 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,25 +1,25 @@ -export type Events = - | "didReceiveStartCallAction" - | "answerCall" - | "endCall" - | "didActivateAudioSession" - | "didDisplayIncomingCall" - | "didPerformSetMutedCallAction"; +export type Events = + 'didReceiveStartCallAction' | + 'answerCall' | + 'endCall' | + 'didActivateAudioSession' | + 'didDisplayIncomingCall' | + 'didPerformSetMutedCallAction'; -type HandleType = "generic" | "number" | "email"; +type HandleType = 'generic' | 'number' | 'email'; interface IOptions { ios: { - appName: string; - imageName?: string; - ringtoneSound?: string; - }; + appName: string, + imageName?: string, + ringtoneSound?: string, + }, android: { - alertTitle: string; - alertDescription: string; - cancelButton: string; - okButton: string; - }; + alertTitle: string, + alertDescription: string, + cancelButton: string, + okButton: string, + }, } export type DidReceiveStartCallActionPayload = { handle: string }; @@ -27,117 +27,118 @@ export type AnswerCallPayload = { callUUID: string }; export type EndCallPayload = AnswerCallPayload; export type DidDisplayIncomingCallPayload = string | undefined; export type DidPerformSetMutedCallActionPayload = boolean; -export enum EndCallReasons { - failed = 1, - remoteEnded = 2, - unanswered = 3 -} + export default class RNCallKeep { - static addEventListener(type: Events, handler: (args: any) => void) {} + static addEventListener(type: Events, handler: (args: any) => void) { + + } + + static removeEventListener(type: Events, handler: (args: any) => void) { - static removeEventListener(type: Events, handler: (args: any) => void) {} + } - static async setup(options: IOptions): Promise {} + static async setup(options: IOptions): Promise { + + } static displayIncomingCall( uuid: string, handle: string, localizedCallerName?: string, handleType?: HandleType, - hasVideo?: boolean - ) {} + hasVideo?: boolean, + ) { + + } /** * @description startCall method is available only on iOS. - */ + */ static startCall( uuid: string, handle: string, handleType?: HandleType, hasVideo?: boolean, - contactIdentifier?: string - ) {} + contactIdentifier?: string, + ) { - /** - * @description reportConnectedOutgoingCallWithUUID method is available only on iOS. - */ - static reportConnectedOutgoingCallWithUUID(uuid: string) {} - /** - * @description reportConnectingOutgoingCallWithUUID method is available only on iOS. - */ - static reportConnectingOutgoingCallWithUUID(uuid: string) {} - /** - * @description reportUpdatedCall method is available only on iOS. - */ - static reportUpdatedCall(uuid: string, localizedCallerName: string) {} - /** - * @description Report that the call ended without the user initiating - */ - static reportEndCallWithUUID(uuid: string, reason: EndCallReasons) {} + } /** - * updateDisplay method is available only on Android. - * @description Sets the Android caller name and number Use this to update the Android display after an outgoing call has started - */ - static updateDisplay(uuid: string, displayName: string, uri: string) {} + * @description reportConnectedOutgoingCallWithUUID method is available only on iOS. + */ + static reportConnectedOutgoingCallWithUUID(uuid: string) { - /** - * @description When you reject an incoming call. - */ - static rejectCall(uuid: string) {} + } - /** - * @description When you finish an incoming/outgoing call. - */ - static endCall(uuid: string) {} + static endCall(uuid: string) { - /** - * @description End all ongoing connections. - */ - static endAllCalls() {} + } + + static endAllCalls() { + + } /** - * @description supportConnectionService method is available only on Android. - */ - static supportConnectionService(): boolean {} + * @description supportConnectionService method is available only on Android. + */ + static supportConnectionService(): boolean { + + } /** - * @description hasPhoneAccount method is available only on Android. - */ - static async hasPhoneAccount(): Promise {} + * @description hasPhoneAccount method is available only on Android. + */ + static async hasPhoneAccount(): Promise { + + } /** - * @description setMutedCall method is available only on iOS. - */ - static setMutedCall(uuid: string, muted: boolean) {} + * @description setMutedCall method is available only on iOS. + */ + static setMutedCall(uuid: string, muted: boolean) { + + } /** - * @descriptions sendDTMF is used to send DTMF tones to the PBX. - */ - static sendDTMF(uuid: string, key: string) {} + * @descriptions sendDTMF is used to send DTMF tones to the PBX. + */ + static sendDTMF(uuid: string, key: string) { + + } /** - * @description setMutedCall method is available only on iOS. - */ - static checkIfBusy(): Promise {} + * @description setMutedCall method is available only on iOS. + */ + static checkIfBusy(): Promise { + + } /** - * @description setMutedCall method is available only on iOS. - */ - static checkSpeaker(): Promise {} + * @description setMutedCall method is available only on iOS. + */ + static checkSpeaker(): Promise { + + } /** - * @description setAvailable method is available only on Android. - */ - static setAvailable(active: boolean) {} + * @description setAvailable method is available only on Android. + */ + static setAvailable(active: boolean) { + + } /** - * @description setAvailable method is available only on Android. - */ - static setCurrentCallActive() {} + * @description setAvailable method is available only on Android. + */ + static setCurrentCallActive() { + + } /** - * @description setAvailable method is available only on Android. - */ - static backToForeground() {} + * @description setAvailable method is available only on Android. + */ + static backToForeground() { + + } } From 0979684bfd993065682ebfc6fdf989201116cf8c Mon Sep 17 00:00:00 2001 From: Yonas Sandbaek Date: Mon, 30 Sep 2019 13:56:17 +0200 Subject: [PATCH 05/13] Exposed checkPhoneAccountPermission --- index.d.ts | 4 ++++ index.js | 3 +++ 2 files changed, 7 insertions(+) diff --git a/index.d.ts b/index.d.ts index 65a19e94..7b0fe2f9 100644 --- a/index.d.ts +++ b/index.d.ts @@ -159,6 +159,10 @@ export default class RNCallKeep { } + static checkPhoneAccountPermission(): Promise { + + } + /** * @description setAvailable method is available only on Android. */ diff --git a/index.js b/index.js index f4613c2d..cfd5d771 100644 --- a/index.js +++ b/index.js @@ -124,6 +124,9 @@ class RNCallKeep { ? RNCallKeepModule.checkSpeaker() : Promise.reject('RNCallKeep.checkSpeaker was called from unsupported OS'); + + checkPhoneAccountPermission = async (options) => await RNCallKeepModule.checkPhoneAccountPermission(options.additionalPermissions || []); + setAvailable = (state) => { if (isIOS) { return; From 4e13e43f7d8426be78ee5e4ae72d0f58b2d0e490 Mon Sep 17 00:00:00 2001 From: Yonas Sandbaek Date: Tue, 1 Oct 2019 23:16:38 +0200 Subject: [PATCH 06/13] Fixed incorrect podspec dependency --- RNCallKeep.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RNCallKeep.podspec b/RNCallKeep.podspec index 821d4a50..be08dc18 100644 --- a/RNCallKeep.podspec +++ b/RNCallKeep.podspec @@ -13,6 +13,6 @@ Pod::Spec.new do |s| s.requires_arc = true s.platform = :ios, "8.0" s.source_files = "ios/RNCallKeep/*.{h,m}" - s.dependency 'React/Core' + s.dependency 'React-Core' end From e207d9d4feafa78a8f586780a663ec6d22aa6a8b Mon Sep 17 00:00:00 2001 From: Yonas Sandbaek Date: Wed, 2 Oct 2019 15:49:13 +0200 Subject: [PATCH 07/13] Added hasRequiredPermissions functionality --- index.d.ts | 4 ++++ index.js | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/index.d.ts b/index.d.ts index 7b0fe2f9..f735ddb4 100644 --- a/index.d.ts +++ b/index.d.ts @@ -55,6 +55,10 @@ export default class RNCallKeep { } + static async hasRequiredPermissions(options: IOptions): Promise { + + } + static displayIncomingCall( uuid: string, handle: string, diff --git a/index.js b/index.js index cfd5d771..df52a14d 100644 --- a/index.js +++ b/index.js @@ -44,6 +44,12 @@ class RNCallKeep { return; }; + hasRequiredPermissions = async (options) => { + this.setup(options); + + return await this.hasPhoneAccount(); + } + displayIncomingCall = (uuid, handle, localizedCallerName, handleType = 'number', hasVideo = false) => { if (!isIOS) { RNCallKeepModule.displayIncomingCall(uuid, handle, localizedCallerName); From d7ea6ebacb178c45926d02e82332d2516d1fc9ad Mon Sep 17 00:00:00 2001 From: Yonas Sandbaek Date: Tue, 15 Oct 2019 14:51:50 +0200 Subject: [PATCH 08/13] Fixed 'Activity doesn't exist' bug --- android/src/main/java/io/wazo/callkeep/RNCallKeepModule.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/io/wazo/callkeep/RNCallKeepModule.java b/android/src/main/java/io/wazo/callkeep/RNCallKeepModule.java index 15b9cce2..aa905b34 100644 --- a/android/src/main/java/io/wazo/callkeep/RNCallKeepModule.java +++ b/android/src/main/java/io/wazo/callkeep/RNCallKeepModule.java @@ -214,7 +214,7 @@ public void endAllCalls() { @ReactMethod public void checkPhoneAccountPermission(ReadableArray optionalPermissions, Promise promise) { - Activity currentActivity = this.getCurrentActivity(); + Activity currentActivity = getCurrentActivity(); if (!isConnectionServiceAvailable()) { promise.reject(E_ACTIVITY_DOES_NOT_EXIST, "ConnectionService not available for this version of Android."); @@ -464,7 +464,7 @@ private String getApplicationName(Context appContext) { } private Boolean hasPermissions() { - Activity currentActivity = this.getCurrentActivity(); + Activity currentActivity = getCurrentActivity(); boolean hasPermissions = true; for (String permission : permissions) { From 3223220ba65d2ce1c37dac1e3c18f3bb2c33e5c8 Mon Sep 17 00:00:00 2001 From: Yonas Sandbaek Date: Fri, 15 Nov 2019 11:50:08 +0100 Subject: [PATCH 09/13] Added isLocked prop to answerCall event --- ios/RNCallKeep/RNCallKeep.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/RNCallKeep/RNCallKeep.m b/ios/RNCallKeep/RNCallKeep.m index 02432a33..62510a9a 100644 --- a/ios/RNCallKeep/RNCallKeep.m +++ b/ios/RNCallKeep/RNCallKeep.m @@ -566,7 +566,7 @@ - (void)provider:(CXProvider *)provider performAnswerCallAction:(CXAnswerCallAct NSLog(@"[RNCallKeep][CXProviderDelegate][provider:performAnswerCallAction]"); #endif [self configureAudioSession]; - [self sendEventWithName:RNCallKeepPerformAnswerCallAction body:@{ @"callUUID": [action.callUUID.UUIDString lowercaseString] }]; + [self sendEventWithName:RNCallKeepPerformAnswerCallAction body:@{ @"callUUID": [action.callUUID.UUIDString lowercaseString], @"isLocked": [[UIApplication sharedApplication] isProtectedDataAvailable] ? @"false" : @"true" }]; [action fulfill]; } From 1ff04cfe2fc76b0e1985adb17683362af8b951ad Mon Sep 17 00:00:00 2001 From: seltar Date: Fri, 6 Dec 2019 15:03:51 +0100 Subject: [PATCH 10/13] Updated hasRequiredPermissions to allow iOS --- index.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index df52a14d..2b6a7ff1 100644 --- a/index.js +++ b/index.js @@ -43,10 +43,12 @@ class RNCallKeep { return; }; - + hasRequiredPermissions = async (options) => { - this.setup(options); - + if(isIOS) { + return true + } + RNCallKeepModule.setup(options); return await this.hasPhoneAccount(); } From db05a7a6ce3039566ab26067a8eeb79027316e36 Mon Sep 17 00:00:00 2001 From: seltar Date: Fri, 6 Dec 2019 15:04:31 +0100 Subject: [PATCH 11/13] Semicolon --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 2b6a7ff1..03eb5740 100644 --- a/index.js +++ b/index.js @@ -46,7 +46,7 @@ class RNCallKeep { hasRequiredPermissions = async (options) => { if(isIOS) { - return true + return true; } RNCallKeepModule.setup(options); return await this.hasPhoneAccount(); From 6496eccd31d22b889d1c157eee5c91c1e5510c6c Mon Sep 17 00:00:00 2001 From: seltar Date: Sun, 18 Jul 2021 14:44:50 +0200 Subject: [PATCH 12/13] fix error in sentry copy of commit https://bitbucket.org/drdropin/react-native-callkeep/commits/ff6ec8b45f4f7faa68ccfc6e00cdbed6bfd23498 --- ios/RNCallKeep/RNCallKeep.m | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ios/RNCallKeep/RNCallKeep.m b/ios/RNCallKeep/RNCallKeep.m index 62510a9a..d0142e5a 100644 --- a/ios/RNCallKeep/RNCallKeep.m +++ b/ios/RNCallKeep/RNCallKeep.m @@ -466,8 +466,15 @@ + (BOOL)application:(UIApplication *)application // iOS 13 returns an INStartCallIntent userActivity type if (@available(iOS 13, *)) { INStartCallIntent *intent = (INStartCallIntent*)interaction.intent; - isAudioCall = intent.callCapability == INCallCapabilityAudioCall; - isVideoCall = intent.callCapability == INCallCapabilityVideoCall; + // isAudioCall = intent.callCapability == INCallCapabilityAudioCall; + // isVideoCall = intent.callCapability == INCallCapabilityVideoCall; + if ([intent respondsToSelector:@selector(callCapability)]) { + isAudioCall = intent.callCapability == INCallCapabilityAudioCall; + isVideoCall = intent.callCapability == INCallCapabilityVideoCall; + } else { + isAudioCall = [userActivity.activityType isEqualToString:INStartAudioCallIntentIdentifier]; + isVideoCall = [userActivity.activityType isEqualToString:INStartVideoCallIntentIdentifier]; + } } else { isAudioCall = [userActivity.activityType isEqualToString:INStartAudioCallIntentIdentifier]; isVideoCall = [userActivity.activityType isEqualToString:INStartVideoCallIntentIdentifier]; From 9ce74e71f206f906dbc028e26264d2b5bf074e33 Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Sat, 9 Apr 2022 02:35:48 +0000 Subject: [PATCH 13/13] fix: upgrade react-native-web from 0.11.5 to 0.17.7 Snyk has created this PR to upgrade react-native-web from 0.11.5 to 0.17.7. See this package in npm: See this project in Snyk: https://app.snyk.io/org/dr-dropin/project/17ea8bd8-d846-40ac-9407-4a31a1ac937d?utm_source=github&utm_medium=referral&page=upgrade-pr --- example/package.json | 2 +- example/yarn.lock | 114 ++++++++++++++++++++++++++++--------------- 2 files changed, 77 insertions(+), 39 deletions(-) diff --git a/example/package.json b/example/package.json index e3263218..43731eb3 100644 --- a/example/package.json +++ b/example/package.json @@ -16,7 +16,7 @@ "react-native-gesture-handler": "~1.3.0", "react-native-reanimated": "~1.1.0", "react-native-unimodules": "~0.5.2", - "react-native-web": "^0.11.4", + "react-native-web": "^0.17.7", "uuid": "^3.3.2" }, "devDependencies": { diff --git a/example/yarn.lock b/example/yarn.lock index db370bdb..9d084299 100644 --- a/example/yarn.lock +++ b/example/yarn.lock @@ -1656,7 +1656,7 @@ cosmiconfig@^5.0.5: js-yaml "^3.13.1" parse-json "^4.0.0" -create-react-class@^15.6.2, create-react-class@^15.6.3: +create-react-class@^15.6.3: version "15.6.3" resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036" integrity sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg== @@ -1665,6 +1665,21 @@ create-react-class@^15.6.2, create-react-class@^15.6.3: loose-envify "^1.3.1" object-assign "^4.1.1" +create-react-class@^15.7.0: + version "15.7.0" + resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.7.0.tgz#7499d7ca2e69bb51d13faf59bd04f0c65a1d6c1e" + integrity sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng== + dependencies: + loose-envify "^1.3.1" + object-assign "^4.1.1" + +cross-fetch@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== + dependencies: + node-fetch "2.6.7" + cross-spawn@^5.0.1, cross-spawn@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" @@ -1693,11 +1708,6 @@ css-in-js-utils@^2.0.0: hyphenate-style-name "^1.0.2" isobject "^3.0.1" -debounce@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.0.tgz#44a540abc0ea9943018dc0eaa95cce87f65cd131" - integrity sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg== - debug@2.6.9, debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -1729,13 +1739,6 @@ decode-uri-component@^0.2.0: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= -deep-assign@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/deep-assign/-/deep-assign-3.0.0.tgz#c8e4c4d401cba25550a2f0f486a2e75bc5f219a2" - integrity sha512-YX2i9XjJ7h5q/aQ/IM9PEwEnDqETAIYbggmdDB3HLTlSgo1CxPsj6pvhPG68rq6SVE0+p+6Ywsm5fTYNrYtBWw== - dependencies: - is-obj "^1.0.0" - deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -2189,6 +2192,19 @@ fbjs@^1.0.0: setimmediate "^1.0.5" ua-parser-js "^0.7.18" +fbjs@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.4.tgz#e1871c6bd3083bac71ff2da868ad5067d37716c6" + integrity sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ== + dependencies: + cross-fetch "^3.1.5" + fbjs-css-vars "^1.0.0" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.30" + figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" @@ -2514,6 +2530,11 @@ hyphenate-style-name@^1.0.2: resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz#097bb7fa0b8f1a9cf0bd5c734cf95899981a9b48" integrity sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ== +hyphenate-style-name@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" + integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== + iconv-lite@^0.4.17, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -2569,10 +2590,10 @@ ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== -inline-style-prefixer@^5.0.3: - version "5.1.0" - resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-5.1.0.tgz#cb63195f9456dcda25cf59743e45c4d9815b0811" - integrity sha512-giteQHPMrApQOSjNSjteO5ZGSGMRf9gas14fRy2lg2buSc1nRnj6o6xuNds5cMTKrkncyrTu3gJn/yflFMVdmg== +inline-style-prefixer@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-6.0.1.tgz#c5c0e43ba8831707afc5f5bbfd97edf45c1fa7ae" + integrity sha512-AsqazZ8KcRzJ9YPN1wMH2aNM7lkWQ8tSPrW5uDk1ziYwiAPWSZnUsC7lfZq+BDqLqz0B4Pho5wscWcJzVvRzDQ== dependencies: css-in-js-utils "^2.0.0" @@ -2736,11 +2757,6 @@ is-number@^4.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -3549,6 +3565,13 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + node-fetch@^1.0.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -4184,21 +4207,18 @@ react-native-view-shot@2.6.0: resolved "https://registry.yarnpkg.com/react-native-view-shot/-/react-native-view-shot-2.6.0.tgz#3b23675826f67658366352c4b97b59a6aded2f43" integrity sha512-yO9vWi/11m2hEJl8FrW1SMeVzFfPtMKh20MUInGqlsL0H8Ya2JGGlFfrBzx1KiFR2hFb5OdsTLYNtcVZtJ6pLQ== -react-native-web@^0.11.4: - version "0.11.5" - resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.11.5.tgz#adf2eff902fdb32e86be7877294d9a6bb0ad3815" - integrity sha512-KVvE6s32uBgp5m1BNSfNOXvGo1wt/pORSKvi8oy8tdhAPYqsr0oMuMP3rZd8vk+MpiYt1Z8raS/n+DK2xj85Jg== +react-native-web@^0.17.7: + version "0.17.7" + resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.17.7.tgz#038899dbc94467a0ca0be214b88a30e0c117b176" + integrity sha512-4OOU/QjyRySOXyHfTvljEMS4VXKn42Qs3y9uHDPMwaCUFjwg0oasR/j706OaVgan9kF4Ipa2vJ3F6Z/Xqy8KeQ== dependencies: array-find-index "^1.0.2" - create-react-class "^15.6.2" - debounce "^1.2.0" - deep-assign "^3.0.0" - fbjs "^1.0.0" - hyphenate-style-name "^1.0.2" - inline-style-prefixer "^5.0.3" + create-react-class "^15.7.0" + fbjs "^3.0.0" + hyphenate-style-name "^1.0.4" + inline-style-prefixer "^6.0.0" normalize-css-color "^1.0.2" prop-types "^15.6.0" - react-timer-mixin "^0.13.4" react-native@0.59.8: version "0.59.8" @@ -4264,11 +4284,6 @@ react-proxy@^1.1.7: lodash "^4.6.1" react-deep-force-update "^1.0.0" -react-timer-mixin@^0.13.4: - version "0.13.4" - resolved "https://registry.yarnpkg.com/react-timer-mixin/-/react-timer-mixin-0.13.4.tgz#75a00c3c94c13abe29b43d63b4c65a88fc8264d3" - integrity sha512-4+ow23tp/Tv7hBM5Az5/Be/eKKF7DIvJ09voz5LyHGQaqqz9WV8YMs31eFvcYQs7d451LSg7kDJV70XYN/Ug/Q== - react-transform-hmr@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz#e1a40bd0aaefc72e8dfd7a7cda09af85066397bb" @@ -4963,6 +4978,11 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" @@ -4983,6 +5003,11 @@ ua-parser-js@^0.7.18, ua-parser-js@^0.7.19: resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.20.tgz#7527178b82f6a62a0f243d1f94fd30e3e3c21098" integrity sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw== +ua-parser-js@^0.7.30: + version "0.7.31" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" + integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== + uglify-es@^3.1.9: version "3.3.9" resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" @@ -5168,11 +5193,24 @@ watch@~0.18.0: exec-sh "^0.2.0" minimist "^1.2.0" +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + whatwg-fetch@>=0.10.0: version "3.0.0" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"