-
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #50 from fabulous-dev/mvu-component
Mvu component
- Loading branch information
Showing
142 changed files
with
3,068 additions
and
81 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -352,4 +352,5 @@ MigrationBackup/ | |
.idea | ||
|
||
Resource.designer.cs | ||
nupkgs/ | ||
nupkgs/ | ||
.DS_Store |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
namespace HelloComponent | ||
|
||
open Fabulous.Maui | ||
open Microsoft.Maui.Hosting | ||
open type Fabulous.Maui.View | ||
|
||
module App = | ||
let view () = | ||
Component() { Application(ContentPage(Label("Hello from Fabulous for Maui with components!").center())) } | ||
|
||
let createMauiApp () = | ||
MauiApp | ||
.CreateBuilder() | ||
.UseFabulousApp(view()) | ||
.ConfigureFonts(fun fonts -> | ||
fonts | ||
.AddFont("OpenSans-Regular.ttf", "OpenSansRegular") | ||
.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold") | ||
|> ignore) | ||
.Build() |
103 changes: 103 additions & 0 deletions
103
samples/Components/HelloComponent/HelloComponent.fsproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<TargetFrameworks>net8.0-ios;net8.0-android;net8.0-maccatalyst</TargetFrameworks> | ||
<!-- Uncomment to also build the tizen app. You will need to install tizen by following this: https://github.com/Samsung/Tizen.NET --> | ||
<!-- <TargetFrameworks>$(TargetFrameworks);net8.0-tizen</TargetFrameworks> --> | ||
<OutputType>Exe</OutputType> | ||
<UseMaui>true</UseMaui> | ||
<SingleProject>true</SingleProject> | ||
<EnableDefaultItems>false</EnableDefaultItems> | ||
|
||
<!-- Display name --> | ||
<ApplicationTitle>HelloComponent</ApplicationTitle> | ||
|
||
<!-- App Identifier --> | ||
<ApplicationId>org.fabulous.maui.hellocomponent</ApplicationId> | ||
<ApplicationIdGuid>2be4deb9-b9aa-42bb-bc27-8491f41807f4</ApplicationIdGuid> | ||
|
||
<!-- Versions --> | ||
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion> | ||
<ApplicationVersion>1</ApplicationVersion> | ||
|
||
<TargetPlatformIdentifier Condition=" $(TargetPlatformIdentifier) == '' ">$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)'))</TargetPlatformIdentifier> | ||
|
||
<SupportedOSPlatformVersion Condition="$(TargetPlatformIdentifier) == 'ios'">14.2</SupportedOSPlatformVersion> | ||
<SupportedOSPlatformVersion Condition="$(TargetPlatformIdentifier) == 'maccatalyst'">14.0</SupportedOSPlatformVersion> | ||
<SupportedOSPlatformVersion Condition="$(TargetPlatformIdentifier) == 'android'">21.0</SupportedOSPlatformVersion> | ||
<SupportedOSPlatformVersion Condition="$(TargetPlatformIdentifier) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion> | ||
<TargetPlatformMinVersion Condition="$(TargetPlatformIdentifier) == 'windows'">10.0.17763.0</TargetPlatformMinVersion> | ||
<SupportedOSPlatformVersion Condition="$(TargetPlatformIdentifier) == 'tizen'">6.5</SupportedOSPlatformVersion> | ||
<RootNamespace>HelloWorldComponent</RootNamespace> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<Compile Include="App.fs" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<!-- App Icon --> | ||
<MauiIcon Include="Resources\AppIcon\appicon.svg" ForegroundFile="Resources\AppIcon\appiconfg.svg" Color="#512BD4" /> | ||
|
||
<!-- Custom Fonts --> | ||
<MauiFont Include="Resources\Fonts\*" /> | ||
|
||
<!-- Images --> | ||
<MauiImage Include="Resources\Images\*" /> | ||
<MauiImage Update="Resources\Images\dotnet_bot.svg" BaseSize="168,208" /> | ||
|
||
<!-- Raw Assets (also remove the "Resources\Raw" prefix) --> | ||
<MauiAsset Include="Resources\Raw\*" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" /> | ||
|
||
<!-- Splash Screen --> | ||
<MauiSplashScreen Include="Resources\Splash\splash.svg" Color="#512BD4" BaseSize="128,128" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(TargetPlatformIdentifier) == 'android'"> | ||
<AndroidResource Include="$(AndroidProjectFolder)Resources/*/*" /> | ||
<AndroidResource Remove="$(AndroidProjectFolder)Resources/raw/.*" /> | ||
<AndroidResource Update="$(AndroidProjectFolder)Resources/raw/*" /> | ||
<AndroidAsset Include="$(AndroidProjectFolder)Assets/**/*" Exclude="$(AndroidProjectFolder)Assets/**/.*/**" /> | ||
<AndroidManifest Include="$(AndroidProjectFolder)AndroidManifest.xml" /> | ||
<Compile Include="$(AndroidProjectFolder)MainActivity.fs" /> | ||
<Compile Include="$(AndroidProjectFolder)MainApplication.fs" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(TargetPlatformIdentifier) == 'ios'"> | ||
<None Include="$(iOSProjectFolder)Info.plist" LogicalName="Info.plist" /> | ||
<Compile Include="$(iOSProjectFolder)AppDelegate.fs" /> | ||
<Compile Include="$(iOSProjectFolder)Program.fs" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(TargetPlatformIdentifier) == 'maccatalyst'"> | ||
<None Include="$(MacCatalystProjectFolder)Info.plist" LogicalName="Info.plist" /> | ||
<Compile Include="$(MacCatalystProjectFolder)AppDelegate.fs" /> | ||
<Compile Include="$(MacCatalystProjectFolder)Program.fs" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(TargetPlatformIdentifier) == 'windows'"> | ||
<Manifest Include="$(WindowsProjectFolder)app.manifest" /> | ||
<AppxManifest Include="$(WindowsProjectFolder)Package.appxmanifest" /> | ||
<Compile Include="$(WindowsProjectFolder)App.fs" /> | ||
<Compile Include="$(WindowsProjectFolder)Main.fs" /> | ||
|
||
<PackageReference Include="FSharp.Maui.WinUICompat" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup Condition="$(TargetPlatformIdentifier) == 'tizen'"> | ||
<TizenManifestFile Include="$(TizenProjectFolder)tizen-manifest.xml" /> | ||
<Compile Include="$(TizenProjectFolder)Main.fs" /> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<ProjectReference Include="..\..\..\src\Fabulous.MauiControls\Fabulous.MauiControls.fsproj" /> | ||
<PackageReference Include="FSharp.Core" /> | ||
<PackageReference Include="Microsoft.Extensions.Configuration" /> | ||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" /> | ||
<PackageReference Include="Microsoft.Extensions.Logging" /> | ||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" /> | ||
<PackageReference Include="Microsoft.Maui.Controls" /> | ||
<PackageReference Include="Microsoft.Maui.Controls.Compatibility" /> | ||
</ItemGroup> | ||
|
||
</Project> |
6 changes: 6 additions & 0 deletions
6
samples/Components/HelloComponent/Platforms/Android/AndroidManifest.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> | ||
<application android:allowBackup="true" android:icon="@mipmap/appicon" android:roundIcon="@mipmap/appicon_round" android:supportsRtl="true"></application> | ||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> | ||
<uses-permission android:name="android.permission.INTERNET" /> | ||
</manifest> |
17 changes: 17 additions & 0 deletions
17
samples/Components/HelloComponent/Platforms/Android/MainActivity.fs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
namespace HelloComponent | ||
|
||
open Android.App | ||
open Android.Content.PM | ||
open Microsoft.Maui | ||
|
||
[<Activity(Theme = "@style/Maui.SplashTheme", | ||
MainLauncher = true, | ||
ConfigurationChanges = | ||
(ConfigChanges.ScreenSize | ||
||| ConfigChanges.Orientation | ||
||| ConfigChanges.UiMode | ||
||| ConfigChanges.ScreenLayout | ||
||| ConfigChanges.SmallestScreenSize | ||
||| ConfigChanges.Density))>] | ||
type MainActivity() = | ||
inherit MauiAppCompatActivity() |
10 changes: 10 additions & 0 deletions
10
samples/Components/HelloComponent/Platforms/Android/MainApplication.fs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
namespace HelloComponent | ||
|
||
open Android.App | ||
open Microsoft.Maui | ||
|
||
[<Application>] | ||
type MainApplication(handle, ownership) = | ||
inherit MauiApplication(handle, ownership) | ||
|
||
override _.CreateMauiApp() = App.createMauiApp() |
6 changes: 6 additions & 0 deletions
6
samples/Components/HelloComponent/Platforms/Android/Resources/values/colors.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<resources> | ||
<color name="colorPrimary">#512BD4</color> | ||
<color name="colorPrimaryDark">#2B0B98</color> | ||
<color name="colorAccent">#2B0B98</color> | ||
</resources> |
10 changes: 10 additions & 0 deletions
10
samples/Components/HelloComponent/Platforms/MacCatalyst/AppDelegate.fs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
namespace HelloComponent | ||
|
||
open Foundation | ||
open Microsoft.Maui | ||
|
||
[<Register("AppDelegate")>] | ||
type AppDelegate() = | ||
inherit MauiUIApplicationDelegate() | ||
|
||
override this.CreateMauiApp() = App.createMauiApp() |
30 changes: 30 additions & 0 deletions
30
samples/Components/HelloComponent/Platforms/MacCatalyst/Info.plist
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
<plist version="1.0"> | ||
<dict> | ||
<key>UIDeviceFamily</key> | ||
<array> | ||
<integer>1</integer> | ||
<integer>2</integer> | ||
</array> | ||
<key>UIRequiredDeviceCapabilities</key> | ||
<array> | ||
<string>arm64</string> | ||
</array> | ||
<key>UISupportedInterfaceOrientations</key> | ||
<array> | ||
<string>UIInterfaceOrientationPortrait</string> | ||
<string>UIInterfaceOrientationLandscapeLeft</string> | ||
<string>UIInterfaceOrientationLandscapeRight</string> | ||
</array> | ||
<key>UISupportedInterfaceOrientations~ipad</key> | ||
<array> | ||
<string>UIInterfaceOrientationPortrait</string> | ||
<string>UIInterfaceOrientationPortraitUpsideDown</string> | ||
<string>UIInterfaceOrientationLandscapeLeft</string> | ||
<string>UIInterfaceOrientationLandscapeRight</string> | ||
</array> | ||
<key>XSAppIconAssets</key> | ||
<string>Assets.xcassets/appicon.appiconset</string> | ||
</dict> | ||
</plist> |
9 changes: 9 additions & 0 deletions
9
samples/Components/HelloComponent/Platforms/MacCatalyst/Program.fs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
namespace HelloComponent | ||
|
||
open UIKit | ||
|
||
module Program = | ||
[<EntryPoint>] | ||
let main args = | ||
UIApplication.Main(args, null, typeof<AppDelegate>) | ||
0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
namespace HelloWorld | ||
|
||
open System | ||
open Microsoft.Maui | ||
open Microsoft.Maui.Hosting | ||
|
||
type Program() = | ||
inherit MauiApplication() | ||
|
||
override this.CreateMauiApp() = MauiProgram.CreateMauiApp() | ||
|
||
module Program = | ||
[<EntryPoint>] | ||
let main args = | ||
let app = Program() | ||
app.Run(args) |
15 changes: 15 additions & 0 deletions
15
samples/Components/HelloComponent/Platforms/Tizen/tizen-manifest.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<manifest package="com.companyname.HelloWorld" version="1.0.0" api-version="7" xmlns="http://tizen.org/ns/packages"> | ||
<profile name="common" /> | ||
<ui-application appid="com.companyname.HelloWorld" exec="HelloWorld.dll" multiple="false" nodisplay="false" taskmanage="true" type="dotnet" launch_mode="single"> | ||
<label>HelloWorld</label> | ||
<icon>appicon.xhigh.png</icon> | ||
<metadata key="http://tizen.org/metadata/prefer_dotnet_aot" value="true" /> | ||
</ui-application> | ||
<shortcut-list /> | ||
<privileges> | ||
<privilege>http://tizen.org/privilege/internet</privilege> | ||
</privileges> | ||
<dependencies /> | ||
<provides-appdefined-privileges /> | ||
</manifest> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
namespace HelloWorld.WinUI | ||
|
||
/// <summary> | ||
/// Provides application-specific behavior to supplement the default Application class. | ||
/// </summary> | ||
type App() = | ||
inherit FSharp.Maui.WinUICompat.App() | ||
|
||
override this.CreateMauiApp() = HelloWorld.MauiProgram.CreateMauiApp() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
namespace HelloWorld.WinUI | ||
|
||
open System | ||
|
||
module Program = | ||
[<EntryPoint; STAThread>] | ||
let main args = | ||
do FSharp.Maui.WinUICompat.Program.Main(args, typeof<HelloWorld.WinUI.App>) | ||
0 |
43 changes: 43 additions & 0 deletions
43
samples/Components/HelloComponent/Platforms/Windows/Package.appxmanifest
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<Package | ||
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" | ||
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" | ||
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" | ||
IgnorableNamespaces="uap rescap"> | ||
|
||
<Identity Name="maui-package-name-placeholder" Publisher="CN=User Name" Version="0.0.0.0" /> | ||
|
||
<Properties> | ||
<DisplayName>$placeholder$</DisplayName> | ||
<PublisherDisplayName>User Name</PublisherDisplayName> | ||
<Logo>$placeholder$.png</Logo> | ||
</Properties> | ||
|
||
<Dependencies> | ||
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" /> | ||
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" /> | ||
</Dependencies> | ||
|
||
<Resources> | ||
<Resource Language="x-generate" /> | ||
</Resources> | ||
|
||
<Applications> | ||
<Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="$targetentrypoint$"> | ||
<uap:VisualElements | ||
DisplayName="$placeholder$" | ||
Description="$placeholder$" | ||
Square150x150Logo="$placeholder$.png" | ||
Square44x44Logo="$placeholder$.png" | ||
BackgroundColor="transparent"> | ||
<uap:DefaultTile Square71x71Logo="$placeholder$.png" Wide310x150Logo="$placeholder$.png" Square310x310Logo="$placeholder$.png" /> | ||
<uap:SplashScreen Image="$placeholder$.png" /> | ||
</uap:VisualElements> | ||
</Application> | ||
</Applications> | ||
|
||
<Capabilities> | ||
<rescap:Capability Name="runFullTrust" /> | ||
</Capabilities> | ||
|
||
</Package> |
Oops, something went wrong.