first commit

This commit is contained in:
2026-03-10 16:18:05 +00:00
commit 11f9c069b5
31635 changed files with 3187747 additions and 0 deletions

28
node_modules/react-native-screens/windows/README.md generated vendored Normal file
View File

@@ -0,0 +1,28 @@
# react-native-screens Windows Implementation
## Module Installation
You can either use autolinking on react-native-windows 0.63 and later or manually link the module on earlier releases.
## Automatic install with autolinking on RNW >= 0.63
RNScreens supports autolinking. Just call: `npm i react-native-screens --save`
## Manual installation on RNW >= 0.62
1. `npm install react-native-screens --save`
2. Open your solution in Visual Studio 2019 (eg. `windows\yourapp.sln`)
3. Right-click Solution icon in Solution Explorer > Add > Existing Project...
4. Add `node_modules\react-native-screens\windows\RNScreens\RNScreens.vcxproj`
5. Right-click main application project > Add > Reference...
6. Select `RNScreens` in Solution Projects
7. In app `pch.h` add `#include "winrt/RNScreens.h"`
8. In `App.cpp` add `PackageProviders().Append(winrt::RNScreens::ReactPackageProvider());` before `InitializeComponent();`
## Module development
If you want to contribute to this module Windows implementation, first you must install the [Windows Development Dependencies](https://aka.ms/rnw-deps).
You must temporarily install the `react-native-windows` package. Versions of `react-native-windows` and `react-native` must match, e.g. if the module uses `react-native@0.62`, install `npm i react-native-windows@^0.62 --dev`.
Now, you will be able to open corresponding `RNScreens...sln` file, e.g. `RNScreens62.sln` for `react-native-windows@0.62`.

View File

@@ -0,0 +1,22 @@
#include "pch.h"
#include "ModalScreenViewManager.h"
#include "JSValueXaml.h"
#include "NativeModules.h"
namespace winrt {
using namespace Microsoft::ReactNative;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
} // namespace winrt
namespace winrt::RNScreens::implementation {
// IViewManager
winrt::hstring ModalScreenViewManager::Name() noexcept {
return L"RNSModalScreen";
}
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,13 @@
#pragma once
#include "NativeModules.h"
#include "winrt/Microsoft.ReactNative.h"
#include "ScreenViewManager.h"
namespace winrt::RNScreens::implementation {
class ModalScreenViewManager : public ScreenViewManager {
public:
ModalScreenViewManager() = default;
winrt::hstring Name() noexcept;
};
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<!--
To customize common C++/WinRT project properties:
* right-click the project node
* expand the Common Properties item
* select the C++/WinRT property page
For more advanced scenarios, and complete documentation, please see:
https://github.com/Microsoft/xlang/tree/master/src/package/cppwinrt/nuget
-->
<PropertyGroup />
<ItemDefinitionGroup />
</Project>

View File

@@ -0,0 +1,66 @@
#include "pch.h"
#include "RNScreens.h"
#include "JSValueXaml.h"
#include "RNScreensModule.g.cpp"
namespace winrt {
using namespace Microsoft::ReactNative;
using namespace Windows::Data::Json;
using namespace Windows::Foundation;
using namespace Windows::UI;
using namespace Windows::UI::Popups;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
using namespace Windows::UI::Xaml::Input;
using namespace Windows::UI::Xaml::Media;
} // namespace winrt
namespace winrt::RNScreens::implementation {
RNScreensModule::RNScreensModule(winrt::IReactContext const &reactContext)
: m_reactContext(reactContext) {}
winrt::Windows::Foundation::Collections::IMapView<
winrt::hstring,
winrt::Microsoft::ReactNative::ViewManagerPropertyType>
RNScreensModule::NativeProps() noexcept {
auto nativeProps =
winrt::single_threaded_map<hstring, ViewManagerPropertyType>();
return nativeProps.GetView();
}
void RNScreensModule::UpdateProperties(
winrt::Microsoft::ReactNative::IJSValueReader const
&propertyMapReader) noexcept {
const JSValueObject &propertyMap = JSValue::ReadObjectFrom(propertyMapReader);
for (auto const &pair : propertyMap) {
auto const &propertyName = pair.first;
auto const &propertyValue = pair.second;
(void)propertyName;
(void)propertyValue;
}
}
winrt::Microsoft::ReactNative::ConstantProviderDelegate
RNScreensModule::ExportedCustomBubblingEventTypeConstants() noexcept {
return nullptr;
}
winrt::Microsoft::ReactNative::ConstantProviderDelegate
RNScreensModule::ExportedCustomDirectEventTypeConstants() noexcept {
return nullptr;
}
winrt::Windows::Foundation::Collections::IVectorView<winrt::hstring>
RNScreensModule::Commands() noexcept {
return nullptr;
}
void RNScreensModule::DispatchCommand(
winrt::hstring const &commandId,
winrt::Microsoft::ReactNative::IJSValueReader const
&commandArgsReader) noexcept {
(void)commandId;
(void)commandArgsReader;
}
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,3 @@
EXPORTS
DllCanUnloadNow = WINRT_CanUnloadNow PRIVATE
DllGetActivationFactory = WINRT_GetActivationFactory PRIVATE

View File

@@ -0,0 +1,41 @@
#pragma once
#include "NativeModules.h"
#include "RNScreensModule.g.h"
#include "pch.h"
#include "winrt/Microsoft.ReactNative.h"
namespace winrt::RNScreens::implementation {
class RNScreensModule : public RNScreensModuleT<RNScreensModule> {
public:
RNScreensModule(Microsoft::ReactNative::IReactContext const &reactContext);
static winrt::Windows::Foundation::Collections::IMapView<
winrt::hstring,
winrt::Microsoft::ReactNative::ViewManagerPropertyType>
NativeProps() noexcept;
void UpdateProperties(winrt::Microsoft::ReactNative::IJSValueReader const
&propertyMapReader) noexcept;
static winrt::Microsoft::ReactNative::ConstantProviderDelegate
ExportedCustomBubblingEventTypeConstants() noexcept;
static winrt::Microsoft::ReactNative::ConstantProviderDelegate
ExportedCustomDirectEventTypeConstants() noexcept;
static winrt::Windows::Foundation::Collections::IVectorView<winrt::hstring>
Commands() noexcept;
void DispatchCommand(
winrt::hstring const &commandId,
winrt::Microsoft::ReactNative::IJSValueReader const
&commandArgsReader) noexcept;
private:
Microsoft::ReactNative::IReactContext m_reactContext{nullptr};
};
} // namespace winrt::RNScreens::implementation
namespace winrt::RNScreens::factory_implementation {
struct RNScreensModule
: RNScreensModuleT<RNScreensModule, implementation::RNScreensModule> {};
} // namespace winrt::RNScreens::factory_implementation

View File

@@ -0,0 +1,8 @@
namespace RNScreens {
[default_interface]
runtimeclass RNScreensModule : Windows.UI.Xaml.Controls.TextBox {
RNScreensModule(Microsoft.ReactNative.IReactContext context);
void UpdateProperties(Microsoft.ReactNative.IJSValueReader reader);
void DispatchCommand(String commandId, Microsoft.ReactNative.IJSValueReader commandArgsReader);
};
}

View File

@@ -0,0 +1,197 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(SolutionDir)\packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('$(SolutionDir)\packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.props')" />
<PropertyGroup Label="Globals">
<CppWinRTOptimized>true</CppWinRTOptimized>
<CppWinRTRootNamespaceAutoMerge>true</CppWinRTRootNamespaceAutoMerge>
<MinimalCoreWin>true</MinimalCoreWin>
<ProjectGuid>{d638f49e-29d2-4699-ac52-facd82fa7138}</ProjectGuid>
<ProjectName>RNScreens</ProjectName>
<RootNamespace>RNScreens</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>16.0</MinimumVisualStudioVersion>
<AppContainerApplication>true</AppContainerApplication>
<ApplicationType>Windows Store</ApplicationType>
<ApplicationTypeRevision>10.0</ApplicationTypeRevision>
</PropertyGroup>
<PropertyGroup Label="ReactNativeWindowsProps">
<ReactNativeWindowsDir Condition="'$(ReactNativeWindowsDir)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'node_modules\react-native-windows\package.json'))\node_modules\react-native-windows\</ReactNativeWindowsDir>
</PropertyGroup>
<Import Project="$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.WindowsSdk.Default.props" Condition="Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.WindowsSdk.Default.props')" />
<PropertyGroup Label="Fallback Windows SDK Versions">
<WindowsTargetPlatformVersion Condition=" '$(WindowsTargetPlatformVersion)' == '' ">10.0.18362.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion Condition=" '$(WindowsTargetPlatformMinVersion)' == '' ">10.0.17763.0</WindowsTargetPlatformMinVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets">
<Import Project="PropertySheet.props" />
</ImportGroup>
<ImportGroup Label="ReactNativeWindowsPropertySheets">
<Import Project="$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.props" Condition="Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.props')" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup>
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
<WarningLevel>Level4</WarningLevel>
<AdditionalOptions>%(AdditionalOptions) /bigobj</AdditionalOptions>
<!--Temporarily disable cppwinrt heap enforcement to work around xaml compiler generated std::shared_ptr use -->
<AdditionalOptions Condition="'$(CppWinRTHeapEnforcement)'==''">/DWINRT_NO_MAKE_DETECTION %(AdditionalOptions)</AdditionalOptions>
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
<PreprocessorDefinitions>_WINRT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateWindowsMetadata>true</GenerateWindowsMetadata>
<ModuleDefinitionFile>RNScreens.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="pch.h" />
<ClInclude Include="Screen.h" />
<ClInclude Include="ScreenContainer.h" />
<ClInclude Include="ScreenContainerViewManager.h" />
<ClInclude Include="ScreenStack.h" />
<ClInclude Include="ScreenStackHeaderConfigViewManager.h" />
<ClInclude Include="ScreenStackHeaderSubviewViewManager.h" />
<ClInclude Include="SearchBarViewManager.h" />
<ClInclude Include="ModalScreenViewManager.h" />
<ClInclude Include="ScreenViewManager.h" />
<ClInclude Include="RNScreens.h">
<DependentUpon>RNScreens.idl</DependentUpon>
</ClInclude>
<ClInclude Include="ReactPackageProvider.h">
<DependentUpon>ReactPackageProvider.idl</DependentUpon>
</ClInclude>
<ClCompile Include="RNScreens.cpp">
<DependentUpon>RNScreens.idl</DependentUpon>
</ClCompile>
<ClInclude Include="ScreenStackHeaderConfig.h" />
<ClInclude Include="ScreenStackHeaderSubview.h" />
<ClInclude Include="SearchBar.h" />
<ClInclude Include="ScreenStackViewManager.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="pch.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="Screen.cpp" />
<ClCompile Include="ScreenContainer.cpp" />
<ClCompile Include="ScreenContainerViewManager.cpp" />
<ClCompile Include="ScreenStack.cpp" />
<ClCompile Include="ScreenStackHeaderConfigViewManager.cpp" />
<ClCompile Include="ScreenStackHeaderSubviewViewManager.cpp" />
<ClCompile Include="SearchBarViewManager.cpp" />
<ClCompile Include="ModalScreenViewManager.cpp" />
<ClCompile Include="ScreenViewManager.cpp" />
<ClCompile Include="ReactPackageProvider.cpp">
<DependentUpon>ReactPackageProvider.idl</DependentUpon>
</ClCompile>
<ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
<ClCompile Include="ScreenStackHeaderConfig.cpp" />
<ClCompile Include="ScreenStackHeaderSubview.cpp" />
<ClCompile Include="SearchBar.cpp" />
<ClCompile Include="ScreenStackViewManager.cpp" />
</ItemGroup>
<ItemGroup>
<Midl Include="ReactPackageProvider.idl" />
<Midl Include="RNScreens.idl" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Include="RNScreens.def" />
</ItemGroup>
<ItemGroup>
<None Include="PropertySheet.props" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ReactNativeWindowsTargets">
<Import Project="$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.targets" Condition="Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.targets')" />
</ImportGroup>
<Target Name="EnsureReactNativeWindowsTargets" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references targets in your node_modules\react-native-windows folder. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.props')" Text="$([System.String]::Format('$(ErrorText)', '$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.props'))" />
<Error Condition="!Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.targets'))" />
</Target>
<ImportGroup Label="ExtensionTargets">
<Import Project="$(SolutionDir)\packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.targets" Condition="Exists('$(SolutionDir)\packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.targets')" />
</ImportGroup>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.props'))" />
<Error Condition="!Exists('$(SolutionDir)\packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.targets'))" />
</Target>
</Project>

View File

@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Resources">
<UniqueIdentifier>accd3aa8-1ba0-4223-9bbe-0c431709210b</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tga;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="Generated Files">
<UniqueIdentifier>{926ab91d-31b5-48c3-b9a4-e681349f27f0}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="pch.cpp" />
<ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
<ClCompile Include="ReactPackageProvider.cpp" />
<ClCompile Include="RNScreens.cpp" />
<ClCompile Include="RNScreens.cpp" />
<ClCompile Include="Screen.cpp" />
<ClCompile Include="ScreenStackHeaderConfigViewManager.cpp" />
<ClCompile Include="ScreenStackHeaderSubviewViewManager.cpp" />
<ClCompile Include="SearchBarViewManager.cpp" />
<ClCompile Include="ModalScreenViewManager.cpp" />
<ClCompile Include="ScreenViewManager.cpp" />
<ClCompile Include="ScreenStackHeaderConfig.cpp" />
<ClCompile Include="ScreenStackHeaderSubview.cpp" />
<ClCompile Include="SearchBar.cpp" />
<ClCompile Include="ScreenStackViewManager.cpp" />
<ClCompile Include="ScreenStack.cpp" />
<ClCompile Include="ScreenContainerViewManager.cpp" />
<ClCompile Include="ScreenContainer.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="pch.h" />
<ClInclude Include="ReactPackageProvider.h" />
<ClInclude Include="RNScreens.h" />
<ClInclude Include="RNScreens.h" />
<ClInclude Include="Screen.h" />
<ClInclude Include="ScreenStackHeaderConfigViewManager.h" />
<ClInclude Include="ScreenStackHeaderSubviewViewManager.h" />
<ClInclude Include="SearchBarViewManager.h" />
<ClInclude Include="ModalScreenViewManager.h" />
<ClInclude Include="ScreenViewManager.h" />
<ClInclude Include="ScreenStackHeaderConfig.h" />
<ClInclude Include="ScreenStackHeaderSubview.h" />
<ClInclude Include="SearchBar.h" />
<ClInclude Include="ScreenStackViewManager.h" />
<ClInclude Include="ScreenStack.h" />
<ClInclude Include="ScreenContainer.h" />
<ClInclude Include="ScreenContainerViewManager.h" />
</ItemGroup>
<ItemGroup>
<None Include="RNScreens.def" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<None Include="PropertySheet.props" />
</ItemGroup>
<ItemGroup>
<Midl Include="ReactPackageProvider.idl" />
<Midl Include="RNScreens.idl" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,48 @@
#include "pch.h"
#include "ReactPackageProvider.h"
#if __has_include("ReactPackageProvider.g.cpp")
#include "ReactPackageProvider.g.cpp"
#endif
#include "ScreenContainerViewManager.h"
#include "ScreenStackHeaderConfigViewManager.h"
#include "ScreenStackViewManager.h"
#include "ScreenViewManager.h"
#include "ScreenStackHeaderSubviewViewManager.h"
#include "ModalScreenViewManager.h"
#include "SearchBarViewManager.h"
using namespace winrt::Microsoft::ReactNative;
namespace winrt::RNScreens::implementation {
void ReactPackageProvider::CreatePackage(
IReactPackageBuilder const &packageBuilder) noexcept {
packageBuilder.AddViewManager(L"RNScreensViewManager", []() {
return winrt::make<ScreenViewManager>();
});
packageBuilder.AddViewManager(L"RNScreensStackHeaderConfigViewManager", []() {
return winrt::make<ScreenStackHeaderConfigViewManager>();
});
packageBuilder.AddViewManager(L"RNSScreenStackViewManager", []() {
return winrt::make<ScreenStackViewManager>();
});
packageBuilder.AddViewManager(L"RNSScreenContainerViewManager", []() {
return winrt::make<ScreenContainerViewManager>();
});
packageBuilder.AddViewManager(L"RNSScreenStackHeaderSubviewViewManager", [] () {
return winrt::make<ScreenStackHeaderSubviewViewManager>();
});
packageBuilder.AddViewManager(L"RNSModalScreenViewManager", [] () {
return winrt::make<ModalScreenViewManager>();
});
packageBuilder.AddViewManager(L"RNSSearchBar", [] () {
return winrt::make<SearchBarViewManager>();
});
}
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,17 @@
#pragma once
#include "ReactPackageProvider.g.h"
using namespace winrt::Microsoft::ReactNative;
namespace winrt::RNScreens::implementation {
struct ReactPackageProvider : ReactPackageProviderT<ReactPackageProvider> {
ReactPackageProvider() = default;
void CreatePackage(IReactPackageBuilder const &packageBuilder) noexcept;
};
} // namespace winrt::RNScreens::implementation
namespace winrt::RNScreens::factory_implementation {
struct ReactPackageProvider : ReactPackageProviderT<
ReactPackageProvider,
implementation::ReactPackageProvider> {};
} // namespace winrt::RNScreens::factory_implementation

View File

@@ -0,0 +1,9 @@
namespace RNScreens
{
[webhosthidden]
[default_interface]
runtimeclass ReactPackageProvider : Microsoft.ReactNative.IReactPackageProvider
{
ReactPackageProvider();
};
}

View File

@@ -0,0 +1,128 @@
#include "pch.h"
#include "Screen.h"
#include "JSValueXaml.h"
#include "NativeModules.h"
namespace winrt {
using namespace Microsoft::ReactNative;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
} // namespace winrt
namespace winrt::RNScreens::implementation {
Screen::Screen(winrt::Microsoft::ReactNative::IReactContext reactContext)
: m_reactContext(reactContext) {
onLoadingRevoker = Loading({this, &Screen::onLoading});
onLoadedRevoker = Loaded({this, &Screen::onLoaded});
onUnloadedRevoker = Unloaded({this, &Screen::onUnloaded});
}
Screen::~Screen() {
Loading(onLoadingRevoker);
Loaded(onLoadedRevoker);
Unloaded(onUnloadedRevoker);
}
void Screen::addView(winrt::Windows::UI::Xaml::UIElement element) {
Children().Append(element);
}
void Screen::removeAllChildren() {
Children().Clear();
}
void Screen::removeChildAt(int64_t index) {
Children().RemoveAt(static_cast<uint32_t>(index));
}
void Screen::replaceChild(
winrt::Windows::UI::Xaml::UIElement oldChild,
winrt::Windows::UI::Xaml::UIElement newChild) {
uint32_t index;
if (!Children().IndexOf(oldChild, index))
return;
Children().SetAt(index, newChild);
}
void Screen::onLoading(
winrt::Windows::UI::Xaml::FrameworkElement const &sender,
winrt::Windows::Foundation::IInspectable const &) {
auto screen = sender.try_as<Screen>();
if (!screen)
return;
screen->dispatchOnWillAppear();
}
void Screen::onLoaded(
winrt::Windows::Foundation::IInspectable const &sender,
winrt::Windows::UI::Xaml::RoutedEventArgs const &) {
auto screen = sender.try_as<Screen>();
if (!screen)
return;
screen->dispatchOnAppear();
}
void Screen::onUnloaded(
winrt::Windows::Foundation::IInspectable const &sender,
winrt::Windows::UI::Xaml::RoutedEventArgs const &) {
auto screen = sender.try_as<Screen>();
if (!screen)
return;
screen->dispatchOnWillDisappear();
screen->dispatchOnDisappear();
}
void Screen::dispatchOnWillAppear() {
m_reactContext.DispatchEvent(
*this,
L"topWillAppear",
[&](winrt::IJSValueWriter const &eventDataWriter) noexcept {
eventDataWriter.WriteObjectBegin();
eventDataWriter.WriteObjectEnd();
});
}
void Screen::dispatchOnWillDisappear() {
m_reactContext.DispatchEvent(
*this,
L"topWillDisappear",
[&](winrt::IJSValueWriter const &eventDataWriter) noexcept {
eventDataWriter.WriteObjectBegin();
eventDataWriter.WriteObjectEnd();
});
}
void Screen::dispatchOnAppear() {
m_reactContext.DispatchEvent(
*this,
L"topAppear",
[&](winrt::IJSValueWriter const &eventDataWriter) noexcept {
eventDataWriter.WriteObjectBegin();
eventDataWriter.WriteObjectEnd();
});
}
void Screen::dispatchOnDisappear() {
m_reactContext.DispatchEvent(
*this,
L"topDisappear",
[&](winrt::IJSValueWriter const &eventDataWriter) noexcept {
eventDataWriter.WriteObjectBegin();
eventDataWriter.WriteObjectEnd();
});
}
StackAnimation Screen::GetStackAnimation() const {
return stackAnimation;
}
void Screen::SetStackAnimation(StackAnimation const& animation) {
stackAnimation = animation;
}
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,70 @@
#pragma once
namespace winrt::RNScreens::implementation {
enum class StackPresentation { PUSH, MODAL, TRANSPARENT_MODAL, FORM_SHEET };
enum class StackAnimation {
DEFAULT,
NONE,
FADE,
SLIDE_FROM_BOTTOM,
SLIDE_FROM_RIGHT,
SLIDE_FROM_LEFT,
FADE_FROM_BOTTOM,
IOS_FROM_RIGHT,
IOS_FROM_LEFT
};
enum class ReplaceAnimation { PUSH, POP };
enum class ActivityState { INACTIVE, TRANSITIONING_OR_BELOW_TOP, ON_TOP };
enum class WindowTraits {
ORIENTATION,
COLOR,
STYLE,
TRANSLUCENT,
HIDDEN,
ANIMATED
};
class Screen : public winrt::Windows::UI::Xaml::Controls::StackPanelT<Screen> {
public:
Screen(winrt::Microsoft::ReactNative::IReactContext reactContext);
~Screen();
void addView(winrt::Windows::UI::Xaml::UIElement element);
void removeAllChildren();
void removeChildAt(int64_t index);
void replaceChild(
winrt::Windows::UI::Xaml::UIElement oldChild,
winrt::Windows::UI::Xaml::UIElement newChild);
winrt::event_token onLoadingRevoker;
void onLoading(
winrt::Windows::UI::Xaml::FrameworkElement const &sender,
winrt::Windows::Foundation::IInspectable const &args);
winrt::event_token onLoadedRevoker;
void onLoaded(
winrt::Windows::Foundation::IInspectable const &sender,
winrt::Windows::UI::Xaml::RoutedEventArgs const &args);
winrt::event_token onUnloadedRevoker;
void onUnloaded(
winrt::Windows::Foundation::IInspectable const &sender,
winrt::Windows::UI::Xaml::RoutedEventArgs const &args);
void dispatchOnAppear();
void dispatchOnDisappear();
void dispatchOnWillAppear();
void dispatchOnWillDisappear();
StackAnimation GetStackAnimation() const;
void SetStackAnimation(StackAnimation const& animation);
private:
winrt::Microsoft::ReactNative::IReactContext m_reactContext{nullptr};
StackAnimation stackAnimation;
};
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,49 @@
#include "pch.h"
#include "ScreenContainer.h"
#include "JSValueXaml.h"
#include "NativeModules.h"
namespace winrt {
using namespace Microsoft::ReactNative;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
} // namespace winrt
namespace winrt::RNScreens::implementation {
ScreenContainer::ScreenContainer(
winrt::Microsoft::ReactNative::IReactContext reactContext)
: m_reactContext(reactContext),
m_children(
{winrt::single_threaded_vector<Windows::UI::Xaml::UIElement>()}) {}
void ScreenContainer::addScreen(Screen &screen, int64_t) {
auto uiElement = screen.try_as<UIElement>();
if (!uiElement)
return;
m_children.Append(uiElement);
Content(uiElement);
}
void ScreenContainer::removeAllChildren() {
Content(nullptr);
m_children.Clear();
}
void ScreenContainer::removeChildAt(int64_t index) {
m_children.RemoveAt(static_cast<uint32_t>(index));
}
void ScreenContainer::replaceChild(
winrt::Windows::UI::Xaml::UIElement oldChild,
winrt::Windows::UI::Xaml::UIElement newChild) {
uint32_t index;
if (!m_children.IndexOf(oldChild, index))
return;
m_children.SetAt(index, newChild);
}
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,23 @@
#pragma once
#include "Screen.h"
namespace winrt::RNScreens::implementation {
class ScreenContainer
: public winrt::Windows::UI::Xaml::Controls::ContentControlT<
ScreenContainer> {
public:
ScreenContainer(winrt::Microsoft::ReactNative::IReactContext reactContext);
void addScreen(Screen &screen, int64_t index);
void removeAllChildren();
void removeChildAt(int64_t index);
void replaceChild(
winrt::Windows::UI::Xaml::UIElement oldChild,
winrt::Windows::UI::Xaml::UIElement newChild);
winrt::Windows::Foundation::Collections::IVector<Windows::UI::Xaml::UIElement>
m_children;
private:
winrt::Microsoft::ReactNative::IReactContext m_reactContext{nullptr};
};
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,133 @@
#include "pch.h"
#include "ScreenContainerViewManager.h"
#include "JSValueXaml.h"
#include "NativeModules.h"
#include "Screen.h"
#include "ScreenContainer.h"
namespace winrt {
using namespace Microsoft::ReactNative;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
} // namespace winrt
namespace winrt::RNScreens::implementation {
// IViewManager
winrt::hstring ScreenContainerViewManager::Name() noexcept {
return L"RNSScreenContainer";
}
winrt::FrameworkElement ScreenContainerViewManager::CreateView() noexcept {
return winrt::make<ScreenContainer>(m_reactContext);
}
// IViewManagerRequiresNativeLayout
bool ScreenContainerViewManager::RequiresNativeLayout() {
return false;
}
// IViewManagerWithChildren
void ScreenContainerViewManager::AddView(
FrameworkElement parent,
UIElement child,
int64_t index) {
auto screenContainer = parent.as<ScreenContainer>();
if (!screenContainer)
return;
auto screen = child.as<Screen>();
if (!screen)
return;
screenContainer->addScreen(*screen, index);
}
void ScreenContainerViewManager::RemoveAllChildren(FrameworkElement parent) {
auto screenContainer = parent.as<ScreenContainer>();
if (!screenContainer)
return;
screenContainer->removeAllChildren();
}
void ScreenContainerViewManager::RemoveChildAt(
FrameworkElement parent,
int64_t index) {
auto screenContainer = parent.as<ScreenContainer>();
if (!screenContainer)
return;
screenContainer->removeChildAt(index);
}
void ScreenContainerViewManager::ReplaceChild(
FrameworkElement parent,
UIElement oldChild,
UIElement newChild) {
auto screenContainer = parent.as<ScreenContainer>();
if (!screenContainer)
return;
screenContainer->replaceChild(oldChild, newChild);
}
// IViewManagerWithReactContext
winrt::IReactContext ScreenContainerViewManager::ReactContext() noexcept {
return m_reactContext;
}
void ScreenContainerViewManager::ReactContext(
IReactContext reactContext) noexcept {
m_reactContext = reactContext;
}
// IViewManagerWithNativeProperties
IMapView<hstring, ViewManagerPropertyType>
ScreenContainerViewManager::NativeProps() noexcept {
auto nativeProps =
winrt::single_threaded_map<hstring, ViewManagerPropertyType>();
return nativeProps.GetView();
}
void ScreenContainerViewManager::UpdateProperties(
FrameworkElement const &view,
IJSValueReader const &propertyMapReader) noexcept {
(void)view;
const JSValueObject &propertyMap = JSValue::ReadObjectFrom(propertyMapReader);
for (auto const &pair : propertyMap) {
auto const &propertyName = pair.first;
auto const &propertyValue = pair.second;
(void)propertyName;
(void)propertyValue;
}
}
// IViewManagerWithExportedEventTypeConstants
ConstantProviderDelegate ScreenContainerViewManager::
ExportedCustomBubblingEventTypeConstants() noexcept {
return nullptr;
}
ConstantProviderDelegate
ScreenContainerViewManager::ExportedCustomDirectEventTypeConstants() noexcept {
return nullptr;
}
// IViewManagerWithCommands
IVectorView<hstring> ScreenContainerViewManager::Commands() noexcept {
auto commands = winrt::single_threaded_vector<hstring>();
return commands.GetView();
}
void ScreenContainerViewManager::DispatchCommand(
FrameworkElement const &view,
winrt::hstring const &commandId,
winrt::IJSValueReader const &commandArgsReader) noexcept {
(void)view;
(void)commandId;
(void)commandArgsReader;
}
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,78 @@
#pragma once
#include "NativeModules.h"
#include "winrt/Microsoft.ReactNative.h"
namespace winrt::RNScreens::implementation {
class ScreenContainerViewManager
: public winrt::implements<
ScreenContainerViewManager,
winrt::Microsoft::ReactNative::IViewManager,
winrt::Microsoft::ReactNative::IViewManagerRequiresNativeLayout,
winrt::Microsoft::ReactNative::IViewManagerWithChildren,
winrt::Microsoft::ReactNative::IViewManagerWithReactContext,
winrt::Microsoft::ReactNative::IViewManagerWithNativeProperties,
winrt::Microsoft::ReactNative::
IViewManagerWithExportedEventTypeConstants,
winrt::Microsoft::ReactNative::IViewManagerWithCommands> {
public:
ScreenContainerViewManager() = default;
// IViewManager
winrt::hstring Name() noexcept;
winrt::Windows::UI::Xaml::FrameworkElement CreateView() noexcept;
// IViewManagerRequiresNativeLayout
bool RequiresNativeLayout();
// IViewManagerWithChildren
void AddView(
winrt::Windows::UI::Xaml::FrameworkElement parent,
winrt::Windows::UI::Xaml::UIElement child,
int64_t index);
void RemoveAllChildren(winrt::Windows::UI::Xaml::FrameworkElement parent);
void RemoveChildAt(
winrt::Windows::UI::Xaml::FrameworkElement parent,
int64_t index);
void ReplaceChild(
winrt::Windows::UI::Xaml::FrameworkElement parent,
winrt::Windows::UI::Xaml::UIElement oldChild,
winrt::Windows::UI::Xaml::UIElement newChild);
// IViewManagerWithReactContext
winrt::Microsoft::ReactNative::IReactContext ReactContext() noexcept;
void ReactContext(
winrt::Microsoft::ReactNative::IReactContext reactContext) noexcept;
// IViewManagerWithNativeProperties
winrt::Windows::Foundation::Collections::IMapView<
winrt::hstring,
winrt::Microsoft::ReactNative::ViewManagerPropertyType>
NativeProps() noexcept;
void UpdateProperties(
winrt::Windows::UI::Xaml::FrameworkElement const &view,
winrt::Microsoft::ReactNative::IJSValueReader const
&propertyMapReader) noexcept;
// IViewManagerWithExportedEventTypeConstants
winrt::Microsoft::ReactNative::ConstantProviderDelegate
ExportedCustomBubblingEventTypeConstants() noexcept;
winrt::Microsoft::ReactNative::ConstantProviderDelegate
ExportedCustomDirectEventTypeConstants() noexcept;
// IViewManagerWithCommands
winrt::Windows::Foundation::Collections::IVectorView<winrt::hstring>
Commands() noexcept;
void DispatchCommand(
winrt::Windows::UI::Xaml::FrameworkElement const &view,
winrt::hstring const &commandId,
winrt::Microsoft::ReactNative::IJSValueReader const
&commandArgsReader) noexcept;
private:
winrt::Microsoft::ReactNative::IReactContext m_reactContext{nullptr};
};
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,65 @@
#include "pch.h"
#include "ScreenStack.h"
#include "JSValueXaml.h"
#include "NativeModules.h"
namespace winrt {
using namespace Microsoft::ReactNative;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
} // namespace winrt
namespace winrt::RNScreens::implementation {
ScreenStack::ScreenStack(
winrt::Microsoft::ReactNative::IReactContext reactContext)
: m_reactContext(reactContext),
m_children(
{winrt::single_threaded_vector<Windows::UI::Xaml::UIElement>()}) {}
void ScreenStack::addScreen(Screen &screen, int64_t) {
auto uiElement = screen.try_as<UIElement>();
if (!uiElement)
return;
m_children.Append(uiElement);
Content(uiElement);
}
void ScreenStack::removeAllChildren() {
Content(nullptr);
m_children.Clear();
}
void ScreenStack::removeChildAt(int64_t index) {
m_children.RemoveAt(static_cast<uint32_t>(index));
onChildModified(index);
}
void ScreenStack::replaceChild(
winrt::Windows::UI::Xaml::UIElement oldChild,
winrt::Windows::UI::Xaml::UIElement newChild) {
uint32_t index;
if (!m_children.IndexOf(oldChild, index))
return;
m_children.SetAt(index, newChild);
onChildModified(index);
}
void ScreenStack::onChildModified(int64_t index) {
// Was it the topmost item in the stack?
if (index >= m_children.Size() - 1) {
if (m_children.Size() == 0) {
// Nobody left
Content(nullptr);
} else {
// Focus on the top item
auto uiElement = m_children.GetAt(m_children.Size() - 1);
Content(uiElement);
}
}
}
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,23 @@
#pragma once
#include "Screen.h"
namespace winrt::RNScreens::implementation {
class ScreenStack
: public winrt::Windows::UI::Xaml::Controls::ContentControlT<ScreenStack> {
public:
ScreenStack(winrt::Microsoft::ReactNative::IReactContext reactContext);
void addScreen(Screen &screen, int64_t index);
void removeAllChildren();
void removeChildAt(int64_t index);
void replaceChild(
winrt::Windows::UI::Xaml::UIElement oldChild,
winrt::Windows::UI::Xaml::UIElement newChild);
winrt::Windows::Foundation::Collections::IVector<Windows::UI::Xaml::UIElement>
m_children;
private:
void onChildModified(int64_t index);
winrt::Microsoft::ReactNative::IReactContext m_reactContext{nullptr};
};
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,43 @@
#include "pch.h"
#include "ScreenStackHeaderConfig.h"
#include "JSValueXaml.h"
#include "NativeModules.h"
namespace winrt {
using namespace Microsoft::ReactNative;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
} // namespace winrt
namespace winrt::RNScreens::implementation {
ScreenStackHeaderConfig::ScreenStackHeaderConfig(
winrt::Microsoft::ReactNative::IReactContext reactContext)
: m_reactContext(reactContext),
m_children(
{winrt::single_threaded_vector<Windows::UI::Xaml::UIElement>()}) {}
void ScreenStackHeaderConfig::addView(winrt::Windows::UI::Xaml::UIElement element) {
Children().Append(element);
}
void ScreenStackHeaderConfig::removeAllChildren() {
Children().Clear();
}
void ScreenStackHeaderConfig::removeChildAt(int64_t index) {
Children().RemoveAt(static_cast<uint32_t>(index));
}
void ScreenStackHeaderConfig::replaceChild(
winrt::Windows::UI::Xaml::UIElement oldChild,
winrt::Windows::UI::Xaml::UIElement newChild) {
uint32_t index;
if (!Children().IndexOf(oldChild, index))
return;
Children().SetAt(index, newChild);
}
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,23 @@
#pragma once
namespace winrt::RNScreens::implementation {
class ScreenStackHeaderConfig
: public winrt::Windows::UI::Xaml::Controls::StackPanelT<
ScreenStackHeaderConfig> {
public:
ScreenStackHeaderConfig(
winrt::Microsoft::ReactNative::IReactContext reactContext);
void addView(winrt::Windows::UI::Xaml::UIElement element);
void removeAllChildren();
void removeChildAt(int64_t index);
void replaceChild(
winrt::Windows::UI::Xaml::UIElement oldChild,
winrt::Windows::UI::Xaml::UIElement newChild);
winrt::Windows::Foundation::Collections::IVector<Windows::UI::Xaml::UIElement>
m_children;
private:
winrt::Microsoft::ReactNative::IReactContext m_reactContext{nullptr};
};
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,130 @@
#include "pch.h"
#include "ScreenStackHeaderConfigViewManager.h"
#include "JSValueXaml.h"
#include "NativeModules.h"
#include "ScreenStackHeaderConfig.h"
namespace winrt {
using namespace Microsoft::ReactNative;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
} // namespace winrt
namespace winrt::RNScreens::implementation {
// IViewManager
winrt::hstring ScreenStackHeaderConfigViewManager::Name() noexcept {
return L"RNSScreenStackHeaderConfig";
}
winrt::FrameworkElement
ScreenStackHeaderConfigViewManager::CreateView() noexcept {
return winrt::make<ScreenStackHeaderConfig>(m_reactContext);
}
// IViewManagerRequiresNativeLayout
bool ScreenStackHeaderConfigViewManager::RequiresNativeLayout() {
return false;
}
// IViewManagerWithChildren
void ScreenStackHeaderConfigViewManager::AddView(
FrameworkElement parent,
UIElement child,
int64_t index) {
auto screenStackHeaderConfig = parent.as<ScreenStackHeaderConfig>();
if (!screenStackHeaderConfig)
return;
screenStackHeaderConfig->addView(child);
}
void ScreenStackHeaderConfigViewManager::RemoveAllChildren(FrameworkElement parent) {
auto screenStackHeaderConfig = parent.as<ScreenStackHeaderConfig>();
if (!screenStackHeaderConfig)
return;
screenStackHeaderConfig->removeAllChildren();
}
void ScreenStackHeaderConfigViewManager::RemoveChildAt(
FrameworkElement parent,
int64_t index) {
auto screenStackHeaderConfig = parent.as<ScreenStackHeaderConfig>();
if (!screenStackHeaderConfig)
return;
screenStackHeaderConfig->removeChildAt(index);
}
void ScreenStackHeaderConfigViewManager::ReplaceChild(
FrameworkElement parent,
UIElement oldChild,
UIElement newChild) {
auto screenStackHeaderConfig = parent.as<ScreenStackHeaderConfig>();
if (!screenStackHeaderConfig)
return;
screenStackHeaderConfig->replaceChild(oldChild, newChild);
}
// IViewManagerWithReactContext
winrt::IReactContext
ScreenStackHeaderConfigViewManager::ReactContext() noexcept {
return m_reactContext;
}
void ScreenStackHeaderConfigViewManager::ReactContext(
IReactContext reactContext) noexcept {
m_reactContext = reactContext;
}
// IViewManagerWithNativeProperties
IMapView<hstring, ViewManagerPropertyType>
ScreenStackHeaderConfigViewManager::NativeProps() noexcept {
auto nativeProps =
winrt::single_threaded_map<hstring, ViewManagerPropertyType>();
return nativeProps.GetView();
}
void ScreenStackHeaderConfigViewManager::UpdateProperties(
FrameworkElement const &view,
IJSValueReader const &propertyMapReader) noexcept {
(void)view;
const JSValueObject &propertyMap = JSValue::ReadObjectFrom(propertyMapReader);
for (auto const &pair : propertyMap) {
auto const &propertyName = pair.first;
auto const &propertyValue = pair.second;
(void)propertyName;
(void)propertyValue;
}
}
// IViewManagerWithExportedEventTypeConstants
ConstantProviderDelegate ScreenStackHeaderConfigViewManager::
ExportedCustomBubblingEventTypeConstants() noexcept {
return nullptr;
}
ConstantProviderDelegate ScreenStackHeaderConfigViewManager::
ExportedCustomDirectEventTypeConstants() noexcept {
return nullptr;
}
// IViewManagerWithCommands
IVectorView<hstring> ScreenStackHeaderConfigViewManager::Commands() noexcept {
auto commands = winrt::single_threaded_vector<hstring>();
return commands.GetView();
}
void ScreenStackHeaderConfigViewManager::DispatchCommand(
FrameworkElement const &view,
winrt::hstring const &commandId,
winrt::IJSValueReader const &commandArgsReader) noexcept {
(void)view;
(void)commandId;
(void)commandArgsReader;
}
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,77 @@
#pragma once
#include "NativeModules.h"
#include "winrt/Microsoft.ReactNative.h"
namespace winrt::RNScreens::implementation {
class ScreenStackHeaderConfigViewManager
: public winrt::implements<
ScreenStackHeaderConfigViewManager,
winrt::Microsoft::ReactNative::IViewManager,
winrt::Microsoft::ReactNative::IViewManagerRequiresNativeLayout,
winrt::Microsoft::ReactNative::IViewManagerWithReactContext,
winrt::Microsoft::ReactNative::IViewManagerWithChildren,
winrt::Microsoft::ReactNative::IViewManagerWithNativeProperties,
winrt::Microsoft::ReactNative::
IViewManagerWithExportedEventTypeConstants,
winrt::Microsoft::ReactNative::IViewManagerWithCommands> {
public:
ScreenStackHeaderConfigViewManager() = default;
// IViewManager
winrt::hstring Name() noexcept;
winrt::Windows::UI::Xaml::FrameworkElement CreateView() noexcept;
// IViewManagerRequiresNativeLayout
bool RequiresNativeLayout();
// IViewManagerWithChildren
void AddView(
winrt::Windows::UI::Xaml::FrameworkElement parent,
winrt::Windows::UI::Xaml::UIElement child,
int64_t index);
void RemoveAllChildren(winrt::Windows::UI::Xaml::FrameworkElement parent);
void RemoveChildAt(
winrt::Windows::UI::Xaml::FrameworkElement parent,
int64_t index);
void ReplaceChild(
winrt::Windows::UI::Xaml::FrameworkElement parent,
winrt::Windows::UI::Xaml::UIElement oldChild,
winrt::Windows::UI::Xaml::UIElement newChild);
// IViewManagerWithReactContext
winrt::Microsoft::ReactNative::IReactContext ReactContext() noexcept;
void ReactContext(
winrt::Microsoft::ReactNative::IReactContext reactContext) noexcept;
// IViewManagerWithNativeProperties
winrt::Windows::Foundation::Collections::IMapView<
winrt::hstring,
winrt::Microsoft::ReactNative::ViewManagerPropertyType>
NativeProps() noexcept;
void UpdateProperties(
winrt::Windows::UI::Xaml::FrameworkElement const &view,
winrt::Microsoft::ReactNative::IJSValueReader const
&propertyMapReader) noexcept;
// IViewManagerWithExportedEventTypeConstants
winrt::Microsoft::ReactNative::ConstantProviderDelegate
ExportedCustomBubblingEventTypeConstants() noexcept;
winrt::Microsoft::ReactNative::ConstantProviderDelegate
ExportedCustomDirectEventTypeConstants() noexcept;
// IViewManagerWithCommands
winrt::Windows::Foundation::Collections::IVectorView<winrt::hstring>
Commands() noexcept;
void DispatchCommand(
winrt::Windows::UI::Xaml::FrameworkElement const &view,
winrt::hstring const &commandId,
winrt::Microsoft::ReactNative::IJSValueReader const
&commandArgsReader) noexcept;
private:
winrt::Microsoft::ReactNative::IReactContext m_reactContext{nullptr};
};
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,43 @@
#include "pch.h"
#include "ScreenStackHeaderSubview.h"
#include "JSValueXaml.h"
#include "NativeModules.h"
namespace winrt {
using namespace Microsoft::ReactNative;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
} // namespace winrt
namespace winrt::RNScreens::implementation {
ScreenStackHeaderSubview::ScreenStackHeaderSubview(
winrt::Microsoft::ReactNative::IReactContext reactContext)
: m_reactContext(reactContext),
m_children(
{winrt::single_threaded_vector<Windows::UI::Xaml::UIElement>()}) {}
void ScreenStackHeaderSubview::addView(winrt::Windows::UI::Xaml::UIElement element) {
Children().Append(element);
}
void ScreenStackHeaderSubview::removeAllChildren() {
Children().Clear();
}
void ScreenStackHeaderSubview::removeChildAt(int64_t index) {
Children().RemoveAt(static_cast<uint32_t>(index));
}
void ScreenStackHeaderSubview::replaceChild(
winrt::Windows::UI::Xaml::UIElement oldChild,
winrt::Windows::UI::Xaml::UIElement newChild) {
uint32_t index;
if (!Children().IndexOf(oldChild, index))
return;
Children().SetAt(index, newChild);
}
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,24 @@
#pragma once
namespace winrt::RNScreens::implementation {
class ScreenStackHeaderSubview
: public winrt::Windows::UI::Xaml::Controls::StackPanelT<
ScreenStackHeaderSubview> {
public:
ScreenStackHeaderSubview(
winrt::Microsoft::ReactNative::IReactContext reactContext);
void addView(winrt::Windows::UI::Xaml::UIElement element);
void removeAllChildren();
void removeChildAt(int64_t index);
void replaceChild(
winrt::Windows::UI::Xaml::UIElement oldChild,
winrt::Windows::UI::Xaml::UIElement newChild);
winrt::Windows::Foundation::Collections::IVector<Windows::UI::Xaml::UIElement>
m_children;
private:
winrt::Microsoft::ReactNative::IReactContext m_reactContext{nullptr};
};
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,129 @@
#include "pch.h"
#include "ScreenStackHeaderSubviewViewManager.h"
#include "ScreenStackHeaderSubview.h"
#include "JSValueXaml.h"
#include "NativeModules.h"
namespace winrt {
using namespace Microsoft::ReactNative;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
} // namespace winrt
namespace winrt::RNScreens::implementation {
// IViewManager
winrt::hstring ScreenStackHeaderSubviewViewManager::Name() noexcept {
return L"RNSScreenStackHeaderSubview";
}
winrt::FrameworkElement ScreenStackHeaderSubviewViewManager::CreateView() noexcept {
return winrt::make<winrt::RNScreens::implementation::ScreenStackHeaderSubview>(m_reactContext);
}
// IViewManagerRequiresNativeLayout
bool ScreenStackHeaderSubviewViewManager::RequiresNativeLayout() {
return false;
}
// IViewManagerWithChildren
void ScreenStackHeaderSubviewViewManager::AddView(
FrameworkElement parent,
UIElement child,
int64_t index) {
auto screenStackHeaderSubview = parent.as<ScreenStackHeaderSubview>();
if (!screenStackHeaderSubview)
return;
screenStackHeaderSubview->addView(child);
}
void ScreenStackHeaderSubviewViewManager::RemoveAllChildren(FrameworkElement parent) {
auto screenStackHeaderSubview = parent.as<ScreenStackHeaderSubview>();
if (!screenStackHeaderSubview)
return;
screenStackHeaderSubview->removeAllChildren();
}
void ScreenStackHeaderSubviewViewManager::RemoveChildAt(
FrameworkElement parent,
int64_t index) {
auto screenStackHeaderSubview = parent.as<ScreenStackHeaderSubview>();
if (!screenStackHeaderSubview)
return;
screenStackHeaderSubview->removeChildAt(index);
}
void ScreenStackHeaderSubviewViewManager::ReplaceChild(
FrameworkElement parent,
UIElement oldChild,
UIElement newChild) {
auto screenStackHeaderSubview = parent.as<ScreenStackHeaderSubview>();
if (!screenStackHeaderSubview)
return;
screenStackHeaderSubview->replaceChild(oldChild, newChild);
}
// IViewManagerWithNativeProperties
IMapView<hstring, ViewManagerPropertyType>
ScreenStackHeaderSubviewViewManager::NativeProps() noexcept {
auto nativeProps =
winrt::single_threaded_map<hstring, ViewManagerPropertyType>();
return nativeProps.GetView();
}
void ScreenStackHeaderSubviewViewManager::UpdateProperties(
FrameworkElement const &view,
IJSValueReader const &propertyMapReader) noexcept {
(void)view;
const JSValueObject &propertyMap = JSValue::ReadObjectFrom(propertyMapReader);
for (auto const &pair : propertyMap) {
auto const &propertyName = pair.first;
auto const &propertyValue = pair.second;
(void)propertyName;
(void)propertyValue;
}
}
// IViewManagerWithCommands
IVectorView<hstring> ScreenStackHeaderSubviewViewManager::Commands() noexcept {
auto commands = winrt::single_threaded_vector<hstring>();
return commands.GetView();
}
void ScreenStackHeaderSubviewViewManager::DispatchCommand(
FrameworkElement const &view,
winrt::hstring const &commandId,
winrt::IJSValueReader const &commandArgsReader) noexcept {
(void)view;
(void)commandId;
(void)commandArgsReader;
}
// IViewManagerWithExportedEventTypeConstants
ConstantProviderDelegate ScreenStackHeaderSubviewViewManager::
ExportedCustomBubblingEventTypeConstants() noexcept {
return nullptr;
}
ConstantProviderDelegate ScreenStackHeaderSubviewViewManager::
ExportedCustomDirectEventTypeConstants() noexcept {
return nullptr;
}
// IViewManagerWithReactContext
winrt::IReactContext ScreenStackHeaderSubviewViewManager::ReactContext() noexcept {
return m_reactContext;
}
void ScreenStackHeaderSubviewViewManager::ReactContext(IReactContext reactContext) noexcept {
m_reactContext = reactContext;
}
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,77 @@
#pragma once
#include "NativeModules.h"
#include "winrt/Microsoft.ReactNative.h"
namespace winrt::RNScreens::implementation {
class ScreenStackHeaderSubviewViewManager
: public winrt::implements<
ScreenStackHeaderSubviewViewManager,
winrt::Microsoft::ReactNative::IViewManager,
winrt::Microsoft::ReactNative::IViewManagerWithNativeProperties,
winrt::Microsoft::ReactNative::IViewManagerWithCommands,
winrt::Microsoft::ReactNative::IViewManagerWithChildren,
winrt::Microsoft::ReactNative::IViewManagerWithExportedEventTypeConstants,
winrt::Microsoft::ReactNative::IViewManagerRequiresNativeLayout,
winrt::Microsoft::ReactNative::IViewManagerWithReactContext> {
public:
ScreenStackHeaderSubviewViewManager() = default;
// IViewManager
winrt::hstring Name() noexcept;
winrt::Windows::UI::Xaml::FrameworkElement CreateView() noexcept;
// IViewManagerRequiresNativeLayout
bool RequiresNativeLayout();
// IViewManagerWithChildren
void AddView(
winrt::Windows::UI::Xaml::FrameworkElement parent,
winrt::Windows::UI::Xaml::UIElement child,
int64_t index);
void RemoveAllChildren(winrt::Windows::UI::Xaml::FrameworkElement parent);
void RemoveChildAt(
winrt::Windows::UI::Xaml::FrameworkElement parent,
int64_t index);
void ReplaceChild(
winrt::Windows::UI::Xaml::FrameworkElement parent,
winrt::Windows::UI::Xaml::UIElement oldChild,
winrt::Windows::UI::Xaml::UIElement newChild);
// IViewManagerWithNativeProperties
winrt::Windows::Foundation::Collections::IMapView<
winrt::hstring,
winrt::Microsoft::ReactNative::ViewManagerPropertyType>
NativeProps() noexcept;
void UpdateProperties(
winrt::Windows::UI::Xaml::FrameworkElement const &view,
winrt::Microsoft::ReactNative::IJSValueReader const
&propertyMapReader) noexcept;
// IViewManagerWithExportedEventTypeConstants
winrt::Microsoft::ReactNative::ConstantProviderDelegate
ExportedCustomBubblingEventTypeConstants() noexcept;
winrt::Microsoft::ReactNative::ConstantProviderDelegate
ExportedCustomDirectEventTypeConstants() noexcept;
// IViewManagerWithCommands
winrt::Windows::Foundation::Collections::IVectorView<winrt::hstring>
Commands() noexcept;
void DispatchCommand(
winrt::Windows::UI::Xaml::FrameworkElement const &view,
winrt::hstring const &commandId,
winrt::Microsoft::ReactNative::IJSValueReader const
&commandArgsReader) noexcept;
// IViewManagerWithReactContext
winrt::Microsoft::ReactNative::IReactContext ReactContext() noexcept;
void ReactContext(
winrt::Microsoft::ReactNative::IReactContext reactContext) noexcept;
private:
winrt::Microsoft::ReactNative::IReactContext m_reactContext{nullptr};
};
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,132 @@
#include "pch.h"
#include "ScreenStackViewManager.h"
#include "JSValueXaml.h"
#include "NativeModules.h"
#include "Screen.h"
#include "ScreenStack.h"
namespace winrt {
using namespace Microsoft::ReactNative;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
} // namespace winrt
namespace winrt::RNScreens::implementation {
// IViewManager
winrt::hstring ScreenStackViewManager::Name() noexcept {
return L"RNSScreenStack";
}
winrt::FrameworkElement ScreenStackViewManager::CreateView() noexcept {
return winrt::make<ScreenStack>(m_reactContext);
}
// IViewManagerRequiresNativeLayout
bool ScreenStackViewManager::RequiresNativeLayout() {
return false;
}
// IViewManagerWithChildren
void ScreenStackViewManager::AddView(
FrameworkElement parent,
UIElement child,
int64_t index) {
auto screenStack = parent.as<ScreenStack>();
if (!screenStack)
return;
auto screen = child.as<Screen>();
if (!screen)
return;
screenStack->addScreen(*screen, index);
}
void ScreenStackViewManager::RemoveAllChildren(FrameworkElement parent) {
auto screenStack = parent.as<ScreenStack>();
if (!screenStack)
return;
screenStack->removeAllChildren();
}
void ScreenStackViewManager::RemoveChildAt(
FrameworkElement parent,
int64_t index) {
auto screenStack = parent.as<ScreenStack>();
if (!screenStack)
return;
screenStack->removeChildAt(index);
}
void ScreenStackViewManager::ReplaceChild(
FrameworkElement parent,
UIElement oldChild,
UIElement newChild) {
auto screenStack = parent.as<ScreenStack>();
if (!screenStack)
return;
screenStack->replaceChild(oldChild, newChild);
}
// IViewManagerWithReactContext
winrt::IReactContext ScreenStackViewManager::ReactContext() noexcept {
return m_reactContext;
}
void ScreenStackViewManager::ReactContext(IReactContext reactContext) noexcept {
m_reactContext = reactContext;
}
// IViewManagerWithNativeProperties
IMapView<hstring, ViewManagerPropertyType>
ScreenStackViewManager::NativeProps() noexcept {
auto nativeProps =
winrt::single_threaded_map<hstring, ViewManagerPropertyType>();
return nativeProps.GetView();
}
void ScreenStackViewManager::UpdateProperties(
FrameworkElement const &view,
IJSValueReader const &propertyMapReader) noexcept {
(void)view;
const JSValueObject &propertyMap = JSValue::ReadObjectFrom(propertyMapReader);
for (auto const &pair : propertyMap) {
auto const &propertyName = pair.first;
auto const &propertyValue = pair.second;
(void)propertyName;
(void)propertyValue;
}
}
// IViewManagerWithExportedEventTypeConstants
ConstantProviderDelegate
ScreenStackViewManager::ExportedCustomBubblingEventTypeConstants() noexcept {
return nullptr;
}
ConstantProviderDelegate
ScreenStackViewManager::ExportedCustomDirectEventTypeConstants() noexcept {
return nullptr;
}
// IViewManagerWithCommands
IVectorView<hstring> ScreenStackViewManager::Commands() noexcept {
auto commands = winrt::single_threaded_vector<hstring>();
return commands.GetView();
}
void ScreenStackViewManager::DispatchCommand(
FrameworkElement const &view,
winrt::hstring const &commandId,
winrt::IJSValueReader const &commandArgsReader) noexcept {
(void)view;
(void)commandId;
(void)commandArgsReader;
}
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,78 @@
#pragma once
#include "NativeModules.h"
#include "winrt/Microsoft.ReactNative.h"
namespace winrt::RNScreens::implementation {
class ScreenStackViewManager
: public winrt::implements<
ScreenStackViewManager,
winrt::Microsoft::ReactNative::IViewManager,
winrt::Microsoft::ReactNative::IViewManagerRequiresNativeLayout,
winrt::Microsoft::ReactNative::IViewManagerWithChildren,
winrt::Microsoft::ReactNative::IViewManagerWithReactContext,
winrt::Microsoft::ReactNative::IViewManagerWithNativeProperties,
winrt::Microsoft::ReactNative::
IViewManagerWithExportedEventTypeConstants,
winrt::Microsoft::ReactNative::IViewManagerWithCommands> {
public:
ScreenStackViewManager() = default;
// IViewManager
winrt::hstring Name() noexcept;
winrt::Windows::UI::Xaml::FrameworkElement CreateView() noexcept;
// IViewManagerRequiresNativeLayout
bool RequiresNativeLayout();
// IViewManagerWithChildren
void AddView(
winrt::Windows::UI::Xaml::FrameworkElement parent,
winrt::Windows::UI::Xaml::UIElement child,
int64_t index);
void RemoveAllChildren(winrt::Windows::UI::Xaml::FrameworkElement parent);
void RemoveChildAt(
winrt::Windows::UI::Xaml::FrameworkElement parent,
int64_t index);
void ReplaceChild(
winrt::Windows::UI::Xaml::FrameworkElement parent,
winrt::Windows::UI::Xaml::UIElement oldChild,
winrt::Windows::UI::Xaml::UIElement newChild);
// IViewManagerWithReactContext
winrt::Microsoft::ReactNative::IReactContext ReactContext() noexcept;
void ReactContext(
winrt::Microsoft::ReactNative::IReactContext reactContext) noexcept;
// IViewManagerWithNativeProperties
winrt::Windows::Foundation::Collections::IMapView<
winrt::hstring,
winrt::Microsoft::ReactNative::ViewManagerPropertyType>
NativeProps() noexcept;
void UpdateProperties(
winrt::Windows::UI::Xaml::FrameworkElement const &view,
winrt::Microsoft::ReactNative::IJSValueReader const
&propertyMapReader) noexcept;
// IViewManagerWithExportedEventTypeConstants
winrt::Microsoft::ReactNative::ConstantProviderDelegate
ExportedCustomBubblingEventTypeConstants() noexcept;
winrt::Microsoft::ReactNative::ConstantProviderDelegate
ExportedCustomDirectEventTypeConstants() noexcept;
// IViewManagerWithCommands
winrt::Windows::Foundation::Collections::IVectorView<winrt::hstring>
Commands() noexcept;
void DispatchCommand(
winrt::Windows::UI::Xaml::FrameworkElement const &view,
winrt::hstring const &commandId,
winrt::Microsoft::ReactNative::IJSValueReader const
&commandArgsReader) noexcept;
private:
winrt::Microsoft::ReactNative::IReactContext m_reactContext{nullptr};
};
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,183 @@
#include "pch.h"
#include "ScreenViewManager.h"
#include "JSValueXaml.h"
#include "NativeModules.h"
#include "Screen.h"
namespace winrt {
using namespace Microsoft::ReactNative;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
} // namespace winrt
namespace winrt::RNScreens::implementation {
// IViewManager
winrt::hstring ScreenViewManager::Name() noexcept {
return L"RNSScreen";
}
winrt::FrameworkElement ScreenViewManager::CreateView() noexcept {
return winrt::make<winrt::RNScreens::implementation::Screen>(m_reactContext);
}
// IViewManagerRequiresNativeLayout
bool ScreenViewManager::RequiresNativeLayout() {
return false;
}
// IViewManagerWithChildren
void ScreenViewManager::AddView(
FrameworkElement parent,
UIElement child,
int64_t index) {
(void)index;
auto screen = parent.try_as<Screen>();
if (!screen)
return;
screen->addView(child);
}
void ScreenViewManager::RemoveAllChildren(FrameworkElement parent) {
auto screen = parent.try_as<Screen>();
if (!screen)
return;
screen->removeAllChildren();
}
void ScreenViewManager::RemoveChildAt(FrameworkElement parent, int64_t index) {
auto screen = parent.try_as<Screen>();
if (!screen)
return;
screen->removeChildAt(index);
}
void ScreenViewManager::ReplaceChild(
FrameworkElement parent,
UIElement oldChild,
UIElement newChild) {
auto screen = parent.try_as<Screen>();
if (!screen)
return;
screen->replaceChild(oldChild, newChild);
}
// IViewManagerWithReactContext
winrt::IReactContext ScreenViewManager::ReactContext() noexcept {
return m_reactContext;
}
void ScreenViewManager::ReactContext(IReactContext reactContext) noexcept {
m_reactContext = reactContext;
}
// IViewManagerWithNativeProperties
IMapView<hstring, ViewManagerPropertyType>
ScreenViewManager::NativeProps() noexcept {
auto nativeProps =
winrt::single_threaded_map<hstring, ViewManagerPropertyType>();
nativeProps.Insert(L"stackPresentation", ViewManagerPropertyType::String);
nativeProps.Insert(L"stackAnimation", ViewManagerPropertyType::String);
nativeProps.Insert(L"gestureEnabled", ViewManagerPropertyType::Boolean);
nativeProps.Insert(L"replaceAnimation", ViewManagerPropertyType::String);
nativeProps.Insert(L"screenOrientation", ViewManagerPropertyType::String);
nativeProps.Insert(L"statusBarAnimation", ViewManagerPropertyType::String);
nativeProps.Insert(L"statusBarColor", ViewManagerPropertyType::Number);
nativeProps.Insert(L"statusBarStyle", ViewManagerPropertyType::String);
nativeProps.Insert(L"statusBarTranslucent", ViewManagerPropertyType::Boolean);
nativeProps.Insert(L"statusBarHidden", ViewManagerPropertyType::Boolean);
return nativeProps.GetView();
}
void ScreenViewManager::UpdateProperties(
FrameworkElement const &view,
IJSValueReader const &propertyMapReader) noexcept {
if (auto screen = view.try_as<Screen>()) {
const JSValueObject &propertyMap = JSValue::ReadObjectFrom(propertyMapReader);
for (auto const &pair : propertyMap) {
auto const &propertyName = pair.first;
auto const &propertyValue = pair.second;
if (propertyName == "stackAnimation") {
if (propertyValue.IsNull() ||
propertyValue.AsString() == "default" ||
propertyValue.AsString() == "flip" ||
propertyValue.AsString() == "simple_push") {
screen->SetStackAnimation(winrt::RNScreens::implementation::StackAnimation::DEFAULT);
} else if (propertyValue.AsString() == "none") {
screen->SetStackAnimation(StackAnimation::NONE);
} else if (propertyValue.AsString() == "fade") {
screen->SetStackAnimation(StackAnimation::FADE);
} else if (propertyValue.AsString() == "slide_from_right") {
screen->SetStackAnimation(StackAnimation::SLIDE_FROM_RIGHT);
} else if (propertyValue.AsString() == "slide_from_left") {
screen->SetStackAnimation(StackAnimation::SLIDE_FROM_LEFT);
} else if (propertyValue.AsString() == "slide_from_bottom") {
screen->SetStackAnimation(StackAnimation::SLIDE_FROM_BOTTOM);
} else if (propertyValue.AsString() == "fade_from_bottom") {
screen->SetStackAnimation(StackAnimation::FADE_FROM_BOTTOM);
} else if (propertyValue.AsString() == "ios_from_right") {
screen->SetStackAnimation(StackAnimation::IOS_FROM_RIGHT);
} else if (propertyValue.AsString() == "ios_from_left") {
screen->SetStackAnimation(StackAnimation::IOS_FROM_LEFT);
} else {
std::string error = "Unknown animation type: ";
error += propertyValue.AsString();
throw std::runtime_error(error);
}
}
if (propertyValue != nullptr) {
if (propertyName == "replaceAnimation") {
auto const &value = propertyValue.AsString();
// TODO: Implement this for Windows
(void)value;
} else if (propertyName == "stackPresentation") {
auto const &value = propertyValue.AsString();
// TODO: Implement this for Windows
(void)value;
} else {
OutputDebugStringA("Unknown property in ScreenViewManager\n");
}
}
}
}
}
// IViewManagerWithExportedEventTypeConstants
ConstantProviderDelegate
ScreenViewManager::ExportedCustomBubblingEventTypeConstants() noexcept {
return nullptr;
}
ConstantProviderDelegate
ScreenViewManager::ExportedCustomDirectEventTypeConstants() noexcept {
return [](winrt::IJSValueWriter const &constantWriter) {
WriteCustomDirectEventTypeConstant(constantWriter, "WillAppear");
WriteCustomDirectEventTypeConstant(constantWriter, "WillDisappear");
WriteCustomDirectEventTypeConstant(constantWriter, "Appear");
WriteCustomDirectEventTypeConstant(constantWriter, "Disappear");
WriteCustomDirectEventTypeConstant(constantWriter, "Dismissed");
WriteCustomDirectEventTypeConstant(constantWriter, "FinishTransitioning");
};
}
// IViewManagerWithCommands
IVectorView<hstring> ScreenViewManager::Commands() noexcept {
auto commands = winrt::single_threaded_vector<hstring>();
return commands.GetView();
}
void ScreenViewManager::DispatchCommand(
FrameworkElement const &view,
winrt::hstring const &commandId,
winrt::IJSValueReader const &commandArgsReader) noexcept {
(void)view;
(void)commandId;
(void)commandArgsReader;
}
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,78 @@
#pragma once
#include "NativeModules.h"
#include "winrt/Microsoft.ReactNative.h"
namespace winrt::RNScreens::implementation {
class ScreenViewManager
: public winrt::implements<
ScreenViewManager,
winrt::Microsoft::ReactNative::IViewManager,
winrt::Microsoft::ReactNative::IViewManagerRequiresNativeLayout,
winrt::Microsoft::ReactNative::IViewManagerWithChildren,
winrt::Microsoft::ReactNative::IViewManagerWithReactContext,
winrt::Microsoft::ReactNative::IViewManagerWithNativeProperties,
winrt::Microsoft::ReactNative::
IViewManagerWithExportedEventTypeConstants,
winrt::Microsoft::ReactNative::IViewManagerWithCommands> {
public:
ScreenViewManager() = default;
// IViewManager
virtual winrt::hstring Name() noexcept;
winrt::Windows::UI::Xaml::FrameworkElement CreateView() noexcept;
// IViewManagerRequiresNativeLayout
bool RequiresNativeLayout();
// IViewManagerWithChildren
void AddView(
winrt::Windows::UI::Xaml::FrameworkElement parent,
winrt::Windows::UI::Xaml::UIElement child,
int64_t index);
void RemoveAllChildren(winrt::Windows::UI::Xaml::FrameworkElement parent);
void RemoveChildAt(
winrt::Windows::UI::Xaml::FrameworkElement parent,
int64_t index);
void ReplaceChild(
winrt::Windows::UI::Xaml::FrameworkElement parent,
winrt::Windows::UI::Xaml::UIElement oldChild,
winrt::Windows::UI::Xaml::UIElement newChild);
// IViewManagerWithReactContext
winrt::Microsoft::ReactNative::IReactContext ReactContext() noexcept;
void ReactContext(
winrt::Microsoft::ReactNative::IReactContext reactContext) noexcept;
// IViewManagerWithNativeProperties
winrt::Windows::Foundation::Collections::IMapView<
winrt::hstring,
winrt::Microsoft::ReactNative::ViewManagerPropertyType>
NativeProps() noexcept;
void UpdateProperties(
winrt::Windows::UI::Xaml::FrameworkElement const &view,
winrt::Microsoft::ReactNative::IJSValueReader const
&propertyMapReader) noexcept;
// IViewManagerWithExportedEventTypeConstants
winrt::Microsoft::ReactNative::ConstantProviderDelegate
ExportedCustomBubblingEventTypeConstants() noexcept;
winrt::Microsoft::ReactNative::ConstantProviderDelegate
ExportedCustomDirectEventTypeConstants() noexcept;
// IViewManagerWithCommands
winrt::Windows::Foundation::Collections::IVectorView<winrt::hstring>
Commands() noexcept;
void DispatchCommand(
winrt::Windows::UI::Xaml::FrameworkElement const &view,
winrt::hstring const &commandId,
winrt::Microsoft::ReactNative::IJSValueReader const
&commandArgsReader) noexcept;
private:
winrt::Microsoft::ReactNative::IReactContext m_reactContext{nullptr};
};
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,19 @@
#include "pch.h"
#include "SearchBar.h"
#include "JSValueXaml.h"
#include "NativeModules.h"
namespace winrt {
using namespace Microsoft::ReactNative;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
} // namespace winrt
namespace winrt::RNScreens::implementation {
SearchBar::SearchBar(
winrt::Microsoft::ReactNative::IReactContext reactContext)
: m_reactContext(reactContext) {}
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,14 @@
#pragma once
namespace winrt::RNScreens::implementation {
class SearchBar
: public winrt::Windows::UI::Xaml::Controls::StackPanelT<
SearchBar> {
public:
SearchBar(
winrt::Microsoft::ReactNative::IReactContext reactContext);
private:
winrt::Microsoft::ReactNative::IReactContext m_reactContext{nullptr};
};
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,88 @@
#include "pch.h"
#include "SearchBarViewManager.h"
#include "SearchBar.h"
#include "JSValueXaml.h"
#include "NativeModules.h"
namespace winrt {
using namespace Microsoft::ReactNative;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
} // namespace winrt
namespace winrt::RNScreens::implementation {
// IViewManager
winrt::hstring SearchBarViewManager::Name() noexcept {
return L"RNSSearchBar";
}
winrt::FrameworkElement SearchBarViewManager::CreateView() noexcept {
return winrt::make<winrt::RNScreens::implementation::SearchBar>(m_reactContext);
}
// IViewManagerRequiresNativeLayout
bool SearchBarViewManager::RequiresNativeLayout() {
return false;
}
// IViewManagerWithNativeProperties
IMapView<hstring, ViewManagerPropertyType>
SearchBarViewManager::NativeProps() noexcept {
auto nativeProps =
winrt::single_threaded_map<hstring, ViewManagerPropertyType>();
return nativeProps.GetView();
}
void SearchBarViewManager::UpdateProperties(
FrameworkElement const &view,
IJSValueReader const &propertyMapReader) noexcept {
(void)view;
const JSValueObject &propertyMap = JSValue::ReadObjectFrom(propertyMapReader);
for (auto const &pair : propertyMap) {
auto const &propertyName = pair.first;
auto const &propertyValue = pair.second;
(void)propertyName;
(void)propertyValue;
}
}
// IViewManagerWithCommands
IVectorView<hstring> SearchBarViewManager::Commands() noexcept {
auto commands = winrt::single_threaded_vector<hstring>();
return commands.GetView();
}
void SearchBarViewManager::DispatchCommand(
FrameworkElement const &view,
winrt::hstring const &commandId,
winrt::IJSValueReader const &commandArgsReader) noexcept {
(void)view;
(void)commandId;
(void)commandArgsReader;
}
// IViewManagerWithExportedEventTypeConstants
ConstantProviderDelegate SearchBarViewManager::
ExportedCustomBubblingEventTypeConstants() noexcept {
return nullptr;
}
ConstantProviderDelegate SearchBarViewManager::
ExportedCustomDirectEventTypeConstants() noexcept {
return nullptr;
}
// IViewManagerWithReactContext
winrt::IReactContext SearchBarViewManager::ReactContext() noexcept {
return m_reactContext;
}
void SearchBarViewManager::ReactContext(IReactContext reactContext) noexcept {
m_reactContext = reactContext;
}
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,62 @@
#pragma once
#include "NativeModules.h"
#include "winrt/Microsoft.ReactNative.h"
namespace winrt::RNScreens::implementation {
class SearchBarViewManager
: public winrt::implements<
SearchBarViewManager,
winrt::Microsoft::ReactNative::IViewManager,
winrt::Microsoft::ReactNative::IViewManagerWithNativeProperties,
winrt::Microsoft::ReactNative::IViewManagerWithCommands,
winrt::Microsoft::ReactNative::IViewManagerWithExportedEventTypeConstants,
winrt::Microsoft::ReactNative::IViewManagerRequiresNativeLayout,
winrt::Microsoft::ReactNative::IViewManagerWithReactContext> {
public:
SearchBarViewManager() = default;
// IViewManager
winrt::hstring Name() noexcept;
winrt::Windows::UI::Xaml::FrameworkElement CreateView() noexcept;
// IViewManagerRequiresNativeLayout
bool RequiresNativeLayout();
// IViewManagerWithNativeProperties
winrt::Windows::Foundation::Collections::IMapView<
winrt::hstring,
winrt::Microsoft::ReactNative::ViewManagerPropertyType>
NativeProps() noexcept;
void UpdateProperties(
winrt::Windows::UI::Xaml::FrameworkElement const &view,
winrt::Microsoft::ReactNative::IJSValueReader const
&propertyMapReader) noexcept;
// IViewManagerWithExportedEventTypeConstants
winrt::Microsoft::ReactNative::ConstantProviderDelegate
ExportedCustomBubblingEventTypeConstants() noexcept;
winrt::Microsoft::ReactNative::ConstantProviderDelegate
ExportedCustomDirectEventTypeConstants() noexcept;
// IViewManagerWithCommands
winrt::Windows::Foundation::Collections::IVectorView<winrt::hstring>
Commands() noexcept;
void DispatchCommand(
winrt::Windows::UI::Xaml::FrameworkElement const &view,
winrt::hstring const &commandId,
winrt::Microsoft::ReactNative::IJSValueReader const
&commandArgsReader) noexcept;
// IViewManagerWithReactContext
winrt::Microsoft::ReactNative::IReactContext ReactContext() noexcept;
void ReactContext(
winrt::Microsoft::ReactNative::IReactContext reactContext) noexcept;
private:
winrt::Microsoft::ReactNative::IReactContext m_reactContext{nullptr};
};
} // namespace winrt::RNScreens::implementation

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Windows.CppWinRT" version="2.0.200316.3" targetFramework="native" />
</packages>

View File

@@ -0,0 +1 @@
#include "pch.h"

View File

@@ -0,0 +1,9 @@
#pragma once
#include <unknwn.h>
#include <winrt/Microsoft.ReactNative.h>
#include <winrt/Windows.Foundation.Collections.h>
#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.System.h>
#include <winrt/Windows.UI.Xaml.Controls.h>
#include <winrt/Windows.UI.Xaml.h>

View File

@@ -0,0 +1,254 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30114.105
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RNScreens", "RNScreens\RNScreens.vcxproj", "{d638f49e-29d2-4699-ac52-facd82fa7138}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{4F6E56C3-12C5-4457-9239-0ACF0B7150A8}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\node_modules\react-native-windows\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSI.Universal", "..\node_modules\react-native-windows\JSI\Universal\JSI.Universal.vcxproj", "{A62D504A-16B8-41D2-9F19-E2E86019E5E4}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSI.Shared", "..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems", "{0CC28589-39E4-4288-B162-97B959F8B843}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\node_modules\react-native-windows\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\node_modules\react-native-windows\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\node_modules\react-native-windows\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Shared", "..\node_modules\react-native-windows\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactWindowsCore", "..\node_modules\react-native-windows\ReactWindowsCore\ReactWindowsCore.vcxproj", "{11C084A3-A57C-4296-A679-CAC17B603144}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\node_modules\react-native-windows\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{0cc28589-39e4-4288-b162-97b959f8b843}*SharedItemsImports = 9
..\node_modules\react-native-windows\ReactWindowsCore\ReactWindowsCore.vcxitems*{11c084a3-a57c-4296-a679-cac17b603144}*SharedItemsImports = 4
..\node_modules\react-native-windows\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9
..\node_modules\react-native-windows\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9
..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{a62d504a-16b8-41d2-9f19-e2e86019e5e4}*SharedItemsImports = 4
..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9
..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9
..\node_modules\react-native-windows\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9
..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
..\node_modules\react-native-windows\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
..\node_modules\react-native-windows\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|ARM = Release|ARM
Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
Release|x86 = Release|x86
WinUI3|ARM = WinUI3|ARM
WinUI3|ARM64 = WinUI3|ARM64
WinUI3|x64 = WinUI3|x64
WinUI3|x86 = WinUI3|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{d638f49e-29d2-4699-ac52-facd82fa7138}.Debug|ARM.ActiveCfg = Debug|ARM
{d638f49e-29d2-4699-ac52-facd82fa7138}.Debug|ARM.Build.0 = Debug|ARM
{d638f49e-29d2-4699-ac52-facd82fa7138}.Debug|ARM64.ActiveCfg = Debug|ARM64
{d638f49e-29d2-4699-ac52-facd82fa7138}.Debug|ARM64.Build.0 = Debug|ARM64
{d638f49e-29d2-4699-ac52-facd82fa7138}.Debug|x64.ActiveCfg = Debug|x64
{d638f49e-29d2-4699-ac52-facd82fa7138}.Debug|x64.Build.0 = Debug|x64
{d638f49e-29d2-4699-ac52-facd82fa7138}.Debug|x86.ActiveCfg = Debug|Win32
{d638f49e-29d2-4699-ac52-facd82fa7138}.Debug|x86.Build.0 = Debug|Win32
{d638f49e-29d2-4699-ac52-facd82fa7138}.Release|ARM.ActiveCfg = Release|ARM
{d638f49e-29d2-4699-ac52-facd82fa7138}.Release|ARM.Build.0 = Release|ARM
{d638f49e-29d2-4699-ac52-facd82fa7138}.Release|ARM64.ActiveCfg = Release|ARM64
{d638f49e-29d2-4699-ac52-facd82fa7138}.Release|ARM64.Build.0 = Release|ARM64
{d638f49e-29d2-4699-ac52-facd82fa7138}.Release|x64.ActiveCfg = Release|x64
{d638f49e-29d2-4699-ac52-facd82fa7138}.Release|x64.Build.0 = Release|x64
{d638f49e-29d2-4699-ac52-facd82fa7138}.Release|x86.ActiveCfg = Release|Win32
{d638f49e-29d2-4699-ac52-facd82fa7138}.Release|x86.Build.0 = Release|Win32
{d638f49e-29d2-4699-ac52-facd82fa7138}.WinUI3|ARM.ActiveCfg = Release|ARM
{d638f49e-29d2-4699-ac52-facd82fa7138}.WinUI3|ARM.Build.0 = Release|ARM
{d638f49e-29d2-4699-ac52-facd82fa7138}.WinUI3|ARM64.ActiveCfg = Release|ARM64
{d638f49e-29d2-4699-ac52-facd82fa7138}.WinUI3|ARM64.Build.0 = Release|ARM64
{d638f49e-29d2-4699-ac52-facd82fa7138}.WinUI3|x64.ActiveCfg = Release|x64
{d638f49e-29d2-4699-ac52-facd82fa7138}.WinUI3|x64.Build.0 = Release|x64
{d638f49e-29d2-4699-ac52-facd82fa7138}.WinUI3|x86.ActiveCfg = Release|Win32
{d638f49e-29d2-4699-ac52-facd82fa7138}.WinUI3|x86.Build.0 = Release|Win32
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.ActiveCfg = Debug|ARM
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.Build.0 = Debug|ARM
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.ActiveCfg = Debug|ARM64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.Build.0 = Debug|ARM64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.ActiveCfg = Debug|x64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.Build.0 = Debug|x64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.ActiveCfg = Debug|Win32
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.Build.0 = Debug|Win32
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM.ActiveCfg = Release|ARM
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM.Build.0 = Release|ARM
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.ActiveCfg = Release|ARM64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.Build.0 = Release|ARM64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.ActiveCfg = Release|x64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.Build.0 = Release|x64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.ActiveCfg = Release|Win32
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.Build.0 = Release|Win32
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.WinUI3|ARM.ActiveCfg = Release|ARM
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.WinUI3|ARM.Build.0 = Release|ARM
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.WinUI3|ARM64.ActiveCfg = Release|ARM64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.WinUI3|ARM64.Build.0 = Release|ARM64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.WinUI3|x64.ActiveCfg = Release|x64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.WinUI3|x64.Build.0 = Release|x64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.WinUI3|x86.ActiveCfg = Release|Win32
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.WinUI3|x86.Build.0 = Release|Win32
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM.ActiveCfg = Debug|ARM
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM.Build.0 = Debug|ARM
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.ActiveCfg = Debug|ARM64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.Build.0 = Debug|ARM64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.ActiveCfg = Debug|x64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.Build.0 = Debug|x64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.ActiveCfg = Debug|Win32
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.Build.0 = Debug|Win32
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM.ActiveCfg = Release|ARM
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM.Build.0 = Release|ARM
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.ActiveCfg = Release|ARM64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.Build.0 = Release|ARM64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.ActiveCfg = Release|x64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.Build.0 = Release|x64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.ActiveCfg = Release|Win32
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.Build.0 = Release|Win32
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.WinUI3|ARM.ActiveCfg = Release|ARM
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.WinUI3|ARM.Build.0 = Release|ARM
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.WinUI3|ARM64.ActiveCfg = Release|ARM64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.WinUI3|ARM64.Build.0 = Release|ARM64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.WinUI3|x64.ActiveCfg = Release|x64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.WinUI3|x64.Build.0 = Release|x64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.WinUI3|x86.ActiveCfg = Release|Win32
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.WinUI3|x86.Build.0 = Release|Win32
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM.ActiveCfg = Debug|ARM
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM.Build.0 = Debug|ARM
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM64.ActiveCfg = Debug|ARM64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM64.Build.0 = Debug|ARM64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x64.ActiveCfg = Debug|x64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x64.Build.0 = Debug|x64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x86.ActiveCfg = Debug|Win32
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x86.Build.0 = Debug|Win32
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM.ActiveCfg = Release|ARM
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM.Build.0 = Release|ARM
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM64.ActiveCfg = Release|ARM64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM64.Build.0 = Release|ARM64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x64.ActiveCfg = Release|x64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x64.Build.0 = Release|x64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x86.ActiveCfg = Release|Win32
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x86.Build.0 = Release|Win32
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.WinUI3|ARM.ActiveCfg = Release|ARM
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.WinUI3|ARM.Build.0 = Release|ARM
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.WinUI3|ARM64.ActiveCfg = Release|ARM64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.WinUI3|ARM64.Build.0 = Release|ARM64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.WinUI3|x64.ActiveCfg = Release|x64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.WinUI3|x64.Build.0 = Release|x64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.WinUI3|x86.ActiveCfg = Release|Win32
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.WinUI3|x86.Build.0 = Release|Win32
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM.ActiveCfg = Debug|ARM
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM.Build.0 = Debug|ARM
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.ActiveCfg = Debug|ARM64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.Build.0 = Debug|ARM64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.ActiveCfg = Debug|x64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.Build.0 = Debug|x64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.ActiveCfg = Debug|Win32
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.Build.0 = Debug|Win32
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM.ActiveCfg = Release|ARM
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM.Build.0 = Release|ARM
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.ActiveCfg = Release|ARM64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.Build.0 = Release|ARM64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.ActiveCfg = Release|x64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.Build.0 = Release|x64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.ActiveCfg = Release|Win32
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.Build.0 = Release|Win32
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.WinUI3|ARM.ActiveCfg = Release|ARM
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.WinUI3|ARM.Build.0 = Release|ARM
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.WinUI3|ARM64.ActiveCfg = Release|ARM64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.WinUI3|ARM64.Build.0 = Release|ARM64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.WinUI3|x64.ActiveCfg = Release|x64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.WinUI3|x64.Build.0 = Release|x64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.WinUI3|x86.ActiveCfg = Release|Win32
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.WinUI3|x86.Build.0 = Release|Win32
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM.ActiveCfg = Debug|ARM
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM.Build.0 = Debug|ARM
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.ActiveCfg = Debug|ARM64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.Build.0 = Debug|ARM64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.ActiveCfg = Debug|x64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.Build.0 = Debug|x64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.ActiveCfg = Debug|Win32
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.Build.0 = Debug|Win32
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM.ActiveCfg = Release|ARM
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM.Build.0 = Release|ARM
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.ActiveCfg = Release|ARM64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.Build.0 = Release|ARM64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.ActiveCfg = Release|x64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.Build.0 = Release|x64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.ActiveCfg = Release|Win32
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Build.0 = Release|Win32
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.WinUI3|ARM.ActiveCfg = Release|ARM
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.WinUI3|ARM.Build.0 = Release|ARM
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.WinUI3|ARM64.ActiveCfg = Release|ARM64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.WinUI3|ARM64.Build.0 = Release|ARM64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.WinUI3|x64.ActiveCfg = Release|x64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.WinUI3|x64.Build.0 = Release|x64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.WinUI3|x86.ActiveCfg = Release|Win32
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.WinUI3|x86.Build.0 = Release|Win32
{11C084A3-A57C-4296-A679-CAC17B603144}.Debug|ARM.ActiveCfg = Debug|ARM
{11C084A3-A57C-4296-A679-CAC17B603144}.Debug|ARM.Build.0 = Debug|ARM
{11C084A3-A57C-4296-A679-CAC17B603144}.Debug|ARM64.ActiveCfg = Debug|ARM64
{11C084A3-A57C-4296-A679-CAC17B603144}.Debug|ARM64.Build.0 = Debug|ARM64
{11C084A3-A57C-4296-A679-CAC17B603144}.Debug|x64.ActiveCfg = Debug|x64
{11C084A3-A57C-4296-A679-CAC17B603144}.Debug|x64.Build.0 = Debug|x64
{11C084A3-A57C-4296-A679-CAC17B603144}.Debug|x86.ActiveCfg = Debug|Win32
{11C084A3-A57C-4296-A679-CAC17B603144}.Debug|x86.Build.0 = Debug|Win32
{11C084A3-A57C-4296-A679-CAC17B603144}.Release|ARM.ActiveCfg = Release|ARM
{11C084A3-A57C-4296-A679-CAC17B603144}.Release|ARM.Build.0 = Release|ARM
{11C084A3-A57C-4296-A679-CAC17B603144}.Release|ARM64.ActiveCfg = Release|ARM64
{11C084A3-A57C-4296-A679-CAC17B603144}.Release|ARM64.Build.0 = Release|ARM64
{11C084A3-A57C-4296-A679-CAC17B603144}.Release|x64.ActiveCfg = Release|x64
{11C084A3-A57C-4296-A679-CAC17B603144}.Release|x64.Build.0 = Release|x64
{11C084A3-A57C-4296-A679-CAC17B603144}.Release|x86.ActiveCfg = Release|Win32
{11C084A3-A57C-4296-A679-CAC17B603144}.Release|x86.Build.0 = Release|Win32
{11C084A3-A57C-4296-A679-CAC17B603144}.WinUI3|ARM.ActiveCfg = WinUI3|ARM
{11C084A3-A57C-4296-A679-CAC17B603144}.WinUI3|ARM.Build.0 = WinUI3|ARM
{11C084A3-A57C-4296-A679-CAC17B603144}.WinUI3|ARM64.ActiveCfg = WinUI3|ARM64
{11C084A3-A57C-4296-A679-CAC17B603144}.WinUI3|ARM64.Build.0 = WinUI3|ARM64
{11C084A3-A57C-4296-A679-CAC17B603144}.WinUI3|x64.ActiveCfg = WinUI3|x64
{11C084A3-A57C-4296-A679-CAC17B603144}.WinUI3|x64.Build.0 = WinUI3|x64
{11C084A3-A57C-4296-A679-CAC17B603144}.WinUI3|x86.ActiveCfg = WinUI3|Win32
{11C084A3-A57C-4296-A679-CAC17B603144}.WinUI3|x86.Build.0 = WinUI3|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{A62D504A-16B8-41D2-9F19-E2E86019E5E4} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{0CC28589-39E4-4288-B162-97B959F8B843} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{C38970C0-5FBF-4D69-90D8-CBAC225AE895} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{F7D32BD0-2749-483E-9A0D-1635EF7E3136} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{11C084A3-A57C-4296-A679-CAC17B603144} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{EF074BA1-2D54-4D49-A28E-5E040B47CD2E} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {1E57BD63-8052-4EAD-9EEB-BD1A60F44A67}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,225 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30114.105
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RNScreens", "RNScreens\RNScreens.vcxproj", "{D638F49E-29D2-4699-AC52-FACD82FA7138}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{4F6E56C3-12C5-4457-9239-0ACF0B7150A8}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\node_modules\react-native-windows\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSI.Universal", "..\node_modules\react-native-windows\JSI\Universal\JSI.Universal.vcxproj", "{A62D504A-16B8-41D2-9F19-E2E86019E5E4}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSI.Shared", "..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems", "{0CC28589-39E4-4288-B162-97B959F8B843}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\node_modules\react-native-windows\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\node_modules\react-native-windows\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\node_modules\react-native-windows\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\node_modules\react-native-windows\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\node_modules\react-native-windows\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{0cc28589-39e4-4288-b162-97b959f8b843}*SharedItemsImports = 9
..\node_modules\react-native-windows\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9
..\node_modules\react-native-windows\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9
..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{a62d504a-16b8-41d2-9f19-e2e86019e5e4}*SharedItemsImports = 4
..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9
..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9
..\node_modules\react-native-windows\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9
..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
..\node_modules\react-native-windows\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
..\node_modules\react-native-windows\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|ARM = Release|ARM
Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
Release|x86 = Release|x86
WinUI3|ARM = WinUI3|ARM
WinUI3|ARM64 = WinUI3|ARM64
WinUI3|x64 = WinUI3|x64
WinUI3|x86 = WinUI3|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Debug|ARM.ActiveCfg = Debug|ARM
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Debug|ARM.Build.0 = Debug|ARM
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Debug|ARM64.ActiveCfg = Debug|ARM64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Debug|ARM64.Build.0 = Debug|ARM64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Debug|x64.ActiveCfg = Debug|x64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Debug|x64.Build.0 = Debug|x64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Debug|x86.ActiveCfg = Debug|Win32
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Debug|x86.Build.0 = Debug|Win32
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Release|ARM.ActiveCfg = Release|ARM
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Release|ARM.Build.0 = Release|ARM
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Release|ARM64.ActiveCfg = Release|ARM64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Release|ARM64.Build.0 = Release|ARM64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Release|x64.ActiveCfg = Release|x64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Release|x64.Build.0 = Release|x64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Release|x86.ActiveCfg = Release|Win32
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Release|x86.Build.0 = Release|Win32
{D638F49E-29D2-4699-AC52-FACD82FA7138}.WinUI3|ARM.ActiveCfg = Release|ARM
{D638F49E-29D2-4699-AC52-FACD82FA7138}.WinUI3|ARM.Build.0 = Release|ARM
{D638F49E-29D2-4699-AC52-FACD82FA7138}.WinUI3|ARM64.ActiveCfg = Release|ARM64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.WinUI3|ARM64.Build.0 = Release|ARM64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.WinUI3|x64.ActiveCfg = Release|x64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.WinUI3|x64.Build.0 = Release|x64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.WinUI3|x86.ActiveCfg = Release|Win32
{D638F49E-29D2-4699-AC52-FACD82FA7138}.WinUI3|x86.Build.0 = Release|Win32
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.ActiveCfg = Debug|ARM
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.Build.0 = Debug|ARM
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.ActiveCfg = Debug|ARM64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.Build.0 = Debug|ARM64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.ActiveCfg = Debug|x64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.Build.0 = Debug|x64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.ActiveCfg = Debug|Win32
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.Build.0 = Debug|Win32
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM.ActiveCfg = Release|ARM
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM.Build.0 = Release|ARM
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.ActiveCfg = Release|ARM64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.Build.0 = Release|ARM64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.ActiveCfg = Release|x64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.Build.0 = Release|x64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.ActiveCfg = Release|Win32
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.Build.0 = Release|Win32
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.WinUI3|ARM.ActiveCfg = Release|ARM
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.WinUI3|ARM.Build.0 = Release|ARM
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.WinUI3|ARM64.ActiveCfg = Release|ARM64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.WinUI3|ARM64.Build.0 = Release|ARM64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.WinUI3|x64.ActiveCfg = Release|x64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.WinUI3|x64.Build.0 = Release|x64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.WinUI3|x86.ActiveCfg = Release|Win32
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.WinUI3|x86.Build.0 = Release|Win32
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM.ActiveCfg = Debug|ARM
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM.Build.0 = Debug|ARM
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.ActiveCfg = Debug|ARM64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.Build.0 = Debug|ARM64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.ActiveCfg = Debug|x64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.Build.0 = Debug|x64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.ActiveCfg = Debug|Win32
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.Build.0 = Debug|Win32
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM.ActiveCfg = Release|ARM
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM.Build.0 = Release|ARM
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.ActiveCfg = Release|ARM64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.Build.0 = Release|ARM64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.ActiveCfg = Release|x64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.Build.0 = Release|x64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.ActiveCfg = Release|Win32
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.Build.0 = Release|Win32
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.WinUI3|ARM.ActiveCfg = Release|ARM
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.WinUI3|ARM.Build.0 = Release|ARM
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.WinUI3|ARM64.ActiveCfg = Release|ARM64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.WinUI3|ARM64.Build.0 = Release|ARM64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.WinUI3|x64.ActiveCfg = Release|x64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.WinUI3|x64.Build.0 = Release|x64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.WinUI3|x86.ActiveCfg = Release|Win32
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.WinUI3|x86.Build.0 = Release|Win32
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM.ActiveCfg = Debug|ARM
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM.Build.0 = Debug|ARM
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM64.ActiveCfg = Debug|ARM64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM64.Build.0 = Debug|ARM64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x64.ActiveCfg = Debug|x64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x64.Build.0 = Debug|x64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x86.ActiveCfg = Debug|Win32
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x86.Build.0 = Debug|Win32
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM.ActiveCfg = Release|ARM
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM.Build.0 = Release|ARM
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM64.ActiveCfg = Release|ARM64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM64.Build.0 = Release|ARM64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x64.ActiveCfg = Release|x64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x64.Build.0 = Release|x64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x86.ActiveCfg = Release|Win32
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x86.Build.0 = Release|Win32
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.WinUI3|ARM.ActiveCfg = Release|ARM
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.WinUI3|ARM.Build.0 = Release|ARM
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.WinUI3|ARM64.ActiveCfg = Release|ARM64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.WinUI3|ARM64.Build.0 = Release|ARM64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.WinUI3|x64.ActiveCfg = Release|x64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.WinUI3|x64.Build.0 = Release|x64
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.WinUI3|x86.ActiveCfg = Release|Win32
{A62D504A-16B8-41D2-9F19-E2E86019E5E4}.WinUI3|x86.Build.0 = Release|Win32
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM.ActiveCfg = Debug|ARM
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM.Build.0 = Debug|ARM
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.ActiveCfg = Debug|ARM64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.Build.0 = Debug|ARM64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.ActiveCfg = Debug|x64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.Build.0 = Debug|x64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.ActiveCfg = Debug|Win32
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.Build.0 = Debug|Win32
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM.ActiveCfg = Release|ARM
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM.Build.0 = Release|ARM
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.ActiveCfg = Release|ARM64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.Build.0 = Release|ARM64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.ActiveCfg = Release|x64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.Build.0 = Release|x64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.ActiveCfg = Release|Win32
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.Build.0 = Release|Win32
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.WinUI3|ARM.ActiveCfg = Release|ARM
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.WinUI3|ARM.Build.0 = Release|ARM
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.WinUI3|ARM64.ActiveCfg = Release|ARM64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.WinUI3|ARM64.Build.0 = Release|ARM64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.WinUI3|x64.ActiveCfg = Release|x64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.WinUI3|x64.Build.0 = Release|x64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.WinUI3|x86.ActiveCfg = Release|Win32
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.WinUI3|x86.Build.0 = Release|Win32
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM.ActiveCfg = Debug|ARM
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM.Build.0 = Debug|ARM
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.ActiveCfg = Debug|ARM64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.Build.0 = Debug|ARM64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.ActiveCfg = Debug|x64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.Build.0 = Debug|x64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.ActiveCfg = Debug|Win32
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.Build.0 = Debug|Win32
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM.ActiveCfg = Release|ARM
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM.Build.0 = Release|ARM
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.ActiveCfg = Release|ARM64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.Build.0 = Release|ARM64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.ActiveCfg = Release|x64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.Build.0 = Release|x64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.ActiveCfg = Release|Win32
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Build.0 = Release|Win32
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.WinUI3|ARM.ActiveCfg = Release|ARM
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.WinUI3|ARM.Build.0 = Release|ARM
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.WinUI3|ARM64.ActiveCfg = Release|ARM64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.WinUI3|ARM64.Build.0 = Release|ARM64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.WinUI3|x64.ActiveCfg = Release|x64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.WinUI3|x64.Build.0 = Release|x64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.WinUI3|x86.ActiveCfg = Release|Win32
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.WinUI3|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{A62D504A-16B8-41D2-9F19-E2E86019E5E4} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{0CC28589-39E4-4288-B162-97B959F8B843} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{C38970C0-5FBF-4D69-90D8-CBAC225AE895} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{F7D32BD0-2749-483E-9A0D-1635EF7E3136} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{EF074BA1-2D54-4D49-A28E-5E040B47CD2E} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {1E57BD63-8052-4EAD-9EEB-BD1A60F44A67}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,144 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30114.105
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RNScreens", "RNScreens\RNScreens.vcxproj", "{D638F49E-29D2-4699-AC52-FACD82FA7138}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{4F6E56C3-12C5-4457-9239-0ACF0B7150A8}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\node_modules\react-native-windows\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\node_modules\react-native-windows\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\node_modules\react-native-windows\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\node_modules\react-native-windows\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\node_modules\react-native-windows\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\node_modules\react-native-windows\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\node_modules\react-native-windows\fmt\fmt.vcxproj", "{14B93DC8-FD93-4A6D-81CB-8BC96644501C}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
..\node_modules\react-native-windows\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9
..\node_modules\react-native-windows\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9
..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9
..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9
..\node_modules\react-native-windows\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9
..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
..\node_modules\react-native-windows\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
..\node_modules\react-native-windows\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Debug|ARM64.ActiveCfg = Debug|ARM64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Debug|ARM64.Build.0 = Debug|ARM64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Debug|x64.ActiveCfg = Debug|x64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Debug|x64.Build.0 = Debug|x64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Debug|x86.ActiveCfg = Debug|Win32
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Debug|x86.Build.0 = Debug|Win32
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Release|ARM64.ActiveCfg = Release|ARM64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Release|ARM64.Build.0 = Release|ARM64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Release|x64.ActiveCfg = Release|x64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Release|x64.Build.0 = Release|x64
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Release|x86.ActiveCfg = Release|Win32
{D638F49E-29D2-4699-AC52-FACD82FA7138}.Release|x86.Build.0 = Release|Win32
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.ActiveCfg = Debug|ARM64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.Build.0 = Debug|ARM64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.ActiveCfg = Debug|x64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.Build.0 = Debug|x64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.ActiveCfg = Debug|Win32
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.Build.0 = Debug|Win32
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.ActiveCfg = Release|ARM64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.Build.0 = Release|ARM64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.ActiveCfg = Release|x64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.Build.0 = Release|x64
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.ActiveCfg = Release|Win32
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.Build.0 = Release|Win32
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.ActiveCfg = Debug|ARM64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.Build.0 = Debug|ARM64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.ActiveCfg = Debug|x64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.Build.0 = Debug|x64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.ActiveCfg = Debug|Win32
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.Build.0 = Debug|Win32
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.ActiveCfg = Release|ARM64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.Build.0 = Release|ARM64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.ActiveCfg = Release|x64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.Build.0 = Release|x64
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.ActiveCfg = Release|Win32
{A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.Build.0 = Release|Win32
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.ActiveCfg = Debug|ARM64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.Build.0 = Debug|ARM64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.ActiveCfg = Debug|x64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.Build.0 = Debug|x64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.ActiveCfg = Debug|Win32
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.Build.0 = Debug|Win32
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.ActiveCfg = Release|ARM64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.Build.0 = Release|ARM64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.ActiveCfg = Release|x64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.Build.0 = Release|x64
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.ActiveCfg = Release|Win32
{F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.Build.0 = Release|Win32
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.ActiveCfg = Debug|ARM64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.Build.0 = Debug|ARM64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.ActiveCfg = Debug|x64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.Build.0 = Debug|x64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.ActiveCfg = Debug|Win32
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.Build.0 = Debug|Win32
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.ActiveCfg = Release|ARM64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.Build.0 = Release|ARM64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.ActiveCfg = Release|x64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.Build.0 = Release|x64
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.ActiveCfg = Release|Win32
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Build.0 = Release|Win32
{14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Debug|ARM64.ActiveCfg = Debug|ARM64
{14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Debug|ARM64.Build.0 = Debug|ARM64
{14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Debug|x64.ActiveCfg = Debug|x64
{14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Debug|x64.Build.0 = Debug|x64
{14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Debug|x86.ActiveCfg = Debug|Win32
{14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Debug|x86.Build.0 = Debug|Win32
{14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Debug|x86.Deploy.0 = Debug|Win32
{14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|ARM64.ActiveCfg = Release|ARM64
{14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|ARM64.Build.0 = Release|ARM64
{14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|x64.ActiveCfg = Release|x64
{14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|x64.Build.0 = Release|x64
{14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|x86.ActiveCfg = Release|Win32
{14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|x86.Build.0 = Release|Win32
{14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|x86.Deploy.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{C38970C0-5FBF-4D69-90D8-CBAC225AE895} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{F7D32BD0-2749-483E-9A0D-1635EF7E3136} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{EF074BA1-2D54-4D49-A28E-5E040B47CD2E} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
{14B93DC8-FD93-4A6D-81CB-8BC96644501C} = {4F6E56C3-12C5-4457-9239-0ACF0B7150A8}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {1E57BD63-8052-4EAD-9EEB-BD1A60F44A67}
EndGlobalSection
EndGlobal