Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
693c1ea
Update MudBlazor, fix bugs
ColdForeign Aug 5, 2024
65f10bf
Fix whitespace formatting
ColdForeign Aug 5, 2024
3c3f60f
Fix interface
ColdForeign Aug 7, 2024
65946bc
Update MudBlazor, fix bugs (#369)
ColdForeign Aug 7, 2024
b0faaf5
Fix dependabot pipeline (#371)
ColdForeign Aug 8, 2024
4081f49
Update ci.yml
ColdForeign Aug 8, 2024
becc8ec
Update ci.yml
ColdForeign Aug 8, 2024
15db7da
Update ci.yml
ColdForeign Aug 8, 2024
57674b2
Update ci.yml
ColdForeign Aug 8, 2024
e668ecd
Fix pipelines (#372)
ColdForeign Aug 8, 2024
eff2130
Update dependabot (#373)
ColdForeign Aug 8, 2024
17b3954
Fix CI pipeline call (#374)
ColdForeign Aug 8, 2024
7d96c3e
Update CI pipeline (#375)
ColdForeign Aug 9, 2024
dc00eee
Fix codecov publish (CI pipeline) (#377)
ColdForeign Aug 9, 2024
d892e2b
Bump MudBlazor from 7.5.0 to 7.6.0 in /src/Cropper.Blazor in the dotn…
dependabot[bot] Aug 9, 2024
aa0eb11
Fix for downloads badge and zooming example
ColdForeign Sep 2, 2024
8821798
Fix for downloads badge and zooming example (#381)
ColdForeign Sep 2, 2024
3c10529
Bump the dotnet group in /src/Cropper.Blazor with 7 updates (#382)
dependabot[bot] Sep 2, 2024
1049113
Fix pipelines for .net 9
ColdForeign Dec 6, 2024
93659a5
fix pipeline
MaxymGorn Jan 13, 2025
eff45d0
fix demo build project
MaxymGorn Jan 13, 2025
c4eb079
fix cd
MaxymGorn Jan 15, 2025
011c3f8
Update Cropper.Blazor to 1.4.0 [ .NET 9 support ] (#393)
ColdForeign Mar 12, 2025
ad4061d
Feature/fix build cd (#398)
MaxymGorn Mar 12, 2025
4c61e4e
Merge branch 'master' into dev
MaxymGorn Mar 12, 2025
619cebf
fix cd
MaxymGorn Mar 12, 2025
67c9101
Update release.yml
MaxymGorn Mar 12, 2025
46bbd49
Merge branch 'master' into dev
MaxymGorn Mar 12, 2025
b93f77c
Added approach to receive large cropped image from cropper (#402)
MaxymGorn May 19, 2025
9657bd1
Feature/fix building project (#408)
MaxymGorn May 21, 2025
74f5987
Merge branch 'master' into dev
MaxymGorn May 21, 2025
2929d9a
Feature/fix bad reference in docs (#411)
MaxymGorn May 21, 2025
6330ff7
Feature/add maui dotnet9 example (#409)
MaxymGorn May 22, 2025
afd3263
Feature/1 4 2 (#412)
MaxymGorn Jun 6, 2025
293ad8f
Feature/update nuget 1 4 2 (#413)
MaxymGorn Jun 6, 2025
e9b1452
fix conf
MaxymGorn Jun 6, 2025
954685d
Update MudBlazor
ColdForeign Aug 11, 2025
59ec9db
UserPreferences refactor
ColdForeign Aug 12, 2025
34f27c5
LayoutService refactor
ColdForeign Aug 12, 2025
8cc85ed
AppbarButtons update
ColdForeign Aug 13, 2025
faf0bde
MainLayout refactor
ColdForeign Aug 13, 2025
237bae8
Unused variables remove
ColdForeign Aug 14, 2025
ae92c58
Update About page
ColdForeign Aug 14, 2025
f93601c
Fix whitespace in MainLayout.razor.cs
ColdForeign Aug 14, 2025
71d02b2
Update build-test-template.yml
ColdForeign Aug 16, 2025
80e1377
Update build-test-template.yml (#422)
ColdForeign Aug 16, 2025
bee9eed
Merge branch 'dev' into feature/update-mudblazor
ColdForeign Aug 16, 2025
49a5138
Remove commented-out code
ColdForeign Aug 16, 2025
e32646e
Update codecov.yml
ColdForeign Aug 16, 2025
9469844
Update codecov.yml (#423)
ColdForeign Aug 16, 2025
b425335
Merge branch 'dev' into feature/update-mudblazor
ColdForeign Aug 16, 2025
ba4da63
Update codecov.yml
ColdForeign Aug 16, 2025
2309b93
Update codecov.yml (#424)
ColdForeign Aug 16, 2025
dc2ed84
Merge branch 'dev' into feature/update-mudblazor
ColdForeign Aug 16, 2025
8878e33
Update build-test-template.yml
ColdForeign Aug 16, 2025
fc7964d
Update build-test-template.yml (#425)
ColdForeign Aug 16, 2025
918392c
Merge branch 'dev' into feature/update-mudblazor
ColdForeign Aug 16, 2025
6ac7f8a
Docs: Update mudblazor (#421)
ColdForeign Aug 21, 2025
81405f6
Bump BlazorWasmPreRendering.Build and 4 others
dependabot[bot] Aug 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 4 additions & 14 deletions .github/codecov.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,13 @@
codecov:
notify:
wait_for_ci: true # Should Codecov wait for all CI statuses to complete before sending theirs

ignore:
- "**/*.yaml" # ignore all yaml files (Kubernetes manifests, etc...)
- "**/*.yml" # same as above
- "**/*.md" # ignore all markdown files, those are not relevant for building/testing
- "**/Dockerfile" # ignore Dockerfiles, those are build with GH Actions
- "**/*.sh" # ignore shell scripts

comment:
require_changes: yes
require_changes: true
coverage:
status:
project:
default:
target: 100% # the required coverage value
threshold: 0.1% # the leniency in hitting the target
target: 90% # the required coverage value
threshold: 3% # the leniency in hitting the target
patch:
default:
target: 100%
threshold: 10%

8 changes: 6 additions & 2 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ jobs:

- name: Install Windows, Android MAUI Workloads
run: |
dotnet workload install maui-windows maui-android --from-rollback-file https://maui.blob.core.windows.net/metadata/rollbacks/8.0.1xx.json --ignore-failed-sources
dotnet workload install maui-windows maui-android --ignore-failed-sources
dotnet workload install wasm-tools --ignore-failed-sources

- name: list workloads
Expand Down Expand Up @@ -201,4 +201,8 @@ jobs:

- name: DotNet Build Blazor Server Demo Project for .net 9
run: dotnet build --no-restore
working-directory: examples\Cropper.Blazor.Server.Net9
working-directory: examples\Cropper.Blazor.Server.Net9

- name: DotNet Build Blazor MAUI Demo Project for .net 9
run: dotnet build --no-restore
working-directory: examples\Cropper.Blazor.MAUI.Net9
7 changes: 7 additions & 0 deletions examples/Cropper.Blazor.Demo.sln
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Server", "Server", "{FE00A0
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cropper.Blazor.Server.Net9", "Cropper.Blazor.Server.Net9\Cropper.Blazor.Server.Net9.csproj", "{AB066CDE-E4BA-4093-8EEF-64E0794EB9A4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cropper.Blazor.MAUI.Net9", "Cropper.Blazor.MAUI.Net9\Cropper.Blazor.MAUI.Net9.csproj", "{7B9B6B17-976B-4875-B68B-E199B72374AC}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -77,6 +79,10 @@ Global
{AB066CDE-E4BA-4093-8EEF-64E0794EB9A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AB066CDE-E4BA-4093-8EEF-64E0794EB9A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AB066CDE-E4BA-4093-8EEF-64E0794EB9A4}.Release|Any CPU.Build.0 = Release|Any CPU
{7B9B6B17-976B-4875-B68B-E199B72374AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7B9B6B17-976B-4875-B68B-E199B72374AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7B9B6B17-976B-4875-B68B-E199B72374AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7B9B6B17-976B-4875-B68B-E199B72374AC}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -95,6 +101,7 @@ Global
{C1872578-F52C-42A9-98E1-7057E54705E6} = {49B4C364-A66D-44E3-8094-35C8CEC06100}
{FE00A07D-B8ED-4AC5-81A7-9F0AF7AE949B} = {49B4C364-A66D-44E3-8094-35C8CEC06100}
{AB066CDE-E4BA-4093-8EEF-64E0794EB9A4} = {FE00A07D-B8ED-4AC5-81A7-9F0AF7AE949B}
{7B9B6B17-976B-4875-B68B-E199B72374AC} = {4DED931E-A01B-4B5F-AA64-A003FC0F8DC1}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5FA0980D-10C3-4751-9432-DE20984B0A69}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ public async void GetCroppedCanvasDataURL(GetCroppedCanvasOptions getCroppedCanv
{ "Src", croppedCanvasDataURL }
};
var options = new DialogOptions() { CloseButton = true, MaxWidth = MaxWidth.Medium, FullWidth = true, BackdropClick = true };
_dialogService!.Show<Shared.CroppedCanvasDialog>("CroppedCanvasDialog", parameters, options);
_dialogService!.ShowAsync<Shared.CroppedCanvasDialog>("CroppedCanvasDialog", parameters, options);
}
catch (ImageProcessingException ex)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
</MudDialog>

@code {
[CascadingParameter] private MudDialogInstance MudDialog { get; set; } = null!;
[CascadingParameter] private IMudDialogInstance MudDialog { get; set; } = null!;

[Parameter]
[System.ComponentModel.DataAnnotations.Required]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
<PackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="8.0.100" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebView.Maui" Version="8.0.100" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="8.0.1" />
<PackageReference Include="MudBlazor" Version="7.4.0" />
<PackageReference Include="MudBlazor" Version="8.7.0" />
</ItemGroup>

<ItemGroup>
Expand Down
17 changes: 17 additions & 0 deletions examples/Cropper.Blazor.MAUI.Net9/App.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Cropper.Blazor.MAUI.Net9"
x:Class="Cropper.Blazor.MAUI.Net9.App">
<Application.Resources>
<ResourceDictionary>

<!--
For information about styling .NET MAUI pages
please refer to the documentation:
https://go.microsoft.com/fwlink/?linkid=2282329
-->

</ResourceDictionary>
</Application.Resources>
</Application>
15 changes: 15 additions & 0 deletions examples/Cropper.Blazor.MAUI.Net9/App.xaml.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
namespace Cropper.Blazor.MAUI.Net9
{
public partial class App : Application
{
public App()
{
InitializeComponent();
}

protected override Window CreateWindow(IActivationState? activationState)
{
return new Window(new MainPage()) { Title = "Cropper.Blazor.MAUI.Net9" };
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
@using MudBlazor
@inherits LayoutComponentBase

<MudThemeProvider />
<MudDialogProvider />
<MudSnackbarProvider />
<MudPopoverProvider />

<div class="page">
<div class="sidebar">
<NavMenu />
</div>

<main>
<div class="top-row px-4">
<a href="https://learn.microsoft.com/aspnet/core/" target="_blank">About</a>
</div>

<article class="content px-4">
@Body
</article>
</main>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
.page {
position: relative;
display: flex;
flex-direction: column;
}

main {
flex: 1;
}

.sidebar {
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row {
background-color: #f7f7f7;
border-bottom: 1px solid #d6d5d5;
justify-content: flex-end;
height: 3.5rem;
display: flex;
align-items: center;
}

.top-row ::deep a, .top-row ::deep .btn-link {
white-space: nowrap;
margin-left: 1.5rem;
text-decoration: none;
}

.top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
text-decoration: underline;
}

.top-row ::deep a:first-child {
overflow: hidden;
text-overflow: ellipsis;
}

@media (max-width: 640.98px) {
.top-row {
justify-content: space-between;
}

.top-row ::deep a, .top-row ::deep .btn-link {
margin-left: 0;
}
}

@media (min-width: 641px) {
.page {
flex-direction: row;
}

.sidebar {
width: 250px;
height: 100vh;
position: sticky;
top: 0;
}

.top-row {
position: sticky;
top: 0;
z-index: 1;
}

.top-row.auth ::deep a:first-child {
flex: 1;
text-align: right;
width: 0;
}

.top-row, article {
padding-left: 2rem !important;
padding-right: 1.5rem !important;
}
}
27 changes: 27 additions & 0 deletions examples/Cropper.Blazor.MAUI.Net9/Components/Layout/NavMenu.razor
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<div class="top-row ps-3 navbar navbar-dark">
<div class="container-fluid">
<a class="navbar-brand" href="">Cropper.Blazor.MAUI.Net9</a>
</div>
</div>

<input type="checkbox" title="Navigation menu" class="navbar-toggler" />

<div class="nav-scrollable" onclick="document.querySelector('.navbar-toggler').click()">
<nav class="flex-column">
<div class="nav-item px-3">
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
<span class="bi bi-house-door-fill-nav-menu" aria-hidden="true"></span> Home
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="counter">
<span class="bi bi-plus-square-fill-nav-menu" aria-hidden="true"></span> Counter
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="weather">
<span class="bi bi-list-nested-nav-menu" aria-hidden="true"></span> Weather
</NavLink>
</div>
</nav>
</div>
101 changes: 101 additions & 0 deletions examples/Cropper.Blazor.MAUI.Net9/Components/Layout/NavMenu.razor.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
.navbar-toggler {
appearance: none;
cursor: pointer;
width: 3.5rem;
height: 2.5rem;
color: white;
position: absolute;
top: 0.5rem;
right: 1rem;
border: 1px solid rgba(255, 255, 255, 0.1);
background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked {
background-color: rgba(255, 255, 255, 0.5);
}

.top-row {
height: 3.5rem;
background-color: rgba(0,0,0,0.4);
}

.navbar-brand {
font-size: 1.1rem;
}

.bi {
display: inline-block;
position: relative;
width: 1.25rem;
height: 1.25rem;
margin-right: 0.75rem;
top: -1px;
background-size: cover;
}

.bi-house-door-fill-nav-menu {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item {
font-size: 0.9rem;
padding-bottom: 0.5rem;
}

.nav-item:first-of-type {
padding-top: 1rem;
}

.nav-item:last-of-type {
padding-bottom: 1rem;
}

.nav-item ::deep a {
color: #d7d7d7;
border-radius: 4px;
height: 3rem;
display: flex;
align-items: center;
line-height: 3rem;
}

.nav-item ::deep a.active {
background-color: rgba(255,255,255,0.37);
color: white;
}

.nav-item ::deep a:hover {
background-color: rgba(255,255,255,0.1);
color: white;
}

.nav-scrollable {
display: none;
}

.navbar-toggler:checked ~ .nav-scrollable {
display: block;
}

@media (min-width: 641px) {
.navbar-toggler {
display: none;
}

.nav-scrollable {
/* Never collapse the sidebar for wide screens */
display: block;
/* Allow sidebar to scroll for tall menus */
height: calc(100vh - 3.5rem);
overflow-y: auto;
}
}
16 changes: 16 additions & 0 deletions examples/Cropper.Blazor.MAUI.Net9/Components/Pages/Counter.razor
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
@page "/counter"

<h1>Counter</h1>

<p role="status">Current count: @currentCount</p>

<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>

@code {
private int currentCount = 0;

private void IncrementCount()
{
currentCount++;
}
}
Loading
Loading