### XAML Usage Example Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyScratchView.md Example demonstrating how to use FreakyScratchView in XAML with various properties. ```APIDOC ## XAML Usage ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` ``` -------------------------------- ### Add FreakyControls Package Source: https://github.com/freakyali/maui.freakycontrols/blob/master/MAUI.FreakyControls/MAUI.FreakyControls/readme.md Install the FreakyControls NuGet package using the .NET CLI. ```bash dotnet add package FreakyControls ``` -------------------------------- ### XAML Usage for FreakySwitch Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakySwitch.md Demonstrates how to integrate the FreakySwitch into your XAML markup. Ensure the namespace is correctly defined. This example shows binding to a ViewModel property, setting custom colors, and enabling the check mark and a command. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### FreakyAutoCompleteView XAML Usage Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyAutoCompleteView.md Example of how to use the FreakyAutoCompleteView in XAML, including common properties and event handlers. ```APIDOC ## XAML Usage ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` ``` -------------------------------- ### FreakySwipeButton XAML Usage Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakySwipeButton.md Example of how to implement the FreakySwipeButton in XAML, including custom thumb, track, and fill views. ```APIDOC ## XAML Usage ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` ``` -------------------------------- ### FreakyPicker XAML Usage Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyPicker.md Example of how to use FreakyPicker in XAML, including setting a title, items source, selected item, and image properties. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### Add FreakyControls Package via Package Manager Console Source: https://github.com/freakyali/maui.freakycontrols/blob/master/README.md Alternatively, install the FreakyControls package using the Package Manager Console in Visual Studio. Replace 'xx.xx.xx' with the desired version. ```powershell Install-Package FreakyControls -Version xx.xx.xx ``` -------------------------------- ### FreakyZoomableView XAML Usage Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyZoomableView.md Demonstrates how to integrate FreakyZoomableView in XAML, setting minimum and maximum zoom scales, enabling double-tap to zoom, and specifying the scale factor for double-tap gestures. Includes an example child Image view. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### Get Signature as Image Stream Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakySignatureCanvasView.md Retrieve the current signature as an encoded image stream. Supports PNG format by default and allows customization of size, scale, stroke color, and fill color via overloads. ```csharp Stream stream = await SignaturePad.GetImageStreamAsync(SignatureImageFormat.Png); ``` -------------------------------- ### Include Raw Assets in MAUI Project Source: https://github.com/freakyali/maui.freakycontrols/blob/master/MAUI.FreakyControls/Samples/Resources/Raw/AboutAssets.txt Use the `MauiAsset` build action in your `.csproj` file to include raw assets. The `LogicalName` ensures files are deployed with their original directory structure and name. ```xml ``` -------------------------------- ### Initialize FreakyControls in MauiProgram Source: https://github.com/freakyali/maui.freakycontrols/blob/master/MAUI.FreakyControls/MAUI.FreakyControls/readme.md Initialize FreakyControls in your MauiProgram.cs file. Set `useSkiaSharp` to true for controls like FreakyCheckbox, FreakyRadioButton, and FreakySvgImageView, and `useFreakyEffects` for touch/ripple effects. ```csharp using Maui.FreakyControls.Extensions; public static class MauiProgram { public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder(); builder.UseMauiApp(); // useSkiaSharp: required for FreakyCheckbox, FreakyRadioButton, FreakySvgImageView // useFreakyEffects: required for touch/ripple effects builder.InitializeFreakyControls(useSkiaSharp: true, useFreakyEffects: true); return builder.Build(); } } ``` -------------------------------- ### Initialize FreakyControls in MauiProgram.cs Source: https://github.com/freakyali/maui.freakycontrols/blob/master/README.md Integrate FreakyControls into your MAUI application by calling InitializeFreakyControls in your MauiProgram.cs. Configure SkiaSharp and FreakyEffects as needed. ```csharp using Maui.FreakyControls.Extensions; public static class MauiProgram { public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder(); builder .UseMauiApp() .ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); }); // useSkiaSharp → FreakyCheckbox, FreakyRadioButton, FreakySvgImageView, FreakySwitch, FreakyScratchView // useFreakyEffects → touch/ripple effects builder.InitializeFreakyControls(useSkiaSharp: true, useFreakyEffects: true); return builder.Build(); } } ``` -------------------------------- ### FreakyTimePicker XAML Usage Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyTimePicker.md Demonstrates how to use the FreakyTimePicker in XAML, including binding time, setting an image source, alignment, and a tap command. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### XAML Usage for FreakyCodeView and FreakyPinCodeControl Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCodeView.md Demonstrates how to integrate FreakyCodeView for inline OTP entry and FreakyPinCodeControl with a custom keyboard in XAML. Includes binding to view models and command execution. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### FreakyDatePicker XAML Usage Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyDatePicker.md Demonstrates how to integrate FreakyDatePicker in XAML, including setting date binding, image source, alignment, and command. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### XAML Usage of FreakyScratchView Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyScratchView.md Demonstrates how to integrate FreakyScratchView in XAML, including setting image sources, reveal threshold, and back content. Ensure the necessary namespace is declared. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### XAML Usage for FreakyChip and FreakyChipGroup Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyChip.md Demonstrates how to declare a standalone FreakyChip and a FreakyChipGroup for single-selection behavior in XAML. Ensure the 'freaky' namespace is correctly defined. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### Basic XAML Usage of FreakyTextInputLayout Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyTextInputLayout.md Demonstrates how to declare and configure FreakyTextInputLayout in XAML, including setting the title, text binding, border type, and image source. Ensure the necessary namespace is included. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### FreakyImage XAML Usage Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyImage.md Demonstrates how to declare and use the FreakyImage control in XAML, including setting the source and handling the ImageLoaded event. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### XAML Usage for FreakyJumpList Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyJumpList.md Demonstrates how to declare and configure FreakyJumpList in XAML. Includes namespace declaration and common property settings. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### FreakyAutoCompleteView XAML Usage Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyAutoCompleteView.md Demonstrates how to declare and configure FreakyAutoCompleteView in XAML, including binding to data, setting placeholders, and handling events. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### Access Deployed Raw Assets in MAUI Source: https://github.com/freakyali/maui.freakycontrols/blob/master/MAUI.FreakyControls/Samples/Resources/Raw/AboutAssets.txt Access raw assets deployed with your application package using `FileSystem.OpenAppPackageFileAsync`. This method returns a stream that can be read into memory. ```csharp async Task LoadMauiAsset() { using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt"); using var reader = new StreamReader(stream); var contents = reader.ReadToEnd(); } ``` -------------------------------- ### FreakyAutoCompleteView Properties Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyAutoCompleteView.md A list of configurable properties for the FreakyAutoCompleteView, detailing their types, default values, and descriptions. ```APIDOC ## Properties | Property | Type | Default | Description | | --- | --- | --- | --- | | `Text` | `string` | `""` | Current input text | | `Placeholder` | `string` | `""` | Placeholder text | | `PlaceholderColor` | `Color` | `Colors.Gray` | Placeholder text colour | | `TextColor` | `Color` | `Colors.Gray` | Input text colour | | `TextMemberPath` | `string` | `""` | Property path used to populate the field when a suggestion is chosen | | `DisplayMemberPath` | `string` | `""` | Property path used to display items in the suggestion list | | `ItemsSource` | `IList` | `null` | Collection of suggestion items | | `Threshold` | `int` | `1` | Minimum characters typed before suggestions appear | | `IsSuggestionListOpen` | `bool` | `false` | Programmatically show or hide the suggestion list | | `UpdateTextOnSelect` | `bool` | `true` | Whether selecting a suggestion updates the text field | | `AllowCopyPaste` | `bool` | `false` | Enable or disable copy/paste context menu | | `HorizontalTextAlignment` | `TextAlignment` | `Start` | | | `VerticalTextAlignment` | `TextAlignment` | `Center` | | | `FontFamily` | `string` | `null` | | | `FontSize` | `double` | `14` | | | `FontAttributes` | `FontAttributes` | `None` | | | `TextTransform` | `TextTransform` | `None` | Apply uppercase, lowercase, or default transform to input text | | `ImageSource` | `ImageSource` | `null` | Optional side icon | | `ImageHeight` | `int` | `25` | | | `ImageWidth` | `int` | `25` | | | `ImageAlignment` | `ImageAlignment` | `Right` | `Left` or `Right` | | `ImagePadding` | `int` | `5` | | | `ImageCommand` | `ICommand` | `null` | Command fired when the icon is tapped | | `ImageCommandParameter` | `object` | `null` | | | `SuggestionListWidth` | `double` | `0` | Override dropdown width (`0` = match input width) | | `SuggestionListHeight` | `double` | `0` | Override dropdown max height (`0` = dynamic/wrap content) | ``` -------------------------------- ### XAML Usage for FreakyRadioButton and FreakyRadioGroup Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyRadioButton.md Demonstrates how to use FreakyRadioButton as a standalone element and within a FreakyRadioGroup for single selection in XAML. Ensure the necessary namespace is declared. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### FreakyCheckbox XAML Usage Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCheckbox.md Demonstrates how to declare and bind a FreakyCheckbox in XAML. Ensure the FreakyControls namespace is correctly imported. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### FreakyScratchView Methods Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyScratchView.md Available methods to control the state and behavior of FreakyScratchView. ```APIDOC ## Methods | Method | Description | | --- | --- | | `Reset()` | Restores the scratch surface to its original state and resets all scratch progress. The cached front image is preserved so it does not reload | ``` -------------------------------- ### FreakySwipeButton XAML Usage Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakySwipeButton.md Demonstrates how to declare and configure a FreakySwipeButton in XAML, including custom thumb, track, and fill views, and binding a command to the slide completion event. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### FreakyButton XAML Usage Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyButton.md Demonstrates how to use FreakyButton in XAML, including setting text, busy state, command, corner radius, colors, and adding a leading icon. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### FreakyAutoCompleteView Events Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyAutoCompleteView.md Details on the events that FreakyAutoCompleteView can trigger, including their arguments and purpose. ```APIDOC ## Events | Event | Args | Description | | --- | --- | --- | | `TextChanged` | `FreakyAutoCompleteViewTextChangedEventArgs` | Fires on user input or programmatic text change. `Reason` indicates `UserInput`, `ProgrammaticChange`, or `SuggestionChosen` | | `QuerySubmitted` | `FreakyAutoCompleteViewQuerySubmittedEventArgs` | Fires when the user presses return or selects a suggestion | | `SuggestionChosen` | `FreakyAutoCompleteViewSuggestionChosenEventArgs` | Fires when a suggestion row is tapped | ``` -------------------------------- ### FreakyScratchView Properties Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyScratchView.md Configuration options for FreakyScratchView, controlling its appearance and behavior. ```APIDOC ## Properties | Property | Type | Default | Description | | --- | --- | --- | --- | | `BackContent` | `View` | `null` | The view revealed as the user scratches | | `FrontImageSource` | `ImageSource` | `null` | Image drawn as the scratchable surface. Supports file, stream, and URI sources. Takes priority over `FrontColor` when set | | `FrontColor` | `Color` | `Colors.LightGray` | Solid colour used as the scratchable surface when no `FrontImageSource` is set | | `BrushSize` | `float` | `40` | Scratch brush diameter in canvas pixels | | `RevealThreshold` | `float` | `0.7` | Fraction of the surface (0.0–1.0) that must be scratched before `ScratchCompleted` fires | | `AutoRevealEnabled` | `bool` | `true` | Automatically clear the remaining surface and play the reveal animation once the threshold is reached | | `IsTapToRevealEnabled` | `bool` | `false` | A single tap (without dragging) fully reveals the card | | `RevealAnimationType` | `ScratchRevealAnimationType` | `FadeOut` | Animation played when the surface is fully revealed — `None`, `FadeOut`, or `Shimmer` | | `ScratchCompletedCommand` | `ICommand` | `null` | Command executed when `RevealThreshold` is reached | ``` -------------------------------- ### FreakyEntry XAML Usage Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyEntry.md Demonstrates how to declare and configure the FreakyEntry control in XAML, including setting text binding, placeholder, side image properties, and enabling copy/paste. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### XAML Usage for FreakySvgImageView Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakySvgImageView.md Demonstrates how to use FreakySvgImageView in XAML to load SVGs from embedded resources or Base64 strings. Configure `ResourceId` and `SvgAssembly` for embedded resources, or `Base64String` for direct SVG data. Supports tinting with `ImageColor` and tap actions with `Command`. ```xml xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:MyApp" xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### FreakyCheckbox Properties Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCheckbox.md This snippet details the configurable properties of the FreakyCheckbox control, allowing for customization of its appearance and behavior. ```APIDOC ## FreakyCheckbox Properties This section details the properties available for the `FreakyCheckbox` control. ### Properties - **`IsChecked`** (`bool`) - Default: `false` - TwoWay binding for the checked state. - **`HasCheckAnimation`** (`bool`) - Default: `true` - Enables or disables the animation of the check mark on toggle. - **`OutlineColor`** (`Color`) - Default: `Colors.Black` - Sets the color of the checkbox border. - **`FillColor`** (`Color`) - Default: `Colors.White` - Sets the background color of the checkbox when it is checked. - **`CheckColor`** (`Color`) - Default: `Colors.Black` - Sets the color of the check mark. - **`OutlineWidth`** (`float`) - Default: `6` - Defines the stroke width of the checkbox border. - **`CheckWidth`** (`float`) - Default: `6` - Defines the stroke width of the check mark. - **`Shape`** (`Shape`) - Default: platform default - Specifies the shape of the checkbox. Accepts `Rectangle` or `Circle`. - **`CheckType`** (`CheckType`) - Default: `Check` - Determines the visual representation of the checked state. Accepts `Check` (tick) or `Fill` (solid fill). - **`Design`** (`Design`) - Default: `Unified` - Selects the visual design variant of the checkbox. - **`AnimationType`** (`AnimationType`) - Default: `Default` - Specifies the animation style applied when the checkbox is toggled. - **`SizeRequest`** (`double`) - Default: `24` - Sets the width and height of the control. - **`CheckedChangedCommand`** (`ICommand`) - Default: `null` - A command that executes when the `IsChecked` property changes. ``` -------------------------------- ### FreakyRadioButton Properties and Events Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyRadioButton.md This section details the properties and events available for the FreakyRadioButton component, allowing for customization of its appearance and behavior, as well as handling state changes. ```APIDOC ## FreakyRadioButton ### Description A SkiaSharp-rendered radio button that can be used standalone or within a FreakyRadioGroup for mutually exclusive selection. ### Properties - **IsChecked** (`bool`) - TwoWay — checked state. Default: `false` - **Name** (`string`) - Identifier used by FreakyRadioGroup. Default: `"RadioButton"` - **HasCheckAnimation** (`bool`) - Animate on toggle. Default: `true` - **OutlineColor** (`Color`) - Default: `Colors.Black` - **FillColor** (`Color`) - Background fill. Default: `Colors.White` - **CheckColor** (`Color`) - Inner dot colour. Default: `Colors.Black` - **OutlineWidth** (`float`) - Border stroke width. Default: `6` - **SizeRequest** (`double`) - Width and height. Default: `24` - **CheckedChangedCommand** (`ICommand`) - Default: `null` ### Events - **CheckedChanged** (`CheckedChangedEventArgs`): Fires when `IsChecked` changes. ``` -------------------------------- ### XAML Usage for FreakyCircularImage Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCircularImage.md Demonstrates how to declare and use the FreakyCircularImage in XAML. Ensure the namespace is correctly defined. Set equal HeightRequest and WidthRequest for a perfect circle. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### FreakyScratchView Events Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyScratchView.md Events that can be subscribed to for FreakyScratchView interactions. ```APIDOC ## Events | Event | Args | Description | | --- | --- | --- | | `ScratchCompleted` | `EventArgs` | Fires once when the scratched area reaches `RevealThreshold` | ``` -------------------------------- ### FreakyEditor XAML Usage Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyEditor.md Include the FreakyEditor namespace and use the FreakyEditor control in XAML. Set AllowCopyPaste to false to disable the context menu. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### FreakyCheckbox Events Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCheckbox.md This snippet outlines the events that the FreakyCheckbox control can raise, specifically for tracking changes in its checked state. ```APIDOC ## FreakyCheckbox Events This section details the events exposed by the `FreakyCheckbox` control. ### Events - **`CheckedChanged`** - **Args**: `CheckedChangedEventArgs` - **Description**: Fires when the `IsChecked` property changes. ``` -------------------------------- ### FreakyRadioGroup Properties and Events Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyRadioButton.md This section details the properties and events for the FreakyRadioGroup component, which manages a collection of FreakyRadioButtons to ensure only one can be selected at a time. ```APIDOC ## FreakyRadioGroup ### Description A container for FreakyRadioButtons that ensures only one button within the group can be selected at a time, facilitating mutually exclusive choices. ### Properties - **SelectedIndex** (`int`) - TwoWay — zero-based index of the selected button. Default: `-1` - **SelectedRadioButtonChangedCommand** (`ICommand`) - Default: `null` ### Events - **SelectedRadioButtonChanged** (`FreakyRadioButtonEventArgs`): Fires when the selection changes within the group. ``` -------------------------------- ### FreakyCodeView Properties Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCodeView.md Properties available for the FreakyCodeView control, used for inline OTP/PIN entry. ```APIDOC ## FreakyCodeView Properties | Property | Type | Default | Description | | --- | --- | --- | --- | | `CodeValue` | `string` | `""` | TwoWay — current entered code | | `CodeLength` | `int` | `4` | Number of input slots | | `CodeInputType` | `KeyboardType` | `Numeric` | Keyboard type shown | | `IsPassword` | `bool` | `true` | Mask digits with dots | | `Color` | `Color` | `Colors.Black` | Default item colour | | `ItemShape` | `ItemShape` | `Circle` | `Circle` or `Square` | | `ItemSize` | `double` | `50` | Size of each item slot | | `ItemSpacing` | `double` | `5` | Space between slots | | `ItemBorderColor` | `Color` | `Colors.Black` | | | `ItemBorderWidth` | `double` | `5` | | | `ItemBackgroundColor` | `Color` | default | | | `ItemFocusColor` | `Color` | `Colors.Black` | Colour of the focused slot | | `ItemFocusAnimation` | `FocusAnimation` | default | Animation style on focus | | `FontSize` | `double` | `ItemSize / 2` | | | `FontFamily` | `string` | `null` | | | `ShouldAutoDismissKeyboard` | `bool` | `true` | Dismiss keyboard after last digit | | `CodeEntryCompletedCommand` | `ICommand` | `null` | | ``` -------------------------------- ### FreakyCodeView Events Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCodeView.md Events that can be handled by the FreakyCodeView control. ```APIDOC ### FreakyCodeView Events | Event | Args | Description | | --- | --- | --- | | `CodeEntryCompleted` | `FreakyCodeCompletedEventArgs` | Fires when all digits are entered | ``` -------------------------------- ### FreakySwipeButton Properties Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakySwipeButton.md The FreakySwipeButton offers several properties to customize its appearance and behavior. ```APIDOC ## Properties | Property | Type | Default | Description | | --- | --- | --- | --- | | `Thumb` | `View` | `null` | The draggable handle — any `View` | | `TrackBar` | `View` | `null` | The static background track — any `View` | | `FillBar` | `View` | `null` | The progress fill that follows the thumb — any `View` | | `SlideCompleteCommand` | `ICommand` | `null` | Fired when the thumb reaches the end | ``` -------------------------------- ### Update Namespace for Enums Source: https://github.com/freakyali/maui.freakycontrols/blob/master/MAUI.FreakyControls/MAUI.FreakyControls/readme.md After version 0.5.0, the 'Shared' folder was removed from namespaces. Update your using statements accordingly. ```csharp using Maui.FreakyControls.Shared.Enums; // old using Maui.FreakyControls.Enums; // new ``` -------------------------------- ### FreakyPinCodeControl Additional Properties Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCodeView.md Additional properties specific to FreakyPinCodeControl, which extends FreakyCodeView with a custom keyboard. ```APIDOC ## Additional FreakyPinCodeControl Properties All `FreakyCodeView` properties apply, plus: | Property | Type | Default | Description | | --- | --- | --- | --- | | `ShouldShowCancelButton` | `bool` | `true` | Show/hide the cancel key | | `CancelButtonText` | `string` | `"Cancel"` | Cancel key label | | `CancelButtonImageSource` | `ImageSource` | `null` | Image for cancel key (replaces text) | | `BackspaceButtonSource` | `ImageSource` | `null` | Image for backspace key | | `KeyboardBackgroundColor` | `Color` | `Colors.White` | | | `KeyboardTextColor` | `Color` | `Colors.Black` | | | `KeyboardButtonCornerRadius` | `int` | `10` | | | `KeyboardButtonHeightRequest` | `double` | default | | | `KeyboardButtonWidthRequest` | `double` | default | | | `KeyboardSpacing` | `double` | `10` | Spacing between keyboard rows | | `CancelBackgroundColor` | `Color` | `Colors.White` | | | `BackspaceBackgroundColor` | `Color` | `Colors.White` | | | `CancelButtonPadding` | `Thickness` | `20` | | | `CancelFontSize` | `double` | inherited | | ``` -------------------------------- ### Add FreakyControls Namespace to XAML Source: https://github.com/freakyali/maui.freakycontrols/blob/master/MAUI.FreakyControls/MAUI.FreakyControls/readme.md Add the FreakyControls namespace to your XAML pages to use the custom controls. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` -------------------------------- ### FreakySwipeButton Events Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakySwipeButton.md The FreakySwipeButton provides an event to notify when the swipe gesture is completed. ```APIDOC ## Events | Event | Description | | --- | --- | | `SlideCompleted` | Fires when the swipe gesture reaches 100% | ``` -------------------------------- ### FreakyPinCodeControl Events Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCodeView.md Events specific to the FreakyPinCodeControl. ```APIDOC ### FreakyPinCodeControl Events | Event | Description | | --- | --- | | `CodeEntryCompleted` | Fires when all digits are entered | | `KeyboardClicked` | Fires on each key tap | | `CancelClicked` | Fires when the cancel key is tapped | | `BackSpaceClicked` | Fires when backspace is tapped | ``` -------------------------------- ### XAML Usage for FreakySignatureCanvasView Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakySignatureCanvasView.md Declare the FreakySignatureCanvasView in XAML, setting properties like StrokeColor, StrokeWidth, and binding commands for save and clear operations. ```xml xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls" ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.