react-native-windows 0.0.0-canary.783 → 0.0.0-canary.785
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/Libraries/Components/Pressable/Pressable.windows.js +1 -0
- package/Libraries/Core/ReactNativeVersion.js +9 -2
- package/Libraries/Core/ReactNativeVersionCheck.js +5 -3
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -0
- package/Libraries/Pressability/Pressability.windows.js +3 -2
- package/Libraries/ReactNative/BridgelessUIManager.js +55 -3
- package/Libraries/ReactNative/FabricUIManager.js +6 -0
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +1 -1
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +9 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +0 -2
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +5 -1
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +2 -4
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorParser.h +11 -3
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +54 -46
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +8 -0
- package/Microsoft.ReactNative/packages.lock.json +42 -70
- package/Microsoft.ReactNative.Managed/packages.lock.json +5 -72
- package/PropertySheets/Generated/PackageVersion.g.props +2 -2
- package/Shared/DevSettings.h +6 -0
- package/Shared/JSI/JSExecutorFactoryDelegate.h +12 -0
- package/Shared/JSI/JSExecutorFactorySettings.cpp +30 -0
- package/Shared/JSI/JSExecutorFactorySettings.h +21 -0
- package/Shared/OInstance.cpp +2 -0
- package/Shared/Shared.vcxitems +5 -0
- package/Shared/Shared.vcxitems.filters +12 -1
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +52 -0
- package/codegen/NativeUIManagerSpec.g.h +3 -3
- package/codegen/rnwcoreJSI-generated.cpp +30 -1
- package/codegen/rnwcoreJSI.h +76 -3
- package/package.json +20 -20
- package/src/private/featureflags/NativeReactNativeFeatureFlags.js +36 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +68 -0
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +80 -0
- package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +78 -0
- package/src/private/specs/modules/NativeUIManager.js +1 -1
- package/Libraries/Performance/QuickPerformanceLogger.js +0 -155
- package/ReactCommon/Yoga.cpp +0 -900
|
@@ -324,6 +324,7 @@ function Pressable(props: Props, forwardedRef): React.Node {
|
|
|
324
324
|
accessibilityLiveRegion,
|
|
325
325
|
accessibilityLabel,
|
|
326
326
|
accessibilityState: _accessibilityState,
|
|
327
|
+
disabled: disabled == true,
|
|
327
328
|
focusable: focusable !== false,
|
|
328
329
|
accessibilityValue,
|
|
329
330
|
hitSlop,
|
|
@@ -9,9 +9,16 @@
|
|
|
9
9
|
* @flow strict
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
const version: $ReadOnly<{
|
|
13
|
+
major: number,
|
|
14
|
+
minor: number,
|
|
15
|
+
patch: number,
|
|
16
|
+
prerelease: string | null,
|
|
17
|
+
}> = {
|
|
13
18
|
major: 0,
|
|
14
19
|
minor: 74,
|
|
15
20
|
patch: 0,
|
|
16
|
-
prerelease: 'nightly-
|
|
21
|
+
prerelease: 'nightly-20240129-39cb02f6f',
|
|
17
22
|
};
|
|
23
|
+
|
|
24
|
+
module.exports = {version};
|
|
@@ -21,7 +21,7 @@ const ReactNativeVersion = require('./ReactNativeVersion');
|
|
|
21
21
|
* implementations for other platforms (ex: Windows) may override this module
|
|
22
22
|
* and rely on its existence as a separate module.
|
|
23
23
|
*/
|
|
24
|
-
|
|
24
|
+
const checkVersions = function checkVersions(): void {
|
|
25
25
|
const nativeVersion = Platform.constants.reactNativeVersion;
|
|
26
26
|
if (
|
|
27
27
|
ReactNativeVersion.version.major !== nativeVersion.major ||
|
|
@@ -29,12 +29,12 @@ exports.checkVersions = function checkVersions(): void {
|
|
|
29
29
|
) {
|
|
30
30
|
console.error(
|
|
31
31
|
`React Native version mismatch.\n\nJavaScript version: ${_formatVersion(
|
|
32
|
-
ReactNativeVersion.version,
|
|
32
|
+
(ReactNativeVersion.version: $FlowFixMe),
|
|
33
33
|
)}\n` +
|
|
34
34
|
`Native version: ${_formatVersion(nativeVersion)}\n\n` +
|
|
35
35
|
'Make sure that you have rebuilt the native code. If the problem ' +
|
|
36
36
|
'persists try clearing the Watchman and packager caches with ' +
|
|
37
|
-
'`watchman watch-del-all && react-native start --reset-cache`.',
|
|
37
|
+
'`watchman watch-del-all && npx react-native start --reset-cache`.',
|
|
38
38
|
);
|
|
39
39
|
}
|
|
40
40
|
};
|
|
@@ -48,3 +48,5 @@ function _formatVersion(
|
|
|
48
48
|
(version.prerelease != undefined ? `-${version.prerelease}` : '')
|
|
49
49
|
);
|
|
50
50
|
}
|
|
51
|
+
|
|
52
|
+
module.exports = {checkVersions};
|
|
@@ -652,14 +652,15 @@ export default class Pressability {
|
|
|
652
652
|
this._isKeyDown = false;
|
|
653
653
|
},
|
|
654
654
|
onKeyDown: (event: KeyEvent): void => {
|
|
655
|
-
const {onKeyDown} = this._config;
|
|
655
|
+
const {onKeyDown, disabled} = this._config;
|
|
656
656
|
onKeyDown && onKeyDown(event);
|
|
657
657
|
|
|
658
658
|
if (
|
|
659
659
|
(event.nativeEvent.code === 'Space' ||
|
|
660
660
|
event.nativeEvent.code === 'Enter' ||
|
|
661
661
|
event.nativeEvent.code === 'GamepadA') &&
|
|
662
|
-
event.defaultPrevented !== true
|
|
662
|
+
event.defaultPrevented !== true &&
|
|
663
|
+
disabled !== true
|
|
663
664
|
) {
|
|
664
665
|
const {onPressIn} = this._config;
|
|
665
666
|
this._isKeyDown = true;
|
|
@@ -41,7 +41,7 @@ const getUIManagerConstantsCached = (function () {
|
|
|
41
41
|
};
|
|
42
42
|
})();
|
|
43
43
|
|
|
44
|
-
const getConstantsForViewManager: ?(viewManagerName: string) => Object =
|
|
44
|
+
const getConstantsForViewManager: ?(viewManagerName: string) => ?Object =
|
|
45
45
|
global.RN$LegacyInterop_UIManager_getConstantsForViewManager;
|
|
46
46
|
|
|
47
47
|
const getDefaultEventTypes: ?() => Object =
|
|
@@ -157,7 +157,7 @@ const UIManagerJSUnusedAPIs = {
|
|
|
157
157
|
|
|
158
158
|
const UIManagerJSPlatformAPIs = Platform.select({
|
|
159
159
|
android: {
|
|
160
|
-
getConstantsForViewManager: (viewManagerName: string): Object => {
|
|
160
|
+
getConstantsForViewManager: (viewManagerName: string): ?Object => {
|
|
161
161
|
if (getConstantsForViewManager) {
|
|
162
162
|
return getConstantsForViewManager(viewManagerName);
|
|
163
163
|
}
|
|
@@ -245,6 +245,11 @@ const UIManagerJSPlatformAPIs = Platform.select({
|
|
|
245
245
|
},
|
|
246
246
|
},
|
|
247
247
|
ios: {
|
|
248
|
+
/**
|
|
249
|
+
* TODO(T174674274): Implement lazy loading of legacy view managers in the new architecture.
|
|
250
|
+
*
|
|
251
|
+
* Leave this unimplemented until we implement lazy loading of legacy modules and view managers in the new architecture.
|
|
252
|
+
*/
|
|
248
253
|
lazilyLoadView: (name: string): Object => {
|
|
249
254
|
raiseSoftError('lazilyLoadView');
|
|
250
255
|
return {};
|
|
@@ -331,7 +336,54 @@ const UIManagerJS: UIManagerJSInterface & {[string]: any} = {
|
|
|
331
336
|
height: number,
|
|
332
337
|
) => void,
|
|
333
338
|
): void => {
|
|
334
|
-
|
|
339
|
+
if (reactTag == null) {
|
|
340
|
+
console.error(
|
|
341
|
+
`findSubviewIn() noop: Cannot be called with ${String(
|
|
342
|
+
reactTag,
|
|
343
|
+
)} reactTag`,
|
|
344
|
+
);
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
const FabricUIManager = nullthrows(getFabricUIManager());
|
|
349
|
+
const shadowNode = FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);
|
|
350
|
+
|
|
351
|
+
if (!shadowNode) {
|
|
352
|
+
console.error(
|
|
353
|
+
`findSubviewIn() noop: Cannot find view with reactTag ${reactTag}`,
|
|
354
|
+
);
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
FabricUIManager.findNodeAtPoint(
|
|
359
|
+
shadowNode,
|
|
360
|
+
point[0],
|
|
361
|
+
point[1],
|
|
362
|
+
function (internalInstanceHandle) {
|
|
363
|
+
if (internalInstanceHandle == null) {
|
|
364
|
+
console.error('findSubviewIn(): Cannot find node at point');
|
|
365
|
+
return;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
let instanceHandle: Object = internalInstanceHandle;
|
|
369
|
+
let node = instanceHandle.stateNode.node;
|
|
370
|
+
|
|
371
|
+
if (!node) {
|
|
372
|
+
console.error('findSubviewIn(): Cannot find node at point');
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
let nativeViewTag = (instanceHandle.stateNode.canonical
|
|
377
|
+
.nativeTag: number);
|
|
378
|
+
|
|
379
|
+
FabricUIManager.measure(
|
|
380
|
+
node,
|
|
381
|
+
function (x, y, width, height, pageX, pageY) {
|
|
382
|
+
callback(nativeViewTag, pageX, pageY, width, height);
|
|
383
|
+
},
|
|
384
|
+
);
|
|
385
|
+
},
|
|
386
|
+
);
|
|
335
387
|
},
|
|
336
388
|
viewIsDescendantOf: (
|
|
337
389
|
reactTag: ?number,
|
|
@@ -64,6 +64,12 @@ export interface Spec {
|
|
|
64
64
|
commandName: string,
|
|
65
65
|
args: Array<mixed>,
|
|
66
66
|
) => void;
|
|
67
|
+
+findNodeAtPoint: (
|
|
68
|
+
node: Node,
|
|
69
|
+
locationX: number,
|
|
70
|
+
locationY: number,
|
|
71
|
+
callback: (instanceHandle: ?InternalInstanceHandle) => void,
|
|
72
|
+
) => void;
|
|
67
73
|
|
|
68
74
|
/**
|
|
69
75
|
* Support methods for the DOM-compatible APIs.
|
|
@@ -58,7 +58,7 @@ const ReactNativeFeatureFlags: FeatureFlags = {
|
|
|
58
58
|
animatedShouldUseSingleOp: () => false,
|
|
59
59
|
enableAccessToHostTreeInFabric: () => false,
|
|
60
60
|
shouldUseAnimatedObjectForTransform: () => false,
|
|
61
|
-
shouldUseSetNativePropsInFabric: () =>
|
|
61
|
+
shouldUseSetNativePropsInFabric: () => true,
|
|
62
62
|
};
|
|
63
63
|
|
|
64
64
|
module.exports = ReactNativeFeatureFlags;
|
|
@@ -292,6 +292,15 @@ const FabricUIManagerMock: IFabricUIManagerMock = {
|
|
|
292
292
|
|
|
293
293
|
findShadowNodeByTag_DEPRECATED: jest.fn((reactTag: number): ?Node => {}),
|
|
294
294
|
|
|
295
|
+
findNodeAtPoint: jest.fn(
|
|
296
|
+
(
|
|
297
|
+
node: Node,
|
|
298
|
+
locationX: number,
|
|
299
|
+
locationY: number,
|
|
300
|
+
callback: (instanceHandle: ?InternalInstanceHandle) => void,
|
|
301
|
+
): void => {},
|
|
302
|
+
),
|
|
303
|
+
|
|
295
304
|
getBoundingClientRect: jest.fn(
|
|
296
305
|
(
|
|
297
306
|
node: Node,
|
|
@@ -357,8 +357,6 @@ void CompositionRootView::UninitRootView() noexcept {
|
|
|
357
357
|
winrt::Microsoft::ReactNative::ReactPropertyBag(m_context.Properties()));
|
|
358
358
|
uiManager->stopSurface(static_cast<facebook::react::SurfaceId>(GetTag()));
|
|
359
359
|
|
|
360
|
-
m_context.CallJSFunction(L"ReactFabric", L"unmountComponentAtNode", GetTag());
|
|
361
|
-
|
|
362
360
|
// This is needed to ensure that the unmount JS logic is completed before the the instance is shutdown during
|
|
363
361
|
// instance destruction. Aligns with similar code in ReactInstanceWin::DetachRootView for paper Future: Instead this
|
|
364
362
|
// method should return a Promise, which should be resolved when the JS logic is complete.
|
|
@@ -9,7 +9,11 @@
|
|
|
9
9
|
namespace facebook::react::HostPlatformViewTraitsInitializer {
|
|
10
10
|
|
|
11
11
|
inline bool formsStackingContext(ViewProps const &viewProps) {
|
|
12
|
-
|
|
12
|
+
// onFocus/onBlur are often just used for listening to bubbled events.
|
|
13
|
+
// Only Views which are marked as focusable can actually trigger the events, which will already avoid being collapsed.
|
|
14
|
+
constexpr decltype(WindowsViewEvents::bits) focusEventsMask = {
|
|
15
|
+
(1 << (int)WindowsViewEvents::Offset::Focus) & (1 << (int)WindowsViewEvents::Offset::Blur)};
|
|
16
|
+
return (viewProps.windowsEvents.bits & focusEventsMask).any();
|
|
13
17
|
}
|
|
14
18
|
|
|
15
19
|
inline bool formsView(ViewProps const &viewProps) {
|
package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h
CHANGED
|
@@ -10,8 +10,7 @@
|
|
|
10
10
|
#include <cmath>
|
|
11
11
|
#include <optional>
|
|
12
12
|
|
|
13
|
-
namespace facebook {
|
|
14
|
-
namespace react {
|
|
13
|
+
namespace facebook::react {
|
|
15
14
|
|
|
16
15
|
struct WindowsViewEvents {
|
|
17
16
|
std::bitset<32> bits{};
|
|
@@ -71,5 +70,4 @@ static inline WindowsViewEvents convertRawProp(
|
|
|
71
70
|
return result;
|
|
72
71
|
}
|
|
73
72
|
|
|
74
|
-
} // namespace react
|
|
75
|
-
} // namespace facebook
|
|
73
|
+
} // namespace facebook::react
|
|
@@ -3,15 +3,18 @@
|
|
|
3
3
|
|
|
4
4
|
#pragma once
|
|
5
5
|
|
|
6
|
-
#include <react/
|
|
7
|
-
#include <react/renderer/core/
|
|
6
|
+
#include <react/debug/react_native_expect.h>
|
|
7
|
+
#include <react/renderer/core/RawValue.h>
|
|
8
8
|
#include <react/renderer/graphics/Color.h>
|
|
9
|
+
#include <react/renderer/graphics/fromRawValueShared.h>
|
|
10
|
+
#include <react/utils/ContextContainer.h>
|
|
9
11
|
#include <unordered_map>
|
|
10
12
|
#include <vector>
|
|
11
13
|
|
|
12
14
|
namespace facebook::react {
|
|
13
15
|
|
|
14
|
-
inline SharedColor
|
|
16
|
+
inline SharedColor
|
|
17
|
+
parsePlatformColor(const ContextContainer &contextContainer, int32_t surfaceId, const RawValue &value) {
|
|
15
18
|
if (value.hasType<std::unordered_map<std::string, std::string>>()) {
|
|
16
19
|
auto map = (std::unordered_map<std::string, std::vector<std::string>>)value;
|
|
17
20
|
if (map.find("windowsbrush") != map.end()) {
|
|
@@ -27,4 +30,9 @@ inline SharedColor parsePlatformColor(const PropsParserContext &context, const R
|
|
|
27
30
|
return {HostPlatformColor::UndefinedColor};
|
|
28
31
|
}
|
|
29
32
|
|
|
33
|
+
inline void
|
|
34
|
+
fromRawValue(const ContextContainer &contextContainer, int32_t surfaceId, const RawValue &value, SharedColor &result) {
|
|
35
|
+
fromRawValueShared(contextContainer, surfaceId, value, result, parsePlatformColor);
|
|
36
|
+
}
|
|
37
|
+
|
|
30
38
|
} // namespace facebook::react
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
#include "IReactContext.h"
|
|
34
34
|
#include "IReactDispatcher.h"
|
|
35
35
|
#include "IReactNotificationService.h"
|
|
36
|
+
#include "JSI/JSExecutorFactorySettings.h"
|
|
36
37
|
#include "JsiApi.h"
|
|
37
38
|
#include "Modules/DevSettingsModule.h"
|
|
38
39
|
#include "Modules/ExceptionsManager.h"
|
|
@@ -732,62 +733,71 @@ void ReactInstanceWin::InitializeWithBridge() noexcept {
|
|
|
732
733
|
std::unique_ptr<facebook::jsi::ScriptStore> scriptStore = nullptr;
|
|
733
734
|
std::unique_ptr<facebook::jsi::PreparedScriptStore> preparedScriptStore = nullptr;
|
|
734
735
|
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
Microsoft::ReactNative::HermesRuntimeHolder::storeTo(
|
|
742
|
-
ReactPropertyBag(m_reactContext->Properties()), hermesRuntimeHolder);
|
|
743
|
-
devSettings->jsiRuntimeHolder = hermesRuntimeHolder;
|
|
744
|
-
break;
|
|
736
|
+
if (const auto jsExecutorFactoryDelegate =
|
|
737
|
+
Microsoft::JSI::JSExecutorFactorySettings::GetJSExecutorFactoryDelegate(
|
|
738
|
+
winrt::Microsoft::ReactNative::ReactPropertyBag(strongThis->Options().Properties))) {
|
|
739
|
+
devSettings->jsExecutorFactoryDelegate = jsExecutorFactoryDelegate;
|
|
740
|
+
if (m_options.JsiEngine() == JSIEngine::Hermes) {
|
|
741
|
+
devSettings->jsiEngineOverride = facebook::react::JSIEngineOverride::Hermes;
|
|
745
742
|
}
|
|
746
|
-
|
|
743
|
+
} else {
|
|
744
|
+
switch (m_options.JsiEngine()) {
|
|
745
|
+
case JSIEngine::Hermes: {
|
|
746
|
+
preparedScriptStore = CreateHermesPreparedScriptStore();
|
|
747
|
+
|
|
748
|
+
auto hermesRuntimeHolder = std::make_shared<Microsoft::ReactNative::HermesRuntimeHolder>(
|
|
749
|
+
devSettings, m_jsMessageThread.Load(), std::move(preparedScriptStore));
|
|
750
|
+
Microsoft::ReactNative::HermesRuntimeHolder::storeTo(
|
|
751
|
+
ReactPropertyBag(m_reactContext->Properties()), hermesRuntimeHolder);
|
|
752
|
+
devSettings->jsiRuntimeHolder = hermesRuntimeHolder;
|
|
753
|
+
break;
|
|
754
|
+
}
|
|
755
|
+
case JSIEngine::V8:
|
|
747
756
|
#if defined(USE_V8)
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
preparedScriptStore =
|
|
751
|
-
std::make_unique<facebook::react::BasePreparedScriptStoreImpl>(getApplicationTempFolder());
|
|
752
|
-
} else {
|
|
753
|
-
wchar_t tempPath[MAX_PATH];
|
|
754
|
-
if (GetTempPathW(static_cast<DWORD>(std::size(tempPath)), tempPath)) {
|
|
757
|
+
{
|
|
758
|
+
if (Microsoft::ReactNative::HasPackageIdentity()) {
|
|
755
759
|
preparedScriptStore =
|
|
756
|
-
std::make_unique<facebook::react::BasePreparedScriptStoreImpl>(
|
|
760
|
+
std::make_unique<facebook::react::BasePreparedScriptStoreImpl>(getApplicationTempFolder());
|
|
761
|
+
} else {
|
|
762
|
+
wchar_t tempPath[MAX_PATH];
|
|
763
|
+
if (GetTempPathW(static_cast<DWORD>(std::size(tempPath)), tempPath)) {
|
|
764
|
+
preparedScriptStore =
|
|
765
|
+
std::make_unique<facebook::react::BasePreparedScriptStoreImpl>(winrt::to_string(tempPath));
|
|
766
|
+
}
|
|
757
767
|
}
|
|
758
|
-
}
|
|
759
768
|
|
|
760
|
-
|
|
769
|
+
bool enableMultiThreadSupport{false};
|
|
761
770
|
#ifdef USE_FABRIC
|
|
762
|
-
|
|
771
|
+
enableMultiThreadSupport = Microsoft::ReactNative::IsFabricEnabled(m_reactContext->Properties());
|
|
763
772
|
#endif // USE_FABRIC
|
|
764
773
|
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
774
|
+
if (m_options.JsiEngineV8NodeApi()) {
|
|
775
|
+
devSettings->jsiRuntimeHolder = std::make_shared<Microsoft::ReactNative::V8RuntimeHolder>(
|
|
776
|
+
devSettings, m_jsMessageThread.Load(), std::move(preparedScriptStore), enableMultiThreadSupport);
|
|
777
|
+
} else {
|
|
778
|
+
devSettings->jsiRuntimeHolder = std::make_shared<facebook::react::V8JSIRuntimeHolder>(
|
|
779
|
+
devSettings,
|
|
780
|
+
m_jsMessageThread.Load(),
|
|
781
|
+
std::move(scriptStore),
|
|
782
|
+
std::move(preparedScriptStore),
|
|
783
|
+
enableMultiThreadSupport);
|
|
784
|
+
}
|
|
776
785
|
|
|
777
|
-
|
|
778
|
-
|
|
786
|
+
break;
|
|
787
|
+
}
|
|
779
788
|
#endif // USE_V8
|
|
780
|
-
|
|
789
|
+
case JSIEngine::Chakra:
|
|
781
790
|
#ifndef CORE_ABI
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
791
|
+
if (m_options.EnableByteCodeCaching || !m_options.ByteCodeFileUri.empty()) {
|
|
792
|
+
scriptStore = std::make_unique<Microsoft::ReactNative::UwpScriptStore>();
|
|
793
|
+
preparedScriptStore = std::make_unique<Microsoft::ReactNative::UwpPreparedScriptStore>(
|
|
794
|
+
winrt::to_hstring(m_options.ByteCodeFileUri));
|
|
795
|
+
}
|
|
787
796
|
#endif
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
797
|
+
devSettings->jsiRuntimeHolder = std::make_shared<Microsoft::JSI::ChakraRuntimeHolder>(
|
|
798
|
+
devSettings, m_jsMessageThread.Load(), std::move(scriptStore), std::move(preparedScriptStore));
|
|
799
|
+
break;
|
|
800
|
+
}
|
|
791
801
|
}
|
|
792
802
|
|
|
793
803
|
m_jsiRuntimeHolder = devSettings->jsiRuntimeHolder;
|
|
@@ -1406,8 +1416,6 @@ void ReactInstanceWin::DetachRootView(facebook::react::IReactRootView *rootView,
|
|
|
1406
1416
|
auto uiManager = ::Microsoft::ReactNative::FabricUIManager::FromProperties(
|
|
1407
1417
|
winrt::Microsoft::ReactNative::ReactPropertyBag(m_reactContext->Properties()));
|
|
1408
1418
|
uiManager->stopSurface(static_cast<facebook::react::SurfaceId>(rootTag));
|
|
1409
|
-
|
|
1410
|
-
CallJsFunction("ReactFabric", "unmountComponentAtNode", std::move(params));
|
|
1411
1419
|
} else
|
|
1412
1420
|
#endif
|
|
1413
1421
|
{
|
|
@@ -141,6 +141,14 @@ void ViewManagerBase::GetNativeProps(const winrt::Microsoft::ReactNative::IJSVal
|
|
|
141
141
|
React::WriteProperty(writer, L"onGotPointerCapture", L"function");
|
|
142
142
|
React::WriteProperty(writer, L"onLostPointerCapture", L"function");
|
|
143
143
|
React::WriteProperty(writer, L"onClick", L"function");
|
|
144
|
+
|
|
145
|
+
// Windows specific events
|
|
146
|
+
React::WriteProperty(writer, L"onFocus", L"function");
|
|
147
|
+
React::WriteProperty(writer, L"onBlur", L"function");
|
|
148
|
+
React::WriteProperty(writer, L"onKeyUp", L"function");
|
|
149
|
+
React::WriteProperty(writer, L"onKeyDown", L"function");
|
|
150
|
+
React::WriteProperty(writer, L"onMouseEnter", L"function");
|
|
151
|
+
React::WriteProperty(writer, L"onMouseLeave", L"function");
|
|
144
152
|
}
|
|
145
153
|
|
|
146
154
|
void ViewManagerBase::GetConstants(const winrt::Microsoft::ReactNative::IJSValueWriter &writer) const {
|
|
@@ -24,21 +24,21 @@
|
|
|
24
24
|
"Microsoft.SourceLink.Common": "1.1.1"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
|
+
"Microsoft.UI.Xaml": {
|
|
28
|
+
"type": "Direct",
|
|
29
|
+
"requested": "[2.8.0, )",
|
|
30
|
+
"resolved": "2.8.0",
|
|
31
|
+
"contentHash": "vxdHxTr63s5KVtNddMFpgvjBjUH50z7seq/5jLWmmSuf8poxg+sXrywkofUdE8ZstbpO9y3FL/IXXUcPYbeesA==",
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"Microsoft.Web.WebView2": "1.0.1264.42"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
27
36
|
"Microsoft.Windows.CppWinRT": {
|
|
28
37
|
"type": "Direct",
|
|
29
38
|
"requested": "[2.0.211028.7, )",
|
|
30
39
|
"resolved": "2.0.211028.7",
|
|
31
40
|
"contentHash": "JBGI0c3WLoU6aYJRy9Qo0MLDQfObEp+d4nrhR95iyzf7+HOgjRunHDp/6eGFREd7xq3OI1mll9ecJrMfzBvlyg=="
|
|
32
41
|
},
|
|
33
|
-
"Microsoft.WindowsAppSDK": {
|
|
34
|
-
"type": "Direct",
|
|
35
|
-
"requested": "[1.4.240211001, )",
|
|
36
|
-
"resolved": "1.4.240211001",
|
|
37
|
-
"contentHash": "43PdPLNSbBfugbQ7fd5imnZPpg7TGNirCe1/f3KLLYCg1NgDJeTh7t2ihLPuIdmD7rf6mTaUtRXUJYw0HBOzFQ==",
|
|
38
|
-
"dependencies": {
|
|
39
|
-
"Microsoft.Windows.SDK.BuildTools": "10.0.22621.1"
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
42
|
"Microsoft.Build.Tasks.Git": {
|
|
43
43
|
"type": "Transitive",
|
|
44
44
|
"resolved": "1.1.1",
|
|
@@ -49,10 +49,10 @@
|
|
|
49
49
|
"resolved": "1.1.1",
|
|
50
50
|
"contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg=="
|
|
51
51
|
},
|
|
52
|
-
"Microsoft.
|
|
52
|
+
"Microsoft.Web.WebView2": {
|
|
53
53
|
"type": "Transitive",
|
|
54
|
-
"resolved": "
|
|
55
|
-
"contentHash": "
|
|
54
|
+
"resolved": "1.0.1264.42",
|
|
55
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
56
56
|
},
|
|
57
57
|
"common": {
|
|
58
58
|
"type": "Project",
|
|
@@ -66,8 +66,8 @@
|
|
|
66
66
|
"folly": {
|
|
67
67
|
"type": "Project",
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"
|
|
70
|
-
"
|
|
69
|
+
"Fmt": "[1.0.0, )",
|
|
70
|
+
"boost": "[1.76.0, )"
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
73
|
"reactcommon": {
|
|
@@ -79,80 +79,52 @@
|
|
|
79
79
|
}
|
|
80
80
|
},
|
|
81
81
|
"native,Version=v0.0/win10-arm": {
|
|
82
|
-
"Microsoft.
|
|
83
|
-
"type": "
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"contentHash": "43PdPLNSbBfugbQ7fd5imnZPpg7TGNirCe1/f3KLLYCg1NgDJeTh7t2ihLPuIdmD7rf6mTaUtRXUJYw0HBOzFQ==",
|
|
87
|
-
"dependencies": {
|
|
88
|
-
"Microsoft.Windows.SDK.BuildTools": "10.0.22621.1"
|
|
89
|
-
}
|
|
82
|
+
"Microsoft.Web.WebView2": {
|
|
83
|
+
"type": "Transitive",
|
|
84
|
+
"resolved": "1.0.1264.42",
|
|
85
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
90
86
|
}
|
|
91
87
|
},
|
|
92
88
|
"native,Version=v0.0/win10-arm-aot": {
|
|
93
|
-
"Microsoft.
|
|
94
|
-
"type": "
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"contentHash": "43PdPLNSbBfugbQ7fd5imnZPpg7TGNirCe1/f3KLLYCg1NgDJeTh7t2ihLPuIdmD7rf6mTaUtRXUJYw0HBOzFQ==",
|
|
98
|
-
"dependencies": {
|
|
99
|
-
"Microsoft.Windows.SDK.BuildTools": "10.0.22621.1"
|
|
100
|
-
}
|
|
89
|
+
"Microsoft.Web.WebView2": {
|
|
90
|
+
"type": "Transitive",
|
|
91
|
+
"resolved": "1.0.1264.42",
|
|
92
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
101
93
|
}
|
|
102
94
|
},
|
|
103
95
|
"native,Version=v0.0/win10-arm64-aot": {
|
|
104
|
-
"Microsoft.
|
|
105
|
-
"type": "
|
|
106
|
-
"
|
|
107
|
-
"
|
|
108
|
-
"contentHash": "43PdPLNSbBfugbQ7fd5imnZPpg7TGNirCe1/f3KLLYCg1NgDJeTh7t2ihLPuIdmD7rf6mTaUtRXUJYw0HBOzFQ==",
|
|
109
|
-
"dependencies": {
|
|
110
|
-
"Microsoft.Windows.SDK.BuildTools": "10.0.22621.1"
|
|
111
|
-
}
|
|
96
|
+
"Microsoft.Web.WebView2": {
|
|
97
|
+
"type": "Transitive",
|
|
98
|
+
"resolved": "1.0.1264.42",
|
|
99
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
112
100
|
}
|
|
113
101
|
},
|
|
114
102
|
"native,Version=v0.0/win10-x64": {
|
|
115
|
-
"Microsoft.
|
|
116
|
-
"type": "
|
|
117
|
-
"
|
|
118
|
-
"
|
|
119
|
-
"contentHash": "43PdPLNSbBfugbQ7fd5imnZPpg7TGNirCe1/f3KLLYCg1NgDJeTh7t2ihLPuIdmD7rf6mTaUtRXUJYw0HBOzFQ==",
|
|
120
|
-
"dependencies": {
|
|
121
|
-
"Microsoft.Windows.SDK.BuildTools": "10.0.22621.1"
|
|
122
|
-
}
|
|
103
|
+
"Microsoft.Web.WebView2": {
|
|
104
|
+
"type": "Transitive",
|
|
105
|
+
"resolved": "1.0.1264.42",
|
|
106
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
123
107
|
}
|
|
124
108
|
},
|
|
125
109
|
"native,Version=v0.0/win10-x64-aot": {
|
|
126
|
-
"Microsoft.
|
|
127
|
-
"type": "
|
|
128
|
-
"
|
|
129
|
-
"
|
|
130
|
-
"contentHash": "43PdPLNSbBfugbQ7fd5imnZPpg7TGNirCe1/f3KLLYCg1NgDJeTh7t2ihLPuIdmD7rf6mTaUtRXUJYw0HBOzFQ==",
|
|
131
|
-
"dependencies": {
|
|
132
|
-
"Microsoft.Windows.SDK.BuildTools": "10.0.22621.1"
|
|
133
|
-
}
|
|
110
|
+
"Microsoft.Web.WebView2": {
|
|
111
|
+
"type": "Transitive",
|
|
112
|
+
"resolved": "1.0.1264.42",
|
|
113
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
134
114
|
}
|
|
135
115
|
},
|
|
136
116
|
"native,Version=v0.0/win10-x86": {
|
|
137
|
-
"Microsoft.
|
|
138
|
-
"type": "
|
|
139
|
-
"
|
|
140
|
-
"
|
|
141
|
-
"contentHash": "43PdPLNSbBfugbQ7fd5imnZPpg7TGNirCe1/f3KLLYCg1NgDJeTh7t2ihLPuIdmD7rf6mTaUtRXUJYw0HBOzFQ==",
|
|
142
|
-
"dependencies": {
|
|
143
|
-
"Microsoft.Windows.SDK.BuildTools": "10.0.22621.1"
|
|
144
|
-
}
|
|
117
|
+
"Microsoft.Web.WebView2": {
|
|
118
|
+
"type": "Transitive",
|
|
119
|
+
"resolved": "1.0.1264.42",
|
|
120
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
145
121
|
}
|
|
146
122
|
},
|
|
147
123
|
"native,Version=v0.0/win10-x86-aot": {
|
|
148
|
-
"Microsoft.
|
|
149
|
-
"type": "
|
|
150
|
-
"
|
|
151
|
-
"
|
|
152
|
-
"contentHash": "43PdPLNSbBfugbQ7fd5imnZPpg7TGNirCe1/f3KLLYCg1NgDJeTh7t2ihLPuIdmD7rf6mTaUtRXUJYw0HBOzFQ==",
|
|
153
|
-
"dependencies": {
|
|
154
|
-
"Microsoft.Windows.SDK.BuildTools": "10.0.22621.1"
|
|
155
|
-
}
|
|
124
|
+
"Microsoft.Web.WebView2": {
|
|
125
|
+
"type": "Transitive",
|
|
126
|
+
"resolved": "1.0.1264.42",
|
|
127
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
156
128
|
}
|
|
157
129
|
}
|
|
158
130
|
}
|