@office-iss/react-native-win32 0.0.0-canary.285 → 0.0.0-canary.286
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +1 -1
- package/CHANGELOG.json +16 -1
- package/CHANGELOG.md +16 -8
- package/IntegrationTests/LayoutEventsTest.js +16 -11
- package/Libraries/Alert/Alert.js +51 -5
- package/Libraries/Alert/Alert.win32.js +50 -5
- package/Libraries/Animated/animations/Animation.js +1 -4
- package/Libraries/Animated/nodes/AnimatedObject.js +1 -0
- package/Libraries/AppState/AppState.js +24 -7
- package/Libraries/BatchedBridge/MessageQueue.js +3 -2
- package/Libraries/BatchedBridge/NativeModules.js +2 -1
- package/Libraries/Blob/Blob.js +1 -1
- package/Libraries/Blob/FileReader_old.js +9 -9
- package/Libraries/Blob/URL.js +1 -1
- package/Libraries/Blob/URLSearchParams.js +9 -9
- package/Libraries/Components/Button.js +3 -3
- package/Libraries/Components/Button.win32.js +3 -6
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
- package/Libraries/Components/Pressable/Pressable.js +9 -9
- package/Libraries/Components/Pressable/Pressable.win32.js +9 -9
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +7 -7
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +7 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.js +74 -59
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +5 -5
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +5 -2
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -3
- package/Libraries/Components/Switch/Switch.js +2 -2
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
- package/Libraries/Components/TextInput/TextInput.flow.js +15 -13
- package/Libraries/Components/TextInput/TextInput.js +16 -14
- package/Libraries/Components/TextInput/TextInput.win32.js +16 -14
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +16 -16
- package/Libraries/Components/Touchable/Touchable.win32.js +16 -16
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +7 -7
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +16 -2
- package/Libraries/Components/View/ViewAccessibility.js +243 -3
- package/Libraries/Components/View/ViewAccessibility.win32.js +243 -3
- package/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
- package/Libraries/Components/View/ViewPropTypes.js +35 -226
- package/Libraries/Components/View/ViewPropTypes.win32.js +37 -229
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/Timers/JSTimers.js +6 -4
- package/Libraries/Core/setUpBatchedBridge.js +9 -5
- package/Libraries/Core/setUpDeveloperTools.js +3 -29
- package/Libraries/Core/setUpReactDevTools.js +1 -1
- package/Libraries/Core/setUpReactRefresh.js +1 -1
- package/Libraries/Core/setUpXHR.js +5 -2
- package/Libraries/EventEmitter/NativeEventEmitter.js +8 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +5 -4
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -2
- package/Libraries/Events/CustomEvent.js +1 -1
- package/Libraries/Events/EventPolyfill.js +2 -2
- package/Libraries/Image/AssetSourceResolver.js +1 -1
- package/Libraries/Image/ImageProps.js +8 -5
- package/Libraries/Image/ImageViewNativeComponent.js +1 -1
- package/Libraries/Image/resolveAssetSource.win32.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +1 -1
- package/Libraries/Interaction/InteractionManagerStub.js +9 -1
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
- package/Libraries/Interaction/PanResponder.js +32 -29
- package/Libraries/Interaction/TaskQueue.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +18 -4
- package/Libraries/Lists/FillRateHelper.js +3 -3
- package/Libraries/Lists/FlatList.js +13 -13
- package/Libraries/Lists/SectionList.js +3 -1
- package/Libraries/Lists/SectionListModern.js +3 -1
- package/Libraries/Lists/ViewabilityHelper.js +3 -2
- package/Libraries/Lists/VirtualizeUtils.js +3 -3
- package/Libraries/Lists/VirtualizedList.js +5 -5
- package/Libraries/Lists/VirtualizedListContext.js +4 -2
- package/Libraries/Lists/VirtualizedSectionList.js +4 -2
- package/Libraries/LogBox/LogBox.js +9 -1
- package/Libraries/LogBox/UI/AnsiHighlight.js +7 -3
- package/Libraries/LogBox/UI/LogBoxButton.js +4 -2
- package/Libraries/LogBox/UI/LogBoxInspector.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +11 -3
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +2 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +8 -2
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +8 -2
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +2 -0
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +4 -2
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +3 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +3 -1
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +5 -3
- package/Libraries/LogBox/UI/LogBoxNotification.js +6 -2
- package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +3 -1
- package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +2 -0
- package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +4 -1
- package/Libraries/Modal/Modal.js +74 -81
- package/Libraries/NativeComponent/BaseViewConfig.android.js +16 -6
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -9
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +19 -9
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +5 -1
- package/Libraries/Network/FormData.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +5 -6
- package/Libraries/Network/XMLHttpRequest_new.js +3 -2
- package/Libraries/Network/XMLHttpRequest_old.js +3 -2
- package/Libraries/Network/convertRequestBody.js +4 -3
- package/Libraries/Network/fetch.js +4 -3
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +63 -61
- package/Libraries/Pressability/Pressability.js +23 -23
- package/Libraries/Pressability/Pressability.win32.js +23 -23
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +119 -16
- package/Libraries/ReactNative/AppContainer-dev.js +2 -1
- package/Libraries/ReactNative/AppRegistry.js +3 -3
- package/Libraries/ReactNative/PaperUIManager.js +3 -2
- package/Libraries/ReactNative/PaperUIManager.win32.js +3 -2
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +2 -1
- package/Libraries/ReactNative/RootTag.js +1 -1
- package/Libraries/ReactNative/getNativeComponentAttributes.js +4 -4
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -4
- package/Libraries/Renderer/shims/ReactNativeTypes.js +4 -5
- package/Libraries/Settings/Settings.js +2 -2
- package/Libraries/Settings/Settings.win32.js +2 -2
- package/Libraries/Share/Share.js +10 -3
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.win32.js +2 -2
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +1 -1
- package/Libraries/StyleSheet/flattenStyle.js +1 -1
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processAspectRatio.js +1 -1
- package/Libraries/StyleSheet/processColor.js +2 -2
- package/Libraries/StyleSheet/processFilter.js +4 -0
- package/Libraries/StyleSheet/processFontVariant.js +1 -1
- package/Libraries/StyleSheet/processTransform.js +1 -1
- package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
- package/Libraries/Text/Text.js +15 -15
- package/Libraries/Text/Text.win32.js +15 -15
- package/Libraries/Text/TextAncestor.js +1 -1
- package/Libraries/Text/TextNativeComponent.js +2 -2
- package/Libraries/Text/TextNativeComponent.win32.js +2 -2
- package/Libraries/Text/TextProps.js +11 -11
- package/Libraries/Text/TextProps.win32.js +11 -11
- package/Libraries/Types/CodegenTypes.js +3 -3
- package/Libraries/Types/CoreEventTypes.js +103 -72
- package/Libraries/Types/CoreEventTypes.win32.js +115 -79
- package/Libraries/UTFSequence.js +2 -1
- package/Libraries/Utilities/BackHandler.android.js +1 -1
- package/Libraries/Utilities/BackHandler.ios.js +5 -5
- package/Libraries/Utilities/BackHandler.win32.js +1 -1
- package/Libraries/Utilities/DevLoadingView.js +1 -1
- package/Libraries/Utilities/DevSettings.js +1 -1
- package/Libraries/Utilities/DeviceInfo.js +1 -1
- package/Libraries/Utilities/DeviceInfo.win32.js +1 -1
- package/Libraries/Utilities/FeatureDetection.js +2 -4
- package/Libraries/Utilities/FocusManager.win32.js +3 -3
- package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -1
- package/Libraries/Utilities/HMRClient.js +5 -33
- package/Libraries/Utilities/HMRClientProdShim.js +1 -2
- package/Libraries/Utilities/Platform.android.js +2 -2
- package/Libraries/Utilities/Platform.ios.js +2 -2
- package/Libraries/Utilities/Platform.win32.js +2 -2
- package/Libraries/Utilities/{Platform.flow.win32.js → PlatformTypes.js} +1 -0
- package/Libraries/Utilities/PolyfillFunctions.js +3 -5
- package/Libraries/Utilities/RCTLog.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +2 -2
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
- package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
- package/Libraries/Utilities/differ/deepDiffer.js +3 -3
- package/Libraries/Utilities/differ/insetsDiffer.js +3 -3
- package/Libraries/Utilities/differ/matricesDiffer.js +3 -6
- package/Libraries/Utilities/differ/pointsDiffer.js +3 -3
- package/Libraries/Utilities/differ/sizesDiffer.js +3 -3
- package/Libraries/Utilities/dismissKeyboard.js +1 -1
- package/Libraries/Utilities/infoLog.js +1 -1
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/mapWithSeparator.js +1 -1
- package/Libraries/Utilities/warnOnce.js +1 -1
- package/Libraries/Vibration/Vibration.js +3 -3
- package/Libraries/vendor/emitter/EventEmitter.js +21 -9
- package/index.js +113 -199
- package/index.win32.js +21 -13
- package/jest/setup.js +9 -2
- package/overrides.json +35 -34
- package/package.json +15 -15
- package/src/private/devmenu/DevMenu.js +1 -1
- package/src/private/featureflags/ReactNativeFeatureFlags.js +22 -23
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +4 -7
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +5 -4
- package/src/private/inspector/BoxInspector.js +1 -1
- package/src/private/inspector/ElementBox.js +3 -2
- package/src/private/inspector/ElementProperties.js +5 -3
- package/src/private/inspector/Inspector.js +2 -2
- package/src/private/inspector/InspectorOverlay.js +4 -4
- package/src/private/inspector/InspectorPanel.js +1 -1
- package/src/private/inspector/NetworkOverlay.js +4 -4
- package/src/private/inspector/PerformanceOverlay.js +3 -2
- package/src/private/inspector/ReactDevToolsOverlay.js +3 -3
- package/src/private/inspector/StyleInspector.js +1 -1
- package/src/private/inspector/XHRInterceptor.js +5 -2
- package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -1
- package/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +5 -4
- package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +92 -19
- package/src/private/webapis/dom/events/CustomEvent.js +5 -7
- package/src/private/webapis/dom/events/Event.js +5 -5
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -0
- package/src/private/webapis/html/events/MessageEvent.js +12 -19
- package/src/private/webapis/websockets/events/CloseEvent.js +9 -11
- package/src/private/webapis/xhr/events/ProgressEvent.js +9 -11
- package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
- package/Libraries/Alert/Alert.flow.js +0 -62
- package/Libraries/Alert/RCTAlertManager.flow.js +0 -20
- package/Libraries/Utilities/Platform.flow.js +0 -91
- package/flow/react.js +0 -15
|
@@ -14,7 +14,7 @@ import type {
|
|
|
14
14
|
FocusEvent,
|
|
15
15
|
KeyEvent,
|
|
16
16
|
MouseEvent,
|
|
17
|
-
|
|
17
|
+
GestureResponderEvent,
|
|
18
18
|
} from '../Types/CoreEventTypes';
|
|
19
19
|
|
|
20
20
|
import SoundManager from '../Components/Sound/SoundManager';
|
|
@@ -119,27 +119,27 @@ export type PressabilityConfig = $ReadOnly<{
|
|
|
119
119
|
/**
|
|
120
120
|
* Called when a long press gesture has been triggered.
|
|
121
121
|
*/
|
|
122
|
-
onLongPress?: ?(event:
|
|
122
|
+
onLongPress?: ?(event: GestureResponderEvent) => mixed,
|
|
123
123
|
|
|
124
124
|
/**
|
|
125
125
|
* Called when a press gesture has been triggered.
|
|
126
126
|
*/
|
|
127
|
-
onPress?: ?(event:
|
|
127
|
+
onPress?: ?(event: GestureResponderEvent) => mixed,
|
|
128
128
|
|
|
129
129
|
/**
|
|
130
130
|
* Called when the press is activated to provide visual feedback.
|
|
131
131
|
*/
|
|
132
|
-
onPressIn?: ?(event:
|
|
132
|
+
onPressIn?: ?(event: GestureResponderEvent) => mixed,
|
|
133
133
|
|
|
134
134
|
/**
|
|
135
135
|
* Called when the press location moves. (This should rarely be used.)
|
|
136
136
|
*/
|
|
137
|
-
onPressMove?: ?(event:
|
|
137
|
+
onPressMove?: ?(event: GestureResponderEvent) => mixed,
|
|
138
138
|
|
|
139
139
|
/**
|
|
140
140
|
* Called when the press is deactivated to undo visual feedback.
|
|
141
141
|
*/
|
|
142
|
-
onPressOut?: ?(event:
|
|
142
|
+
onPressOut?: ?(event: GestureResponderEvent) => mixed,
|
|
143
143
|
|
|
144
144
|
/**
|
|
145
145
|
* Whether to prevent any other native components from becoming responder
|
|
@@ -166,16 +166,16 @@ export type PressabilityConfig = $ReadOnly<{
|
|
|
166
166
|
|
|
167
167
|
export type EventHandlers = $ReadOnly<{
|
|
168
168
|
onBlur: (event: BlurEvent) => void,
|
|
169
|
-
onClick: (event:
|
|
169
|
+
onClick: (event: GestureResponderEvent) => void,
|
|
170
170
|
onFocus: (event: FocusEvent) => void,
|
|
171
171
|
onMouseEnter?: (event: MouseEvent) => void,
|
|
172
172
|
onMouseLeave?: (event: MouseEvent) => void,
|
|
173
173
|
onPointerEnter?: (event: PointerEvent) => void,
|
|
174
174
|
onPointerLeave?: (event: PointerEvent) => void,
|
|
175
|
-
onResponderGrant: (event:
|
|
176
|
-
onResponderMove: (event:
|
|
177
|
-
onResponderRelease: (event:
|
|
178
|
-
onResponderTerminate: (event:
|
|
175
|
+
onResponderGrant: (event: GestureResponderEvent) => void | boolean,
|
|
176
|
+
onResponderMove: (event: GestureResponderEvent) => void,
|
|
177
|
+
onResponderRelease: (event: GestureResponderEvent) => void,
|
|
178
|
+
onResponderTerminate: (event: GestureResponderEvent) => void,
|
|
179
179
|
onResponderTerminationRequest: () => boolean,
|
|
180
180
|
onStartShouldSetResponder: () => boolean,
|
|
181
181
|
// [Windows
|
|
@@ -483,7 +483,7 @@ export default class Pressability {
|
|
|
483
483
|
return !disabled ?? true;
|
|
484
484
|
},
|
|
485
485
|
|
|
486
|
-
onResponderGrant: (event:
|
|
486
|
+
onResponderGrant: (event: GestureResponderEvent): void | boolean => {
|
|
487
487
|
event.persist();
|
|
488
488
|
|
|
489
489
|
this._cancelPressOutDelayTimeout();
|
|
@@ -513,7 +513,7 @@ export default class Pressability {
|
|
|
513
513
|
return this._config.blockNativeResponder === true;
|
|
514
514
|
},
|
|
515
515
|
|
|
516
|
-
onResponderMove: (event:
|
|
516
|
+
onResponderMove: (event: GestureResponderEvent): void => {
|
|
517
517
|
const {onPressMove} = this._config;
|
|
518
518
|
if (onPressMove != null) {
|
|
519
519
|
onPressMove(event);
|
|
@@ -548,11 +548,11 @@ export default class Pressability {
|
|
|
548
548
|
}
|
|
549
549
|
},
|
|
550
550
|
|
|
551
|
-
onResponderRelease: (event:
|
|
551
|
+
onResponderRelease: (event: GestureResponderEvent): void => {
|
|
552
552
|
this._receiveSignal('RESPONDER_RELEASE', event);
|
|
553
553
|
},
|
|
554
554
|
|
|
555
|
-
onResponderTerminate: (event:
|
|
555
|
+
onResponderTerminate: (event: GestureResponderEvent): void => {
|
|
556
556
|
this._receiveSignal('RESPONDER_TERMINATED', event);
|
|
557
557
|
},
|
|
558
558
|
|
|
@@ -561,7 +561,7 @@ export default class Pressability {
|
|
|
561
561
|
return cancelable ?? true;
|
|
562
562
|
},
|
|
563
563
|
|
|
564
|
-
onClick: (event:
|
|
564
|
+
onClick: (event: GestureResponderEvent): void => {
|
|
565
565
|
// If event has `pointerType`, it was emitted from a PointerEvent and
|
|
566
566
|
// we should ignore it to avoid triggering `onPress` twice.
|
|
567
567
|
if (event?.nativeEvent?.hasOwnProperty?.('pointerType')) {
|
|
@@ -753,7 +753,7 @@ export default class Pressability {
|
|
|
753
753
|
* Receives a state machine signal, performs side effects of the transition
|
|
754
754
|
* and stores the new state. Validates the transition as well.
|
|
755
755
|
*/
|
|
756
|
-
_receiveSignal(signal: TouchSignal, event:
|
|
756
|
+
_receiveSignal(signal: TouchSignal, event: GestureResponderEvent): void {
|
|
757
757
|
// Especially on iOS, not all events have timestamps associated.
|
|
758
758
|
// For telemetry purposes, this doesn't matter too much, as long as *some* do.
|
|
759
759
|
// Since the native timestamp is integral for logging telemetry, just skip
|
|
@@ -801,7 +801,7 @@ export default class Pressability {
|
|
|
801
801
|
prevState: TouchState,
|
|
802
802
|
nextState: TouchState,
|
|
803
803
|
signal: TouchSignal,
|
|
804
|
-
event:
|
|
804
|
+
event: GestureResponderEvent,
|
|
805
805
|
): void {
|
|
806
806
|
if (isTerminalSignal(signal)) {
|
|
807
807
|
this._touchActivatePosition = null;
|
|
@@ -864,7 +864,7 @@ export default class Pressability {
|
|
|
864
864
|
this._cancelPressDelayTimeout();
|
|
865
865
|
}
|
|
866
866
|
|
|
867
|
-
_activate(event:
|
|
867
|
+
_activate(event: GestureResponderEvent): void {
|
|
868
868
|
const {onPressIn} = this._config;
|
|
869
869
|
const {pageX, pageY, button} = getTouchFromPressEvent(event);
|
|
870
870
|
this._touchActivatePosition = {pageX, pageY};
|
|
@@ -874,7 +874,7 @@ export default class Pressability {
|
|
|
874
874
|
}
|
|
875
875
|
}
|
|
876
876
|
|
|
877
|
-
_deactivate(event:
|
|
877
|
+
_deactivate(event: GestureResponderEvent): void {
|
|
878
878
|
const {onPressOut} = this._config;
|
|
879
879
|
if (
|
|
880
880
|
onPressOut != null &&
|
|
@@ -934,7 +934,7 @@ export default class Pressability {
|
|
|
934
934
|
};
|
|
935
935
|
|
|
936
936
|
_isTouchWithinResponderRegion(
|
|
937
|
-
touch: $PropertyType<
|
|
937
|
+
touch: $PropertyType<GestureResponderEvent, 'nativeEvent'>,
|
|
938
938
|
responderRegion: $ReadOnly<{
|
|
939
939
|
bottom: number,
|
|
940
940
|
left: number,
|
|
@@ -979,7 +979,7 @@ export default class Pressability {
|
|
|
979
979
|
);
|
|
980
980
|
}
|
|
981
981
|
|
|
982
|
-
_handleLongPress(event:
|
|
982
|
+
_handleLongPress(event: GestureResponderEvent): void {
|
|
983
983
|
if (
|
|
984
984
|
this._touchState === 'RESPONDER_ACTIVE_PRESS_IN' ||
|
|
985
985
|
this._touchState === 'RESPONDER_ACTIVE_LONG_PRESS_IN'
|
|
@@ -1032,7 +1032,7 @@ function normalizeDelay(
|
|
|
1032
1032
|
return Math.max(min, delay ?? fallback);
|
|
1033
1033
|
}
|
|
1034
1034
|
|
|
1035
|
-
const getTouchFromPressEvent = (event:
|
|
1035
|
+
const getTouchFromPressEvent = (event: GestureResponderEvent) => {
|
|
1036
1036
|
const {changedTouches, touches} = event.nativeEvent;
|
|
1037
1037
|
|
|
1038
1038
|
if (touches != null && touches.length > 0) {
|
|
@@ -15,6 +15,30 @@ import Platform from '../Utilities/Platform';
|
|
|
15
15
|
import NativePushNotificationManagerIOS from './NativePushNotificationManagerIOS';
|
|
16
16
|
import invariant from 'invariant';
|
|
17
17
|
|
|
18
|
+
export type PushNotificationPermissions = {
|
|
19
|
+
alert: boolean,
|
|
20
|
+
badge: boolean,
|
|
21
|
+
sound: boolean,
|
|
22
|
+
[key: string]: boolean | number,
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
type PresentLocalNotificationDetails = {
|
|
26
|
+
alertBody: string,
|
|
27
|
+
alertAction?: string,
|
|
28
|
+
alertTitle?: string,
|
|
29
|
+
soundName?: string,
|
|
30
|
+
category?: string,
|
|
31
|
+
userInfo?: Object,
|
|
32
|
+
applicationIconBadgeNumber?: number,
|
|
33
|
+
fireDate?: number,
|
|
34
|
+
isSilent?: boolean,
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
type ScheduleLocalNotificationDetails = {
|
|
38
|
+
...PresentLocalNotificationDetails,
|
|
39
|
+
repeatInterval?: 'year' | 'month' | 'week' | 'day' | 'hour' | 'minute',
|
|
40
|
+
};
|
|
41
|
+
|
|
18
42
|
type NativePushNotificationIOSEventDefinitions = {
|
|
19
43
|
remoteNotificationReceived: [
|
|
20
44
|
{
|
|
@@ -56,9 +80,9 @@ const DEVICE_LOCAL_NOTIF_EVENT = 'localNotificationReceived';
|
|
|
56
80
|
export type ContentAvailable = 1 | null | void;
|
|
57
81
|
|
|
58
82
|
export type FetchResult = {
|
|
59
|
-
NewData:
|
|
60
|
-
NoData:
|
|
61
|
-
ResultFailed:
|
|
83
|
+
NewData: 'UIBackgroundFetchResultNewData',
|
|
84
|
+
NoData: 'UIBackgroundFetchResultNoData',
|
|
85
|
+
ResultFailed: 'UIBackgroundFetchResultFailed',
|
|
62
86
|
...
|
|
63
87
|
};
|
|
64
88
|
|
|
@@ -94,6 +118,54 @@ export type PushNotificationEventName = $Keys<{
|
|
|
94
118
|
...
|
|
95
119
|
}>;
|
|
96
120
|
|
|
121
|
+
export interface PushNotification {
|
|
122
|
+
/**
|
|
123
|
+
* An alias for `getAlert` to get the notification's main message string
|
|
124
|
+
*/
|
|
125
|
+
getMessage(): ?string | ?Object;
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Gets the sound string from the `aps` object
|
|
129
|
+
*/
|
|
130
|
+
getSound(): ?string;
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Gets the category string from the `aps` object
|
|
134
|
+
*/
|
|
135
|
+
getCategory(): ?string;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Gets the notification's main message from the `aps` object
|
|
139
|
+
*/
|
|
140
|
+
getAlert(): ?string | ?Object;
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Gets the content-available number from the `aps` object
|
|
144
|
+
*/
|
|
145
|
+
getContentAvailable(): ContentAvailable;
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Gets the badge count number from the `aps` object
|
|
149
|
+
*/
|
|
150
|
+
getBadgeCount(): ?number;
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Gets the data object on the notif
|
|
154
|
+
*/
|
|
155
|
+
getData(): ?Object;
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Gets the thread ID on the notif
|
|
159
|
+
*/
|
|
160
|
+
getThreadID(): ?string;
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* iOS Only
|
|
164
|
+
* Signifies remote notification handling is complete
|
|
165
|
+
*/
|
|
166
|
+
finish(result: string): void;
|
|
167
|
+
}
|
|
168
|
+
|
|
97
169
|
/**
|
|
98
170
|
*
|
|
99
171
|
* Handle notifications for your app, including scheduling and permissions.
|
|
@@ -119,28 +191,50 @@ class PushNotificationIOS {
|
|
|
119
191
|
};
|
|
120
192
|
|
|
121
193
|
/**
|
|
122
|
-
* Schedules
|
|
194
|
+
* Schedules the localNotification for immediate presentation.
|
|
195
|
+
* details is an object containing:
|
|
196
|
+
* alertBody : The message displayed in the notification alert.
|
|
197
|
+
* alertAction : The "action" displayed beneath an actionable notification. Defaults to "view";
|
|
198
|
+
* soundName : The sound played when the notification is fired (optional).
|
|
199
|
+
* category : The category of this notification, required for actionable notifications (optional).
|
|
200
|
+
* userInfo : An optional object containing additional notification data.
|
|
201
|
+
* applicationIconBadgeNumber (optional) : The number to display as the app's icon badge. The default value of this property is 0, which means that no badge is displayed.
|
|
123
202
|
*
|
|
124
203
|
* See https://reactnative.dev/docs/pushnotificationios#presentlocalnotification
|
|
125
204
|
*/
|
|
126
|
-
static presentLocalNotification(
|
|
205
|
+
static presentLocalNotification(
|
|
206
|
+
details: PresentLocalNotificationDetails,
|
|
207
|
+
): void {
|
|
127
208
|
invariant(
|
|
128
209
|
NativePushNotificationManagerIOS,
|
|
129
210
|
'PushNotificationManager is not available.',
|
|
130
211
|
);
|
|
212
|
+
// $FlowFixMe[prop-missing]
|
|
131
213
|
NativePushNotificationManagerIOS.presentLocalNotification(details);
|
|
132
214
|
}
|
|
133
215
|
|
|
134
216
|
/**
|
|
135
217
|
* Schedules a local notification for future presentation.
|
|
136
218
|
*
|
|
219
|
+
* details is an object containing:
|
|
220
|
+
* fireDate : The date and time when the system should deliver the notification.
|
|
221
|
+
* alertBody : The message displayed in the notification alert.
|
|
222
|
+
* alertAction : The "action" displayed beneath an actionable notification. Defaults to "view";
|
|
223
|
+
* soundName : The sound played when the notification is fired (optional).
|
|
224
|
+
* category : The category of this notification, required for actionable notifications (optional).
|
|
225
|
+
* userInfo : An optional object containing additional notification data.
|
|
226
|
+
* applicationIconBadgeNumber (optional) : The number to display as the app's icon badge. Setting the number to 0 removes the icon badge.
|
|
227
|
+
*
|
|
137
228
|
* See https://reactnative.dev/docs/pushnotificationios#schedulelocalnotification
|
|
138
229
|
*/
|
|
139
|
-
static scheduleLocalNotification(
|
|
230
|
+
static scheduleLocalNotification(
|
|
231
|
+
details: ScheduleLocalNotificationDetails,
|
|
232
|
+
): void {
|
|
140
233
|
invariant(
|
|
141
234
|
NativePushNotificationManagerIOS,
|
|
142
235
|
'PushNotificationManager is not available.',
|
|
143
236
|
);
|
|
237
|
+
// $FlowFixMe[prop-missing]
|
|
144
238
|
NativePushNotificationManagerIOS.scheduleLocalNotification(details);
|
|
145
239
|
}
|
|
146
240
|
|
|
@@ -331,12 +425,9 @@ class PushNotificationIOS {
|
|
|
331
425
|
*
|
|
332
426
|
* See https://reactnative.dev/docs/pushnotificationios#requestpermissions
|
|
333
427
|
*/
|
|
334
|
-
static requestPermissions(
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
sound?: boolean,
|
|
338
|
-
...
|
|
339
|
-
}): Promise<{
|
|
428
|
+
static requestPermissions(
|
|
429
|
+
permissions?: PushNotificationPermissions,
|
|
430
|
+
): Promise<{
|
|
340
431
|
alert: boolean,
|
|
341
432
|
badge: boolean,
|
|
342
433
|
sound: boolean,
|
|
@@ -365,7 +456,13 @@ class PushNotificationIOS {
|
|
|
365
456
|
|
|
366
457
|
/**
|
|
367
458
|
* Unregister for all remote notifications received via Apple Push Notification
|
|
368
|
-
* service.
|
|
459
|
+
* service.
|
|
460
|
+
* You should call this method in rare circumstances only, such as when
|
|
461
|
+
* a new version of the app removes support for all types of remote
|
|
462
|
+
* notifications. Users can temporarily prevent apps from receiving
|
|
463
|
+
* remote notifications through the Notifications section of the
|
|
464
|
+
* Settings app. Apps unregistered through this method can always
|
|
465
|
+
* re-register.
|
|
369
466
|
*
|
|
370
467
|
* See https://reactnative.dev/docs/pushnotificationios#abandonpermissions
|
|
371
468
|
*/
|
|
@@ -381,9 +478,15 @@ class PushNotificationIOS {
|
|
|
381
478
|
* Check which push permissions are currently enabled. `callback` will be
|
|
382
479
|
* invoked with a `Permissions` object.
|
|
383
480
|
*
|
|
481
|
+
* - `alert` :boolean
|
|
482
|
+
* - `badge` :boolean
|
|
483
|
+
* - `sound` :boolean
|
|
484
|
+
*
|
|
384
485
|
* See https://reactnative.dev/docs/pushnotificationios#checkpermissions
|
|
385
486
|
*/
|
|
386
|
-
static checkPermissions(
|
|
487
|
+
static checkPermissions(
|
|
488
|
+
callback: (permissions: PushNotificationPermissions) => void,
|
|
489
|
+
): void {
|
|
387
490
|
invariant(typeof callback === 'function', 'Must provide a valid callback');
|
|
388
491
|
invariant(
|
|
389
492
|
NativePushNotificationManagerIOS,
|
|
@@ -398,7 +501,7 @@ class PushNotificationIOS {
|
|
|
398
501
|
*
|
|
399
502
|
* See https://reactnative.dev/docs/pushnotificationios#getinitialnotification
|
|
400
503
|
*/
|
|
401
|
-
static getInitialNotification(): Promise<?
|
|
504
|
+
static getInitialNotification(): Promise<?PushNotification> {
|
|
402
505
|
invariant(
|
|
403
506
|
NativePushNotificationManagerIOS,
|
|
404
507
|
'PushNotificationManager is not available.',
|
|
@@ -566,4 +669,4 @@ class PushNotificationIOS {
|
|
|
566
669
|
}
|
|
567
670
|
}
|
|
568
671
|
|
|
569
|
-
|
|
672
|
+
export default PushNotificationIOS;
|
|
@@ -33,7 +33,8 @@ const reactDevToolsHook: ReactDevToolsGlobalHook =
|
|
|
33
33
|
// Required for React DevTools to view / edit React Native styles in Flipper.
|
|
34
34
|
// Flipper doesn't inject these values when initializing DevTools.
|
|
35
35
|
if (reactDevToolsHook) {
|
|
36
|
-
reactDevToolsHook.resolveRNStyle =
|
|
36
|
+
reactDevToolsHook.resolveRNStyle =
|
|
37
|
+
require('../StyleSheet/flattenStyle').default;
|
|
37
38
|
reactDevToolsHook.nativeStyleEditorValidAttributes = Object.keys(
|
|
38
39
|
ReactNativeStyleAttributes,
|
|
39
40
|
);
|
|
@@ -30,11 +30,11 @@ export type TaskProvider = () => Task;
|
|
|
30
30
|
type TaskCanceller = () => void;
|
|
31
31
|
type TaskCancelProvider = () => TaskCanceller;
|
|
32
32
|
|
|
33
|
-
export type ComponentProvider = () => React
|
|
33
|
+
export type ComponentProvider = () => React.ComponentType<any>;
|
|
34
34
|
export type ComponentProviderInstrumentationHook = (
|
|
35
35
|
component_: ComponentProvider,
|
|
36
36
|
scopedPerformanceLogger: IPerformanceLogger,
|
|
37
|
-
) => React
|
|
37
|
+
) => React.ComponentType<any>;
|
|
38
38
|
export type AppConfig = {
|
|
39
39
|
appKey: string,
|
|
40
40
|
component?: ComponentProvider,
|
|
@@ -59,7 +59,7 @@ export type Registry = {
|
|
|
59
59
|
};
|
|
60
60
|
export type WrapperComponentProvider = (
|
|
61
61
|
appParameters: Object,
|
|
62
|
-
) => React
|
|
62
|
+
) => React.ComponentType<any>;
|
|
63
63
|
export type RootViewStyleProvider = (appParameters: Object) => ViewStyleProp;
|
|
64
64
|
|
|
65
65
|
const runnables: Runnables = {};
|
|
@@ -15,8 +15,9 @@ import NativeUIManager from './NativeUIManager';
|
|
|
15
15
|
import nullthrows from 'nullthrows';
|
|
16
16
|
|
|
17
17
|
const NativeModules = require('../BatchedBridge/NativeModules').default;
|
|
18
|
-
const defineLazyObjectProperty =
|
|
19
|
-
|
|
18
|
+
const defineLazyObjectProperty =
|
|
19
|
+
require('../Utilities/defineLazyObjectProperty').default;
|
|
20
|
+
const Platform = require('../Utilities/Platform').default;
|
|
20
21
|
const UIManagerProperties = require('./UIManagerProperties').default;
|
|
21
22
|
|
|
22
23
|
const viewManagerConfigs: {[string]: any | null} = {};
|
|
@@ -15,8 +15,9 @@ import NativeUIManager from './NativeUIManager';
|
|
|
15
15
|
import nullthrows from 'nullthrows';
|
|
16
16
|
|
|
17
17
|
const NativeModules = require('../BatchedBridge/NativeModules').default;
|
|
18
|
-
const defineLazyObjectProperty =
|
|
19
|
-
|
|
18
|
+
const defineLazyObjectProperty =
|
|
19
|
+
require('../Utilities/defineLazyObjectProperty').default;
|
|
20
|
+
const Platform = require('../Utilities/Platform').default;
|
|
20
21
|
const UIManagerProperties = require('./UIManagerProperties').default;
|
|
21
22
|
|
|
22
23
|
const viewManagerConfigs: {[string]: any | null} = {};
|
|
@@ -21,7 +21,6 @@ import typeof * as RendererProxyT from '../../ReactNative/RendererProxy';
|
|
|
21
21
|
import type {
|
|
22
22
|
InternalInstanceHandle,
|
|
23
23
|
Node,
|
|
24
|
-
PublicRootInstance,
|
|
25
24
|
ViewConfig,
|
|
26
25
|
} from '../../Renderer/shims/ReactNativeTypes';
|
|
27
26
|
import type {RootTag} from '../RootTag';
|
|
@@ -29,6 +28,8 @@ import type ReactFabricHostComponentT from './ReactFabricHostComponent';
|
|
|
29
28
|
|
|
30
29
|
import * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';
|
|
31
30
|
|
|
31
|
+
export opaque type PublicRootInstance = mixed;
|
|
32
|
+
|
|
32
33
|
// Lazy loaded to avoid evaluating the module when using the legacy renderer.
|
|
33
34
|
let ReactNativeDocumentModuleObject: ?ReactNativeDocumentModuleT;
|
|
34
35
|
let ReactFabricHostComponentClass: Class<ReactFabricHostComponentT>;
|
|
@@ -20,10 +20,10 @@ const processBackgroundImage =
|
|
|
20
20
|
const processColor = require('../StyleSheet/processColor').default;
|
|
21
21
|
const processColorArray = require('../StyleSheet/processColorArray').default;
|
|
22
22
|
const processFilter = require('../StyleSheet/processFilter').default;
|
|
23
|
-
const insetsDiffer = require('../Utilities/differ/insetsDiffer');
|
|
24
|
-
const matricesDiffer = require('../Utilities/differ/matricesDiffer');
|
|
25
|
-
const pointsDiffer = require('../Utilities/differ/pointsDiffer');
|
|
26
|
-
const sizesDiffer = require('../Utilities/differ/sizesDiffer');
|
|
23
|
+
const insetsDiffer = require('../Utilities/differ/insetsDiffer').default;
|
|
24
|
+
const matricesDiffer = require('../Utilities/differ/matricesDiffer').default;
|
|
25
|
+
const pointsDiffer = require('../Utilities/differ/pointsDiffer').default;
|
|
26
|
+
const sizesDiffer = require('../Utilities/differ/sizesDiffer').default;
|
|
27
27
|
const UIManager = require('./UIManager').default;
|
|
28
28
|
const nullthrows = require('nullthrows');
|
|
29
29
|
|
|
@@ -36,6 +36,8 @@ import typeof deepFreezeAndThrowOnMutationInDev from '../Utilities/deepFreezeAnd
|
|
|
36
36
|
import typeof deepDiffer from '../Utilities/differ/deepDiffer';
|
|
37
37
|
import typeof Platform from '../Utilities/Platform';
|
|
38
38
|
|
|
39
|
+
export type {PublicRootInstance} from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance';
|
|
40
|
+
|
|
39
41
|
// flowlint unsafe-getters-setters:off
|
|
40
42
|
module.exports = {
|
|
41
43
|
get BatchedBridge(): BatchedBridge {
|
|
@@ -45,7 +47,7 @@ module.exports = {
|
|
|
45
47
|
return require('../Core/ExceptionsManager').default;
|
|
46
48
|
},
|
|
47
49
|
get Platform(): Platform {
|
|
48
|
-
return require('../Utilities/Platform');
|
|
50
|
+
return require('../Utilities/Platform').default;
|
|
49
51
|
},
|
|
50
52
|
get RCTEventEmitter(): RCTEventEmitter {
|
|
51
53
|
return require('../EventEmitter/RCTEventEmitter').default;
|
|
@@ -61,18 +63,18 @@ module.exports = {
|
|
|
61
63
|
},
|
|
62
64
|
// TODO: Remove when React has migrated to `createAttributePayload` and `diffAttributePayloads`
|
|
63
65
|
get deepDiffer(): deepDiffer {
|
|
64
|
-
return require('../Utilities/differ/deepDiffer');
|
|
66
|
+
return require('../Utilities/differ/deepDiffer').default;
|
|
65
67
|
},
|
|
66
68
|
get deepFreezeAndThrowOnMutationInDev(): deepFreezeAndThrowOnMutationInDev<
|
|
67
69
|
{...} | Array<mixed>,
|
|
68
70
|
> {
|
|
69
|
-
return require('../Utilities/deepFreezeAndThrowOnMutationInDev');
|
|
71
|
+
return require('../Utilities/deepFreezeAndThrowOnMutationInDev').default;
|
|
70
72
|
},
|
|
71
73
|
// TODO: Remove when React has migrated to `createAttributePayload` and `diffAttributePayloads`
|
|
72
74
|
get flattenStyle(): flattenStyle<DangerouslyImpreciseStyleProp> {
|
|
73
75
|
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
74
76
|
// $FlowFixMe[incompatible-return]
|
|
75
|
-
return require('../StyleSheet/flattenStyle');
|
|
77
|
+
return require('../StyleSheet/flattenStyle').default;
|
|
76
78
|
},
|
|
77
79
|
get ReactFiberErrorDialog(): ReactFiberErrorDialog {
|
|
78
80
|
return require('../Core/ReactFiberErrorDialog').default;
|
|
@@ -7,10 +7,12 @@
|
|
|
7
7
|
* @noformat
|
|
8
8
|
* @nolint
|
|
9
9
|
* @flow strict
|
|
10
|
-
* @generated SignedSource<<
|
|
10
|
+
* @generated SignedSource<<c1ce40ef01008fe3cd38df1d9ff46f56>>
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import type {ElementRef, ElementType, MixedElement} from 'react';
|
|
14
|
+
// $FlowFixMe[nonstrict-import] TODO(@rubennorte)
|
|
15
|
+
import {type PublicRootInstance} from 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface';
|
|
14
16
|
|
|
15
17
|
export type MeasureOnSuccessCallback = (
|
|
16
18
|
x: number,
|
|
@@ -232,7 +234,6 @@ export opaque type Node = mixed;
|
|
|
232
234
|
export opaque type InternalInstanceHandle = mixed;
|
|
233
235
|
type PublicInstance = mixed;
|
|
234
236
|
type PublicTextInstance = mixed;
|
|
235
|
-
export opaque type PublicRootInstance = mixed;
|
|
236
237
|
|
|
237
238
|
export type ReactFabricType = {
|
|
238
239
|
findHostInstance_DEPRECATED<TElementType: ElementType>(
|
|
@@ -262,9 +263,7 @@ export type ReactFabricType = {
|
|
|
262
263
|
getPublicInstanceFromInternalInstanceHandle(
|
|
263
264
|
internalInstanceHandle: InternalInstanceHandle,
|
|
264
265
|
): PublicInstance | PublicTextInstance | null,
|
|
265
|
-
getPublicInstanceFromRootTag(
|
|
266
|
-
rootTag: number,
|
|
267
|
-
): PublicRootInstance | null,
|
|
266
|
+
getPublicInstanceFromRootTag(rootTag: number): PublicRootInstance | null,
|
|
268
267
|
...
|
|
269
268
|
};
|
|
270
269
|
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
13
|
const Settings = {
|
|
14
|
-
get(key: string):
|
|
14
|
+
get(key: string): any {
|
|
15
15
|
console.warn('Settings is not yet supported on this platform.');
|
|
16
16
|
return null;
|
|
17
17
|
},
|
|
@@ -20,7 +20,7 @@ const Settings = {
|
|
|
20
20
|
console.warn('Settings is not yet supported on this platform.');
|
|
21
21
|
},
|
|
22
22
|
|
|
23
|
-
watchKeys(keys: string | Array<string>, callback:
|
|
23
|
+
watchKeys(keys: string | Array<string>, callback: () => void): number {
|
|
24
24
|
console.warn('Settings is not yet supported on this platform.');
|
|
25
25
|
return -1;
|
|
26
26
|
},
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
'use strict';
|
|
7
7
|
|
|
8
8
|
var Settings = {
|
|
9
|
-
get(key: string):
|
|
9
|
+
get(key: string): any {
|
|
10
10
|
console.warn('Settings is not yet supported on Win32');
|
|
11
11
|
return null;
|
|
12
12
|
},
|
|
@@ -15,7 +15,7 @@ var Settings = {
|
|
|
15
15
|
console.warn('Settings is not yet supported on Win32');
|
|
16
16
|
},
|
|
17
17
|
|
|
18
|
-
watchKeys(keys: string | Array<string>, callback:
|
|
18
|
+
watchKeys(keys: string | Array<string>, callback: () => void): number {
|
|
19
19
|
console.warn('Settings is not yet supported on Win32');
|
|
20
20
|
return -1;
|
|
21
21
|
},
|
package/Libraries/Share/Share.js
CHANGED
|
@@ -8,11 +8,13 @@
|
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import type {ColorValue} from '../StyleSheet/StyleSheet';
|
|
12
|
+
|
|
11
13
|
import NativeActionSheetManager from '../ActionSheetIOS/NativeActionSheetManager';
|
|
12
14
|
import NativeShareModule from './NativeShareModule';
|
|
13
15
|
|
|
14
16
|
const processColor = require('../StyleSheet/processColor').default;
|
|
15
|
-
const Platform = require('../Utilities/Platform');
|
|
17
|
+
const Platform = require('../Utilities/Platform').default;
|
|
16
18
|
const invariant = require('invariant');
|
|
17
19
|
|
|
18
20
|
export type ShareContent =
|
|
@@ -29,11 +31,16 @@ export type ShareContent =
|
|
|
29
31
|
export type ShareOptions = {
|
|
30
32
|
dialogTitle?: string,
|
|
31
33
|
excludedActivityTypes?: Array<string>,
|
|
32
|
-
tintColor?:
|
|
34
|
+
tintColor?: ColorValue,
|
|
33
35
|
subject?: string,
|
|
34
36
|
anchor?: number,
|
|
35
37
|
};
|
|
36
38
|
|
|
39
|
+
export type ShareAction = {
|
|
40
|
+
action: 'sharedAction' | 'dismissedAction',
|
|
41
|
+
activityType?: string | null,
|
|
42
|
+
};
|
|
43
|
+
|
|
37
44
|
class Share {
|
|
38
45
|
/**
|
|
39
46
|
* Open a dialog to share text content.
|
|
@@ -73,7 +80,7 @@ class Share {
|
|
|
73
80
|
*/
|
|
74
81
|
static share(
|
|
75
82
|
content: ShareContent,
|
|
76
|
-
options
|
|
83
|
+
options?: ShareOptions = {},
|
|
77
84
|
): Promise<{action: string, activityType: ?string}> {
|
|
78
85
|
invariant(
|
|
79
86
|
typeof content === 'object' && content !== null,
|
|
@@ -56,7 +56,7 @@ const _normalizeColorObject = (
|
|
|
56
56
|
// an ios semantic color
|
|
57
57
|
return color;
|
|
58
58
|
} else if ('dynamic' in color && color.dynamic !== undefined) {
|
|
59
|
-
const normalizeColor = require('./normalizeColor');
|
|
59
|
+
const normalizeColor = require('./normalizeColor').default;
|
|
60
60
|
|
|
61
61
|
// a dynamic, appearance aware color
|
|
62
62
|
const dynamic = color.dynamic;
|
|
@@ -228,7 +228,7 @@ if (__DEV__) {
|
|
|
228
228
|
* and suggestions to help you write valid styles.
|
|
229
229
|
*
|
|
230
230
|
*/
|
|
231
|
-
|
|
231
|
+
export default {
|
|
232
232
|
/**
|
|
233
233
|
* This is defined as the width of a thin line on the platform. It can be
|
|
234
234
|
* used as the thickness of a border or division between two elements.
|
|
@@ -29,7 +29,7 @@ import flatten from './flattenStyle';
|
|
|
29
29
|
const ReactNativeStyleAttributes =
|
|
30
30
|
require('../Components/View/ReactNativeStyleAttributes').default;
|
|
31
31
|
const PixelRatio = require('../Utilities/PixelRatio').default;
|
|
32
|
-
const Platform = require('../Utilities/Platform'); // [Win32]
|
|
32
|
+
const Platform = require('../Utilities/Platform').default; // [Win32]
|
|
33
33
|
|
|
34
34
|
export type {NativeColorValue} from './StyleSheetTypes';
|
|
35
35
|
|
|
@@ -230,7 +230,7 @@ if (__DEV__) {
|
|
|
230
230
|
* and suggestions to help you write valid styles.
|
|
231
231
|
*
|
|
232
232
|
*/
|
|
233
|
-
|
|
233
|
+
export default {
|
|
234
234
|
/**
|
|
235
235
|
* This is defined as the width of a thin line on the platform. It can be
|
|
236
236
|
* used as the thickness of a border or division between two elements.
|