react-native-unistyles 2.3.0-beta.0 → 2.3.0-beta.1

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -9,6 +9,7 @@
9
9
  [![platform - web](https://img.shields.io/badge/React_Native_Web-white?logo=react&logoColor=57BDDA&style=for-the-badge)](https://www.w3.org/)
10
10
  [![platform - ios](https://img.shields.io/badge/iOS-000?logo=apple&style=for-the-badge)](https://developer.apple.com/ios/)
11
11
  [![platform - macos](https://img.shields.io/badge/macOS-000?logo=apple&style=for-the-badge)](https://developer.apple.com/macos/)
12
+ [![platform - windows](https://img.shields.io/badge/windows-00a2ed?logo=windows&style=for-the-badge)](https://microsoft.github.io/react-native-windows/docs/getting-started)
12
13
  [![platform - ssr](https://img.shields.io/badge/SSR-black?style=for-the-badge&logo=next.js&logoColor=white)](https://nextjs.org/)
13
14
  [![platform - android](https://img.shields.io/badge/Android-44CD11?style=for-the-badge&logo=android&logoColor=white)](https://developer.android.com/)
14
15
 
@@ -36,7 +37,7 @@
36
37
  - ⚛️ No React Context
37
38
  - 🖥️ Supports custom breakpoints, css-like media queries and variants
38
39
  - 🎨 Register multiple themes and change them with single function call
39
- - 🥳 Compatible with Expo, Bare React Native, React Native Web, React Native macOS and SSR
40
+ - 🥳 Compatible with most popular platforms
40
41
  - 🛡️ ~99% Test coverage
41
42
  - 🔌 Extend stylesheets with your own plugins
42
43
  - ⚔️ No 3rd party dependencies
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-unistyles",
3
- "version": "2.3.0-beta.0",
3
+ "version": "2.3.0-beta.1",
4
4
  "description": "Level up your React Native StyleSheet",
5
5
  "scripts": {
6
6
  "test": "jest",
@@ -22,6 +22,7 @@
22
22
  "ios",
23
23
  "android",
24
24
  "cxx",
25
+ "windows",
25
26
  "react-native-unistyles.podspec",
26
27
  "!lib/typescript/examples",
27
28
  "!ios/build",
@@ -39,6 +40,7 @@
39
40
  "ios",
40
41
  "android",
41
42
  "react-native-macos",
43
+ "react-native-windows",
42
44
  "react-native-web",
43
45
  "expo"
44
46
  ],
@@ -0,0 +1,40 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+
4
+ <!--
5
+ Application projects contain a file with this name to specify some important settings
6
+ that will apply globally for the app and *all* native modules the app consumes. These
7
+ values are set by the app developer. However you can also set them here to test building
8
+ the library solution without an app.
9
+ -->
10
+
11
+ <PropertyGroup Label="Microsoft.ReactNative Experimental Features">
12
+ <!--
13
+ Enables default usage of Hermes.
14
+
15
+ See https://microsoft.github.io/react-native-windows/docs/hermes
16
+ -->
17
+ <UseHermes>true</UseHermes>
18
+
19
+ <!--
20
+ Changes compilation to assume use of WinUI 3 instead of System XAML.
21
+ Requires creation of new project.
22
+
23
+ See https://microsoft.github.io/react-native-windows/docs/winui3
24
+ -->
25
+ <UseWinUI3>false</UseWinUI3>
26
+
27
+ <!--
28
+ Changes compilation to assume use of Microsoft.ReactNative NuGet packages
29
+ instead of building the framework from source.
30
+ Requires creation of new project.
31
+
32
+ See https://microsoft.github.io/react-native-windows/docs/nuget
33
+ -->
34
+ <UseExperimentalNuget>true</UseExperimentalNuget>
35
+
36
+ <ReactExperimentalFeaturesSet>true</ReactExperimentalFeaturesSet>
37
+
38
+ </PropertyGroup>
39
+
40
+ </Project>
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <configuration>
3
+ <config>
4
+ <add key="repositoryPath" value="packages" />
5
+ </config>
6
+ <packageSources>
7
+ <clear />
8
+ <add key="react-native" value="https://pkgs.dev.azure.com/ms/react-native/_packaging/react-native-public/nuget/v3/index.json" />
9
+ <add key="Nuget.org" value="https://api.nuget.org/v3/index.json" />
10
+ </packageSources>
11
+ <disabledPackageSources>
12
+ <clear />
13
+ </disabledPackageSources>
14
+ </configuration>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <ImportGroup Label="PropertySheets" />
4
+ <PropertyGroup Label="UserMacros" />
5
+ <!--
6
+ To customize common C++/WinRT project properties:
7
+ * right-click the project node
8
+ * expand the Common Properties item
9
+ * select the C++/WinRT property page
10
+
11
+ For more advanced scenarios, and complete documentation, please see:
12
+ https://github.com/Microsoft/xlang/tree/master/src/package/cppwinrt/nuget
13
+ -->
14
+ <PropertyGroup />
15
+ <ItemDefinitionGroup />
16
+ </Project>
@@ -0,0 +1,3 @@
1
+ EXPORTS
2
+ DllCanUnloadNow = WINRT_CanUnloadNow PRIVATE
3
+ DllGetActivationFactory = WINRT_GetActivationFactory PRIVATE
@@ -0,0 +1,197 @@
1
+ #pragma once
2
+
3
+ #include <future>
4
+ #include "JSValue.h"
5
+ #include <jsi/jsi.h>
6
+ #include "NativeModules.h"
7
+ #include <JSI/JsiApiContext.h>
8
+ #include <winrt/Microsoft.ReactNative.h>
9
+ #include <winrt/Windows.UI.Xaml.h>
10
+ #include <winrt/Windows.UI.Core.h>
11
+ #include <winrt/Windows.UI.ViewManagement.h>
12
+ #include "UnistylesRuntime.h"
13
+
14
+ using namespace winrt::Windows::UI::ViewManagement;
15
+ using namespace winrt::Microsoft::ReactNative;
16
+ using namespace winrt::Windows::UI::Xaml;
17
+ using namespace winrt::Windows::UI::Core;
18
+ using namespace facebook;
19
+
20
+ struct UIInitialInfo {
21
+ int screenWidth;
22
+ int screenHeight;
23
+ std::string colorScheme;
24
+ std::string contentSizeCategory;
25
+ };
26
+
27
+ namespace winrt::ReactNativeUnistyles
28
+ {
29
+
30
+ REACT_MODULE(Unistyles, L"Unistyles")
31
+ struct Unistyles {
32
+
33
+ REACT_INIT(Initialize)
34
+ void Initialize(ReactContext const &reactContext) noexcept {
35
+ m_reactContext = reactContext;
36
+
37
+ m_reactContext.UIDispatcher().Post([this]() mutable {
38
+ this->windowSizeChange = Window::Current().CoreWindow().SizeChanged(TypedEventHandler<CoreWindow, WindowSizeChangedEventArgs>([=](CoreWindow const sender, WindowSizeChangedEventArgs const&) {
39
+ auto bounds = Window::Current().Bounds();
40
+
41
+ if (this->unistylesRuntime != nullptr) {
42
+ ((UnistylesRuntime*)this->unistylesRuntime)->handleScreenSizeChange((int)bounds.Width, (int)bounds.Height);
43
+ }
44
+ }));
45
+
46
+ UISettings settings;
47
+
48
+ this->colorValuesChange = settings.ColorValuesChanged(TypedEventHandler<UISettings, IInspectable>([this](UISettings const& sender, IInspectable const&){
49
+ if (this->unistylesRuntime != nullptr) {
50
+ ((UnistylesRuntime*)this->unistylesRuntime)->handleAppearanceChange(this->getColorScheme());
51
+ }
52
+ }));
53
+ });
54
+ }
55
+
56
+ REACT_SYNC_METHOD(install)
57
+ bool install() noexcept {
58
+ if (m_reactContext == nullptr) {
59
+ return false;
60
+ }
61
+
62
+ jsi::Runtime* jsiRuntime = TryGetOrCreateContextRuntime(m_reactContext);
63
+
64
+ if (jsiRuntime == nullptr) {
65
+ return false;
66
+ }
67
+
68
+ auto& runtime = *jsiRuntime;
69
+
70
+ registerUnistylesHostObject(runtime);
71
+
72
+ return true;
73
+ }
74
+
75
+ void registerUnistylesHostObject(jsi::Runtime& runtime) {
76
+ std::promise<UIInitialInfo> uiInfoPromise;
77
+ auto uiInfoFuture = uiInfoPromise.get_future();
78
+
79
+ m_reactContext.UIDispatcher().Post([this, promise = std::move(uiInfoPromise)]() mutable {
80
+ UIInitialInfo uiMetadata;
81
+ auto bounds = Window::Current().Bounds();
82
+
83
+ uiMetadata.screenWidth = bounds.Width;
84
+ uiMetadata.screenHeight = bounds.Height;
85
+ uiMetadata.colorScheme = this->getColorScheme();
86
+ uiMetadata.contentSizeCategory = UnistylesUnspecifiedScheme;
87
+
88
+ promise.set_value(std::move(uiMetadata));
89
+ });
90
+
91
+ UIInitialInfo uiInfo = uiInfoFuture.get();
92
+
93
+ auto unistylesRuntime = std::make_shared<UnistylesRuntime>(
94
+ uiInfo.screenWidth,
95
+ uiInfo.screenHeight,
96
+ uiInfo.colorScheme,
97
+ uiInfo.contentSizeCategory
98
+ );
99
+
100
+ unistylesRuntime->onThemeChange([this](std::string theme) {
101
+ winrt::hstring themeName = winrt::to_hstring(theme);
102
+
103
+ auto payload = winrt::Microsoft::ReactNative::JSValueObject{
104
+ {"type", "theme"},
105
+ {"payload", winrt::Microsoft::ReactNative::JSValueObject{{"themeName", winrt::to_string(themeName)}}}
106
+ };
107
+
108
+ this->OnThemeChange(payload);
109
+ });
110
+
111
+ unistylesRuntime.get()->onLayoutChange([this](std::string breakpoint, std::string orientation, int width, int height) {
112
+ auto payload = winrt::Microsoft::ReactNative::JSValueObject{
113
+ {"type", "layout"},
114
+ {"payload", winrt::Microsoft::ReactNative::JSValueObject{
115
+ {"breakpoint", breakpoint},
116
+ {"orientation", orientation},
117
+ {"screen", winrt::Microsoft::ReactNative::JSValueObject{
118
+ {"width", width},
119
+ {"height", height}
120
+ }}
121
+ }}
122
+ };
123
+
124
+ this->OnLayoutChange(payload);
125
+ });
126
+
127
+ unistylesRuntime.get()->onPluginChange([this]() {
128
+ auto payload = winrt::Microsoft::ReactNative::JSValueObject{
129
+ {"type", "plugin"}
130
+ };
131
+
132
+ this->OnPluginChange(payload);
133
+ });
134
+
135
+ unistylesRuntime.get()->onContentSizeCategoryChange([this](std::string contentSizeCategory) {
136
+ // not available on windows
137
+ });
138
+
139
+ this->unistylesRuntime = unistylesRuntime.get();
140
+
141
+ auto hostObject = jsi::Object::createFromHostObject(runtime, unistylesRuntime);
142
+
143
+ runtime.global().setProperty(runtime, "__UNISTYLES__", std::move(hostObject));
144
+ }
145
+
146
+ REACT_EVENT(OnThemeChange, L"__unistylesOnChange")
147
+ std::function<void(winrt::Microsoft::ReactNative::JSValueObject const&)> OnThemeChange;
148
+
149
+ REACT_EVENT(OnLayoutChange, L"__unistylesOnChange")
150
+ std::function<void(winrt::Microsoft::ReactNative::JSValueObject const&)> OnLayoutChange;
151
+
152
+ REACT_EVENT(OnPluginChange, L"__unistylesOnChange")
153
+ std::function<void(winrt::Microsoft::ReactNative::JSValueObject const&)> OnPluginChange;
154
+
155
+ ~Unistyles() {
156
+ if (this->unistylesRuntime != nullptr) {
157
+ this->unistylesRuntime = nullptr;
158
+ }
159
+
160
+ if (this->windowSizeChange) {
161
+ Window::Current().CoreWindow().SizeChanged(this->windowSizeChange);
162
+ }
163
+
164
+ if (this->colorValuesChange) {
165
+ UISettings settings;
166
+
167
+ settings.ColorValuesChanged(this->colorValuesChange);
168
+ }
169
+ }
170
+
171
+ private:
172
+ ReactContext m_reactContext{nullptr};
173
+ void* unistylesRuntime{ nullptr };
174
+ winrt::event_token windowSizeChange{ NULL };
175
+ winrt::event_token colorValuesChange{ NULL };
176
+
177
+ std::string getColorScheme() {
178
+ auto uiSettings = UISettings();
179
+ auto background = uiSettings.GetColorValue(UIColorType::Background);
180
+
181
+ bool isDark = background == winrt::Windows::UI::Colors::Black();
182
+
183
+ if (isDark) {
184
+ return UnistylesDarkScheme;
185
+ }
186
+
187
+ bool isLight = background == winrt::Windows::UI::Colors::White();
188
+
189
+ if (isLight) {
190
+ return UnistylesLightScheme;
191
+ }
192
+
193
+ return UnistylesUnspecifiedScheme;
194
+ }
195
+ };
196
+
197
+ } // namespace winrt::ReactNativeUnistyles
@@ -0,0 +1,150 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- This project was created with react-native-windows 0.73.4 -->
3
+ <Project ToolsVersion="Current" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4
+ <Import Project="$(SolutionDir)\ExperimentalFeatures.props" Condition="Exists('$(SolutionDir)\ExperimentalFeatures.props')" />
5
+ <PropertyGroup Label="Globals">
6
+ <CppWinRTOptimized>true</CppWinRTOptimized>
7
+ <CppWinRTRootNamespaceAutoMerge>true</CppWinRTRootNamespaceAutoMerge>
8
+ <MinimalCoreWin>true</MinimalCoreWin>
9
+ <ProjectGuid>{b705baf9-3876-4dd4-8427-d69e1deb1401}</ProjectGuid>
10
+ <ProjectName>ReactNativeUnistyles</ProjectName>
11
+ <RootNamespace>ReactNativeUnistyles</RootNamespace>
12
+ <DefaultLanguage>en-US</DefaultLanguage>
13
+ <MinimumVisualStudioVersion>17.0</MinimumVisualStudioVersion>
14
+ <AppContainerApplication>true</AppContainerApplication>
15
+ <ApplicationType>Windows Store</ApplicationType>
16
+ <ApplicationTypeRevision>10.0</ApplicationTypeRevision>
17
+ </PropertyGroup>
18
+ <PropertyGroup Label="ReactNativeWindowsProps">
19
+ <ReactNativeWindowsDir Condition="'$(ReactNativeWindowsDir)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(SolutionDir), 'node_modules\react-native-windows\package.json'))\node_modules\react-native-windows\</ReactNativeWindowsDir>
20
+ </PropertyGroup>
21
+ <Import Project="$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.WindowsSdk.Default.props" Condition="Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.WindowsSdk.Default.props')" />
22
+ <PropertyGroup Label="Fallback Windows SDK Versions">
23
+ <WindowsTargetPlatformVersion Condition=" '$(WindowsTargetPlatformVersion)' == '' ">10.0.19041.0</WindowsTargetPlatformVersion>
24
+ <WindowsTargetPlatformMinVersion Condition=" '$(WindowsTargetPlatformMinVersion)' == '' ">10.0.17763.0</WindowsTargetPlatformMinVersion>
25
+ </PropertyGroup>
26
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
27
+ <ItemGroup Label="ProjectConfigurations">
28
+ <ProjectConfiguration Include="Debug|ARM64">
29
+ <Configuration>Debug</Configuration>
30
+ <Platform>ARM64</Platform>
31
+ </ProjectConfiguration>
32
+ <ProjectConfiguration Include="Debug|Win32">
33
+ <Configuration>Debug</Configuration>
34
+ <Platform>Win32</Platform>
35
+ </ProjectConfiguration>
36
+ <ProjectConfiguration Include="Debug|x64">
37
+ <Configuration>Debug</Configuration>
38
+ <Platform>x64</Platform>
39
+ </ProjectConfiguration>
40
+ <ProjectConfiguration Include="Release|ARM64">
41
+ <Configuration>Release</Configuration>
42
+ <Platform>ARM64</Platform>
43
+ </ProjectConfiguration>
44
+ <ProjectConfiguration Include="Release|Win32">
45
+ <Configuration>Release</Configuration>
46
+ <Platform>Win32</Platform>
47
+ </ProjectConfiguration>
48
+ <ProjectConfiguration Include="Release|x64">
49
+ <Configuration>Release</Configuration>
50
+ <Platform>x64</Platform>
51
+ </ProjectConfiguration>
52
+ </ItemGroup>
53
+ <PropertyGroup Label="Configuration">
54
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
55
+ <CharacterSet>Unicode</CharacterSet>
56
+ <GenerateManifest>false</GenerateManifest>
57
+ </PropertyGroup>
58
+ <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
59
+ <UseDebugLibraries>true</UseDebugLibraries>
60
+ <LinkIncremental>true</LinkIncremental>
61
+ </PropertyGroup>
62
+ <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
63
+ <UseDebugLibraries>false</UseDebugLibraries>
64
+ <WholeProgramOptimization>true</WholeProgramOptimization>
65
+ <LinkIncremental>false</LinkIncremental>
66
+ </PropertyGroup>
67
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
68
+ <ImportGroup Label="ExtensionSettings">
69
+ </ImportGroup>
70
+ <ImportGroup Label="PropertySheets">
71
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
72
+ </ImportGroup>
73
+ <ImportGroup Label="PropertySheets">
74
+ <Import Project="PropertySheet.props" />
75
+ </ImportGroup>
76
+ <ImportGroup Label="ReactNativeWindowsPropertySheets">
77
+ <Import Project="$(ReactNativeWindowsDir)\PropertySheets\external\Microsoft.ReactNative.Uwp.CppLib.props" Condition="Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.props')" />
78
+ </ImportGroup>
79
+ <PropertyGroup Label="UserMacros" />
80
+ <ItemDefinitionGroup>
81
+ <ClCompile>
82
+ <PrecompiledHeader>Use</PrecompiledHeader>
83
+ <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
84
+ <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
85
+ <WarningLevel>Level4</WarningLevel>
86
+ <AdditionalOptions>%(AdditionalOptions) /bigobj</AdditionalOptions>
87
+ <DisableSpecificWarnings>4453;28204</DisableSpecificWarnings>
88
+ <PreprocessorDefinitions>_WINRT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
89
+ <AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
90
+ </ClCompile>
91
+ <Midl>
92
+ <!-- This allows applications targetting older Windows SDKs (e.g. RNW 0.65 apps) to consume the library generated WinMD -->
93
+ <AdditionalOptions>%(AdditionalOptions) /noattributename</AdditionalOptions>
94
+ </Midl>
95
+ <Link>
96
+ <SubSystem>Console</SubSystem>
97
+ <GenerateWindowsMetadata>true</GenerateWindowsMetadata>
98
+ <ModuleDefinitionFile>ReactNativeUnistyles.def</ModuleDefinitionFile>
99
+ </Link>
100
+ </ItemDefinitionGroup>
101
+ <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
102
+ <ClCompile>
103
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
104
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">../../cxx;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
105
+ </ClCompile>
106
+ </ItemDefinitionGroup>
107
+ <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
108
+ <ClCompile>
109
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
110
+ </ClCompile>
111
+ </ItemDefinitionGroup>
112
+ <ItemGroup>
113
+ <ClInclude Include="ReactPackageProvider.h">
114
+ <DependentUpon>ReactPackageProvider.idl</DependentUpon>
115
+ </ClInclude>
116
+ <ClInclude Include="ReactNativeUnistyles.h" />
117
+ <ClInclude Include="pch.h" />
118
+ </ItemGroup>
119
+ <ItemGroup>
120
+ <ClCompile Include="..\..\cxx\UnistylesRuntime.cpp">
121
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">NotUsing</PrecompiledHeader>
122
+ </ClCompile>
123
+ <ClCompile Include="pch.cpp">
124
+ <PrecompiledHeader>Create</PrecompiledHeader>
125
+ </ClCompile>
126
+ <ClCompile Include="ReactPackageProvider.cpp">
127
+ <DependentUpon>ReactPackageProvider.idl</DependentUpon>
128
+ </ClCompile>
129
+ <ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
130
+ </ItemGroup>
131
+ <ItemGroup>
132
+ <Midl Include="ReactPackageProvider.idl" />
133
+ </ItemGroup>
134
+ <ItemGroup>
135
+ <None Include="PropertySheet.props" />
136
+ </ItemGroup>
137
+ <ItemGroup>
138
+ </ItemGroup>
139
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
140
+ <ImportGroup Label="ReactNativeWindowsTargets">
141
+ <Import Project="$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.targets" Condition="Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.targets')" />
142
+ </ImportGroup>
143
+ <Target Name="EnsureReactNativeWindowsTargets" BeforeTargets="PrepareForBuild">
144
+ <PropertyGroup>
145
+ <ErrorText>This project references targets in your node_modules\react-native-windows folder that are missing. The missing file is {0}.</ErrorText>
146
+ </PropertyGroup>
147
+ <Error Condition="!Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.props')" Text="$([System.String]::Format('$(ErrorText)', '$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.props'))" />
148
+ <Error Condition="!Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.targets'))" />
149
+ </Target>
150
+ </Project>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <ItemGroup>
4
+ <Midl Include="ReactPackageProvider.idl" />
5
+ </ItemGroup>
6
+ <ItemGroup>
7
+ <ClCompile Include="pch.cpp" />
8
+ <ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
9
+ <ClCompile Include="ReactPackageProvider.cpp" />
10
+ </ItemGroup>
11
+ <ItemGroup>
12
+ <ClInclude Include="pch.h" />
13
+ <ClInclude Include="ReactPackageProvider.h" />
14
+ <ClInclude Include="ReactNativeUnistyles.h" />
15
+ </ItemGroup>
16
+ <ItemGroup>
17
+ <None Include="PropertySheet.props" />
18
+ </ItemGroup>
19
+ </Project>
@@ -0,0 +1,19 @@
1
+ #include "pch.h"
2
+ #include "ReactPackageProvider.h"
3
+ #if __has_include("ReactPackageProvider.g.cpp")
4
+ #include "ReactPackageProvider.g.cpp"
5
+ #endif
6
+
7
+ #include "ReactNativeUnistyles.h"
8
+
9
+ using namespace winrt::Microsoft::ReactNative;
10
+
11
+ namespace winrt::ReactNativeUnistyles::implementation
12
+ {
13
+
14
+ void ReactPackageProvider::CreatePackage(IReactPackageBuilder const &packageBuilder) noexcept
15
+ {
16
+ AddAttributedModules(packageBuilder, true);
17
+ }
18
+
19
+ } // namespace winrt::ReactNativeUnistyles::implementation
@@ -0,0 +1,21 @@
1
+ #pragma once
2
+ #include "ReactPackageProvider.g.h"
3
+
4
+ using namespace winrt::Microsoft::ReactNative;
5
+
6
+ namespace winrt::ReactNativeUnistyles::implementation
7
+ {
8
+ struct ReactPackageProvider : ReactPackageProviderT<ReactPackageProvider>
9
+ {
10
+ ReactPackageProvider() = default;
11
+
12
+ void CreatePackage(IReactPackageBuilder const &packageBuilder) noexcept;
13
+ };
14
+ } // namespace winrt::ReactNativeUnistyles::implementation
15
+
16
+ namespace winrt::ReactNativeUnistyles::factory_implementation
17
+ {
18
+
19
+ struct ReactPackageProvider : ReactPackageProviderT<ReactPackageProvider, implementation::ReactPackageProvider> {};
20
+
21
+ } // namespace winrt::ReactNativeUnistyles::factory_implementation
@@ -0,0 +1,9 @@
1
+ namespace ReactNativeUnistyles
2
+ {
3
+ [webhosthidden]
4
+ [default_interface]
5
+ runtimeclass ReactPackageProvider : Microsoft.ReactNative.IReactPackageProvider
6
+ {
7
+ ReactPackageProvider();
8
+ };
9
+ }
@@ -0,0 +1,133 @@
1
+ {
2
+ "version": 1,
3
+ "dependencies": {
4
+ "native,Version=v0.0": {
5
+ "Microsoft.ReactNative": {
6
+ "type": "Direct",
7
+ "requested": "[0.73.4, )",
8
+ "resolved": "0.73.4",
9
+ "contentHash": "F/ttB+b+/Hfpedp9FRQSWJdVExkhdTqcc3VohGez+lOPpdXQeZzNPpqQlO8G4LzK3XlcSs2hZO7WkWEoaxrgOQ=="
10
+ },
11
+ "Microsoft.ReactNative.Cxx": {
12
+ "type": "Direct",
13
+ "requested": "[0.73.4, )",
14
+ "resolved": "0.73.4",
15
+ "contentHash": "wAXa85oSqbf46YRw+00NxWyGv4ABGTwNtutJG+Nfz3C1WzrovMI6kviGoOh2yY2cWeYYcHfuvvw6eKf1RsNCGw==",
16
+ "dependencies": {
17
+ "Microsoft.ReactNative": "0.73.4"
18
+ }
19
+ },
20
+ "Microsoft.UI.Xaml": {
21
+ "type": "Direct",
22
+ "requested": "[2.8.0, )",
23
+ "resolved": "2.8.0",
24
+ "contentHash": "vxdHxTr63s5KVtNddMFpgvjBjUH50z7seq/5jLWmmSuf8poxg+sXrywkofUdE8ZstbpO9y3FL/IXXUcPYbeesA==",
25
+ "dependencies": {
26
+ "Microsoft.Web.WebView2": "1.0.1264.42"
27
+ }
28
+ },
29
+ "Microsoft.Windows.CppWinRT": {
30
+ "type": "Direct",
31
+ "requested": "[2.0.211028.7, )",
32
+ "resolved": "2.0.211028.7",
33
+ "contentHash": "JBGI0c3WLoU6aYJRy9Qo0MLDQfObEp+d4nrhR95iyzf7+HOgjRunHDp/6eGFREd7xq3OI1mll9ecJrMfzBvlyg=="
34
+ },
35
+ "Microsoft.Web.WebView2": {
36
+ "type": "Transitive",
37
+ "resolved": "1.0.1264.42",
38
+ "contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
39
+ }
40
+ },
41
+ "native,Version=v0.0/win10-arm": {
42
+ "Microsoft.ReactNative": {
43
+ "type": "Direct",
44
+ "requested": "[0.73.4, )",
45
+ "resolved": "0.73.4",
46
+ "contentHash": "F/ttB+b+/Hfpedp9FRQSWJdVExkhdTqcc3VohGez+lOPpdXQeZzNPpqQlO8G4LzK3XlcSs2hZO7WkWEoaxrgOQ=="
47
+ },
48
+ "Microsoft.Web.WebView2": {
49
+ "type": "Transitive",
50
+ "resolved": "1.0.1264.42",
51
+ "contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
52
+ }
53
+ },
54
+ "native,Version=v0.0/win10-arm-aot": {
55
+ "Microsoft.ReactNative": {
56
+ "type": "Direct",
57
+ "requested": "[0.73.4, )",
58
+ "resolved": "0.73.4",
59
+ "contentHash": "F/ttB+b+/Hfpedp9FRQSWJdVExkhdTqcc3VohGez+lOPpdXQeZzNPpqQlO8G4LzK3XlcSs2hZO7WkWEoaxrgOQ=="
60
+ },
61
+ "Microsoft.Web.WebView2": {
62
+ "type": "Transitive",
63
+ "resolved": "1.0.1264.42",
64
+ "contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
65
+ }
66
+ },
67
+ "native,Version=v0.0/win10-arm64-aot": {
68
+ "Microsoft.ReactNative": {
69
+ "type": "Direct",
70
+ "requested": "[0.73.4, )",
71
+ "resolved": "0.73.4",
72
+ "contentHash": "F/ttB+b+/Hfpedp9FRQSWJdVExkhdTqcc3VohGez+lOPpdXQeZzNPpqQlO8G4LzK3XlcSs2hZO7WkWEoaxrgOQ=="
73
+ },
74
+ "Microsoft.Web.WebView2": {
75
+ "type": "Transitive",
76
+ "resolved": "1.0.1264.42",
77
+ "contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
78
+ }
79
+ },
80
+ "native,Version=v0.0/win10-x64": {
81
+ "Microsoft.ReactNative": {
82
+ "type": "Direct",
83
+ "requested": "[0.73.4, )",
84
+ "resolved": "0.73.4",
85
+ "contentHash": "F/ttB+b+/Hfpedp9FRQSWJdVExkhdTqcc3VohGez+lOPpdXQeZzNPpqQlO8G4LzK3XlcSs2hZO7WkWEoaxrgOQ=="
86
+ },
87
+ "Microsoft.Web.WebView2": {
88
+ "type": "Transitive",
89
+ "resolved": "1.0.1264.42",
90
+ "contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
91
+ }
92
+ },
93
+ "native,Version=v0.0/win10-x64-aot": {
94
+ "Microsoft.ReactNative": {
95
+ "type": "Direct",
96
+ "requested": "[0.73.4, )",
97
+ "resolved": "0.73.4",
98
+ "contentHash": "F/ttB+b+/Hfpedp9FRQSWJdVExkhdTqcc3VohGez+lOPpdXQeZzNPpqQlO8G4LzK3XlcSs2hZO7WkWEoaxrgOQ=="
99
+ },
100
+ "Microsoft.Web.WebView2": {
101
+ "type": "Transitive",
102
+ "resolved": "1.0.1264.42",
103
+ "contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
104
+ }
105
+ },
106
+ "native,Version=v0.0/win10-x86": {
107
+ "Microsoft.ReactNative": {
108
+ "type": "Direct",
109
+ "requested": "[0.73.4, )",
110
+ "resolved": "0.73.4",
111
+ "contentHash": "F/ttB+b+/Hfpedp9FRQSWJdVExkhdTqcc3VohGez+lOPpdXQeZzNPpqQlO8G4LzK3XlcSs2hZO7WkWEoaxrgOQ=="
112
+ },
113
+ "Microsoft.Web.WebView2": {
114
+ "type": "Transitive",
115
+ "resolved": "1.0.1264.42",
116
+ "contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
117
+ }
118
+ },
119
+ "native,Version=v0.0/win10-x86-aot": {
120
+ "Microsoft.ReactNative": {
121
+ "type": "Direct",
122
+ "requested": "[0.73.4, )",
123
+ "resolved": "0.73.4",
124
+ "contentHash": "F/ttB+b+/Hfpedp9FRQSWJdVExkhdTqcc3VohGez+lOPpdXQeZzNPpqQlO8G4LzK3XlcSs2hZO7WkWEoaxrgOQ=="
125
+ },
126
+ "Microsoft.Web.WebView2": {
127
+ "type": "Transitive",
128
+ "resolved": "1.0.1264.42",
129
+ "contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
130
+ }
131
+ }
132
+ }
133
+ }
@@ -0,0 +1 @@
1
+ #include "pch.h"
@@ -0,0 +1,21 @@
1
+ #pragma once
2
+
3
+ #define NOMINMAX
4
+
5
+ #include <hstring.h>
6
+ #include <restrictederrorinfo.h>
7
+ #include <unknwn.h>
8
+ #include <windows.h>
9
+ #include <CppWinRTIncludes.h>
10
+ #if __has_include(<VersionMacros.h>)
11
+ #include <VersionMacros.h>
12
+ #endif
13
+
14
+ #include <winrt/Microsoft.ReactNative.h>
15
+
16
+ #include <winrt/Microsoft.UI.Xaml.Automation.Peers.h>
17
+ #include <winrt/Microsoft.UI.Xaml.Controls.Primitives.h>
18
+ #include <winrt/Microsoft.UI.Xaml.Controls.h>
19
+ #include <winrt/Microsoft.UI.Xaml.Media.h>
20
+ #include <winrt/Microsoft.UI.Xaml.XamlTypeInfo.h>
21
+ using namespace winrt::Windows::Foundation;
@@ -0,0 +1,156 @@
1
+ 
2
+ Microsoft Visual Studio Solution File, Format Version 12.00
3
+ # Visual Studio Version 17
4
+ VisualStudioVersion = 17.3.32929.385
5
+ MinimumVisualStudioVersion = 10.0.40219.1
6
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactNativeUnistyles", "ReactNativeUnistyles\ReactNativeUnistyles.vcxproj", "{B705BAF9-3876-4DD4-8427-D69E1DEB1401}"
7
+ ProjectSection(ProjectDependencies) = postProject
8
+ {F7D32BD0-2749-483E-9A0D-1635EF7E3136} = {F7D32BD0-2749-483E-9A0D-1635EF7E3136}
9
+ EndProjectSection
10
+ EndProject
11
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\node_modules\react-native-windows\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}"
12
+ EndProject
13
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\node_modules\react-native-windows\fmt\fmt.vcxproj", "{14B93DC8-FD93-4A6D-81CB-8BC96644501C}"
14
+ EndProject
15
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\node_modules\react-native-windows\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}"
16
+ ProjectSection(ProjectDependencies) = postProject
17
+ {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {A990658C-CE31-4BCC-976F-0FC6B1AF693D}
18
+ EndProjectSection
19
+ EndProject
20
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\node_modules\react-native-windows\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}"
21
+ EndProject
22
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\node_modules\react-native-windows\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}"
23
+ EndProject
24
+ 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}"
25
+ EndProject
26
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}"
27
+ EndProject
28
+ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}"
29
+ EndProject
30
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\node_modules\react-native-windows\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}"
31
+ EndProject
32
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}"
33
+ EndProject
34
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\node_modules\react-native-windows\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}"
35
+ EndProject
36
+ Global
37
+ GlobalSection(SharedMSBuildProjectFiles) = preSolution
38
+ ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9
39
+ ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9
40
+ ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9
41
+ ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9
42
+ ..\node_modules\react-native-windows\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9
43
+ ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
44
+ ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
45
+ ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
46
+ ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4
47
+ EndGlobalSection
48
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
49
+ Debug|x64 = Debug|x64
50
+ Debug|x86 = Debug|x86
51
+ Debug|ARM64 = Debug|ARM64
52
+ Release|x64 = Release|x64
53
+ Release|x86 = Release|x86
54
+ Release|ARM64 = Release|ARM64
55
+ EndGlobalSection
56
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
57
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Debug|ARM64.ActiveCfg = Debug|ARM64
58
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Debug|ARM64.Build.0 = Debug|ARM64
59
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Debug|ARM64.Deploy.0 = Debug|ARM64
60
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Debug|x64.ActiveCfg = Debug|x64
61
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Debug|x64.Build.0 = Debug|x64
62
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Debug|x64.Deploy.0 = Debug|x64
63
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Debug|x86.ActiveCfg = Debug|Win32
64
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Debug|x86.Build.0 = Debug|Win32
65
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Debug|x86.Deploy.0 = Debug|Win32
66
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Release|ARM64.ActiveCfg = Release|ARM64
67
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Release|ARM64.Build.0 = Release|ARM64
68
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Release|ARM64.Deploy.0 = Release|ARM64
69
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Release|x64.ActiveCfg = Release|x64
70
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Release|x64.Build.0 = Release|x64
71
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Release|x64.Deploy.0 = Release|x64
72
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Release|x86.ActiveCfg = Release|Win32
73
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Release|x86.Build.0 = Release|Win32
74
+ {B705BAF9-3876-4DD4-8427-D69E1DEB1401}.Release|x86.Deploy.0 = Release|Win32
75
+ {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.ActiveCfg = Debug|ARM64
76
+ {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.Build.0 = Debug|ARM64
77
+ {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.ActiveCfg = Debug|x64
78
+ {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.Build.0 = Debug|x64
79
+ {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.ActiveCfg = Debug|Win32
80
+ {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.Build.0 = Debug|Win32
81
+ {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.ActiveCfg = Release|ARM64
82
+ {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.Build.0 = Release|ARM64
83
+ {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.ActiveCfg = Release|x64
84
+ {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.Build.0 = Release|x64
85
+ {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.ActiveCfg = Release|Win32
86
+ {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.Build.0 = Release|Win32
87
+ {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.ActiveCfg = Debug|ARM64
88
+ {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.Build.0 = Debug|ARM64
89
+ {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.ActiveCfg = Debug|x64
90
+ {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.Build.0 = Debug|x64
91
+ {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.ActiveCfg = Debug|Win32
92
+ {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.Build.0 = Debug|Win32
93
+ {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.ActiveCfg = Release|ARM64
94
+ {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.Build.0 = Release|ARM64
95
+ {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.ActiveCfg = Release|x64
96
+ {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.Build.0 = Release|x64
97
+ {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.ActiveCfg = Release|Win32
98
+ {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Build.0 = Release|Win32
99
+ {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.ActiveCfg = Debug|ARM64
100
+ {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.Build.0 = Debug|ARM64
101
+ {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.ActiveCfg = Debug|x64
102
+ {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.Build.0 = Debug|x64
103
+ {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.ActiveCfg = Debug|Win32
104
+ {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.Build.0 = Debug|Win32
105
+ {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.ActiveCfg = Release|ARM64
106
+ {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.Build.0 = Release|ARM64
107
+ {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.ActiveCfg = Release|x64
108
+ {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.Build.0 = Release|x64
109
+ {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.ActiveCfg = Release|Win32
110
+ {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.Build.0 = Release|Win32
111
+ {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.ActiveCfg = Debug|ARM64
112
+ {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.Build.0 = Debug|ARM64
113
+ {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.ActiveCfg = Debug|x64
114
+ {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.Build.0 = Debug|x64
115
+ {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.ActiveCfg = Debug|Win32
116
+ {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.Build.0 = Debug|Win32
117
+ {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.ActiveCfg = Release|ARM64
118
+ {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.Build.0 = Release|ARM64
119
+ {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.ActiveCfg = Release|x64
120
+ {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.Build.0 = Release|x64
121
+ {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.ActiveCfg = Release|Win32
122
+ {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.Build.0 = Release|Win32
123
+ {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Debug|ARM64.ActiveCfg = Debug|ARM64
124
+ {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Debug|ARM64.Build.0 = Debug|ARM64
125
+ {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Debug|x64.ActiveCfg = Debug|x64
126
+ {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Debug|x64.Build.0 = Debug|x64
127
+ {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Debug|x86.ActiveCfg = Debug|Win32
128
+ {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Debug|x86.Build.0 = Debug|Win32
129
+ {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Debug|x86.Deploy.0 = Debug|Win32
130
+ {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|ARM64.ActiveCfg = Release|ARM64
131
+ {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|ARM64.Build.0 = Release|ARM64
132
+ {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|x64.ActiveCfg = Release|x64
133
+ {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|x64.Build.0 = Release|x64
134
+ {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|x86.ActiveCfg = Release|Win32
135
+ {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|x86.Build.0 = Release|Win32
136
+ {14B93DC8-FD93-4A6D-81CB-8BC96644501C}.Release|x86.Deploy.0 = Release|Win32
137
+ EndGlobalSection
138
+ GlobalSection(SolutionProperties) = preSolution
139
+ HideSolutionNode = FALSE
140
+ EndGlobalSection
141
+ GlobalSection(NestedProjects) = preSolution
142
+ {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
143
+ {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
144
+ {C38970C0-5FBF-4D69-90D8-CBAC225AE895} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
145
+ {F7D32BD0-2749-483E-9A0D-1635EF7E3136} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
146
+ {DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
147
+ {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
148
+ {2049DBE9-8D13-42C9-AE4B-413AE38FFFD0} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
149
+ {84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
150
+ {EF074BA1-2D54-4D49-A28E-5E040B47CD2E} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
151
+ {14B93DC8-FD93-4A6D-81CB-8BC96644501C} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}
152
+ EndGlobalSection
153
+ GlobalSection(ExtensibilityGlobals) = postSolution
154
+ SolutionGuid = {D43FAD39-F619-437D-BB40-04A3982ACB6A}
155
+ EndGlobalSection
156
+ EndGlobal