Skip to content

Commit

Permalink
Merge pull request #34 from RadekVyM/dev
Browse files Browse the repository at this point in the history
4.0.0
  • Loading branch information
RadekVyM authored Nov 17, 2023
2 parents 46d37d8 + 95230a9 commit 28c3f4d
Show file tree
Hide file tree
Showing 428 changed files with 15,475 additions and 7,176 deletions.
34 changes: 25 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,20 @@ The library consists of three NuGet packages:

- [SimpleToolkit.Core](#simpletoolkitcore) - set of simple .NET MAUI controls and helpers

[![NuGet](https://img.shields.io/nuget/v/SimpleToolkit.Core.svg?label=SimpleToolkit.Core)](https://www.nuget.org/packages/SimpleToolkit.Core/)
[![NuGet](https://img.shields.io/nuget/v/SimpleToolkit.Core.svg?label=SimpleToolkit.Core)](https://www.nuget.org/packages/SimpleToolkit.Core/)

- [SimpleToolkit.SimpleShell](#simpletoolkitsimpleshell) - simplified implementation of .NET MAUI `Shell`

[![NuGet](https://img.shields.io/nuget/v/SimpleToolkit.SimpleShell.svg?label=SimpleToolkit.SimpleShell)](https://www.nuget.org/packages/SimpleToolkit.SimpleShell/)
[![NuGet](https://img.shields.io/nuget/v/SimpleToolkit.SimpleShell.svg?label=SimpleToolkit.SimpleShell)](https://www.nuget.org/packages/SimpleToolkit.SimpleShell/)

- [SimpleToolkit.SimpleShell.Controls](#simpletoolkitsimpleshellcontrols) - collection of ready-to-use, navigation-related controls

[![NuGet](https://img.shields.io/nuget/v/SimpleToolkit.SimpleShell.Controls.svg?label=SimpleToolkit.SimpleShell.Controls)](https://www.nuget.org/packages/SimpleToolkit.SimpleShell.Controls/)
[![NuGet](https://img.shields.io/nuget/v/SimpleToolkit.SimpleShell.Controls.svg?label=SimpleToolkit.SimpleShell.Controls)](https://www.nuget.org/packages/SimpleToolkit.SimpleShell.Controls/)

I have split the content of this library into three NuGet packages because there may be people who want to use only the `SimpleShell` control, for example, and do not want to use other controls.

> **Warning:** Long-term support is not guaranteed. Use at your own risk.
> [!CAUTION]
> Long-term support is not guaranteed. Use at your own risk.
## [Samples](./docs/Samples.md)

Expand Down Expand Up @@ -57,14 +58,23 @@ Here are some of my samples that were built using this library:
<a href="https://github.com/RadekVyM/HamburgerMenuApp"><em>Hamburger Menu App</em></a>
</p>

> [!TIP]
> Check out a list of all samples [here](./docs/Samples.md).
## Supported platforms

This library supports all these platforms:

- Android
- iOS/Mac Catalyst
- Windows (WinUI)

## SimpleToolkit.Core

[![SimpleToolkit.Core](https://img.shields.io/nuget/v/SimpleToolkit.Core.svg?label=SimpleToolkit.Core)](https://www.nuget.org/packages/SimpleToolkit.Core/)
[![Documentation](https://img.shields.io/badge/-Documentation%20-forestgreen)](./docs/SimpleToolkit.Core)

The *SimpleToolkit.Core* package is a set of simple .NET MAUI controls and helpers.
The _SimpleToolkit.Core_ package is a set of simple .NET MAUI controls and helpers.

These are all the controls this package has to offer:

Expand All @@ -78,7 +88,7 @@ In order to use the controls listed above, you need to call the `UseSimpleToolki
builder.UseSimpleToolkit();
```

The package also contains some useful helpers for managing the safe area of an application window. For example, there are helpers that allow you to force application content to be displayed behind system bars (status and navigation bars) on Android and iOS.
This package also contains some useful helpers. For example, there are helpers that allow you to force application content to be displayed behind the system bars (status and navigation bars) on Android and iOS.

See [documentation](./docs/SimpleToolkit.Core) for more information.

Expand All @@ -87,9 +97,14 @@ See [documentation](./docs/SimpleToolkit.Core) for more information.
[![SimpleToolkit.SimpleShell](https://img.shields.io/nuget/v/SimpleToolkit.SimpleShell.svg?label=SimpleToolkit.SimpleShell)](https://www.nuget.org/packages/SimpleToolkit.SimpleShell/)
[![Documentation](https://img.shields.io/badge/-Documentation%20-forestgreen)](./docs/SimpleToolkit.SimpleShell)

The *SimpleToolkit.SimpleShell* package provides you with a simplified implementation of .NET MAUI `Shell` that lets you easily create a custom navigation experience in your .NET MAUI applications. The implementation is simply called `SimpleShell`.
The _SimpleToolkit.SimpleShell_ package provides you with a simplified implementation of .NET MAUI `Shell` that lets you easily create a custom navigation experience in your .NET MAUI applications. The implementation is simply called `SimpleShell`.

All `SimpleShell` is is just a set of containers for your application content with the ability to put the hosting area for pages wherever you want. This gives you the **flexibility** to add custom tab bars, navigation bars, flyouts, etc. to your `Shell` application.

Bear in mind that **`SimpleShell` does not come with any navigation controls.** `SimpleShell` just gives you the ability to use custom navigation controls along with the URI-based navigation and automatic navigation stack management.

All `SimpleShell` is is just a simple container for your content with the ability to put the hosting area for pages wherever you want, giving you the flexibility to add custom tab bars, navigation bars, flyouts, etc. to your `Shell` application while using great `Shell` URI-based navigation.
> [!IMPORTANT]
> Before you begin using `SimpleShell`, I highly recommend familiarizing yourself with the original .NET MAUI `Shell` - especially with the URI-based [navigation](https://learn.microsoft.com/en-us/dotnet/maui/fundamentals/shell/navigation), which works exactly the same as in `SimpleShell`. The `SimpleShell` class inherits from the `Shell` class.
In order to use `SimpleShell`, you need to call the `UseSimpleShell()` extension method in your `MauiProgram.cs` file:

Expand All @@ -111,7 +126,7 @@ See [documentation](./docs/SimpleToolkit.SimpleShell) for more information.
[![SimpleToolkit.SimpleShell.Controls](https://img.shields.io/nuget/v/SimpleToolkit.SimpleShell.Controls.svg?label=SimpleToolkit.SimpleShell.Controls)](https://www.nuget.org/packages/SimpleToolkit.SimpleShell.Controls/)
[![Documentation](https://img.shields.io/badge/-Documentation%20-forestgreen)](./docs/SimpleToolkit.SimpleShell.Controls)

*SimpleToolkit.SimpleShell.Controls* is a collection of ready-to-use, navigation-related controls (not only) for `SimpleShell`.
_SimpleToolkit.SimpleShell.Controls_ is a collection of ready-to-use, navigation-related controls (not only) for `SimpleShell`.

The package currently supports only two controls:

Expand All @@ -138,6 +153,7 @@ All controls can be styled using different design languages. These are currently
</a>
</p>

> [!CAUTION]
> I am still not decided if I want to continue and how to develop the `SimpleToolkit.SimpleShell.Controls` package. **The package API is likely to change in the future.** For this reason, this package is still in preview and has poor documentation.
See [documentation](./docs/SimpleToolkit.SimpleShell.Controls) for more information.
8 changes: 7 additions & 1 deletion docs/SimpleToolkit.Core/ContentButton.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
# ContentButton

In order to use the control, you need to call the `UseSimpleToolkit()` extension method in your `MauiProgram.cs` file:
In order to use this control, you need to call the `UseSimpleToolkit()` extension method in your `MauiProgram.cs` file:

```csharp
builder.UseSimpleToolkit();
```

`ContentButton` can be found in the following XAML namespace:

```xml
xmlns:simpleCore="clr-namespace:SimpleToolkit.Core;assembly=SimpleToolkit.Core"
```

`ContentButton` is just a button that can hold whatever content you want:

```xml
Expand Down
8 changes: 7 additions & 1 deletion docs/SimpleToolkit.Core/Icon.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
# Icon

In order to use the control, you need to call the `UseSimpleToolkit()` extension method in your `MauiProgram.cs` file:
In order to use this control, you need to call the `UseSimpleToolkit()` extension method in your `MauiProgram.cs` file:

```csharp
builder.UseSimpleToolkit();
```

`Icon` can be found in the following XAML namespace:

```xml
xmlns:simpleCore="clr-namespace:SimpleToolkit.Core;assembly=SimpleToolkit.Core"
```

Thanks to the `Icon` control, you are able to display a tinted image:

```xml
Expand Down
8 changes: 7 additions & 1 deletion docs/SimpleToolkit.Core/Popover.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
# Popover

In order to use the control, you need to call the `UseSimpleToolkit()` extension method in your `MauiProgram.cs` file:
In order to use this control, you need to call the `UseSimpleToolkit()` extension method in your `MauiProgram.cs` file:

```csharp
builder.UseSimpleToolkit();
```

`Popover` can be found in the following XAML namespace:

```xml
xmlns:simpleCore="clr-namespace:SimpleToolkit.Core;assembly=SimpleToolkit.Core"
```

`Popover` allows you to display custom popovers (flyouts) anchored to any control:

```xml
Expand Down
10 changes: 9 additions & 1 deletion docs/SimpleToolkit.Core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,18 @@ In order to use the controls listed above, you need to call the `UseSimpleToolki
builder.UseSimpleToolkit();
```

### XAML namespace

All controls can be found in the following XAML namespace:

```xml
xmlns:simpleCore="clr-namespace:SimpleToolkit.Core;assembly=SimpleToolkit.Core"
```

## Helpers

These are all the helpers this package has to offer:

- [Safe area helpers](SafeAreaHelpers.md) - helpers for managing the safe area of an application window
- [System bars helpers](SystemBarsHelpers.md) - helpers for changing the appearance of system bars on Android
- Bounds helper - `GetBounds()` extension method returning the bounds of a `VisualElement` relative to another `VisualElement` or the app screen if no element is passed as an argument
- Bounds helper - `GetBounds()` extension method returning the bounds of a `VisualElement` relative to another `VisualElement` or the app screen if no element is passed as an argument
Loading

0 comments on commit 28c3f4d

Please sign in to comment.