### Terminal Installation Guide Example Source: https://github.com/ivy-interactive/ivy-framework/blob/development/src/Ivy.Docs.Shared/Docs/02_Widgets/03_Common/14_Terminal.md Displays a multi-step installation process with commands and their outputs in a terminal format. ```csharp Layout.Vertical() | new Terminal() .Title("Install MyApp") .AddCommand("npm install myapp") .AddOutput("added 42 packages in 3.2s") .AddCommand("myapp init") .AddOutput("Configuration created at ./myapp.config.json") .AddCommand("myapp start") .AddOutput("Server running at https://localhost:3000") ``` -------------------------------- ### Basic Blade Navigation Setup Source: https://github.com/ivy-interactive/ivy-framework/blob/development/src/Ivy.Docs.Shared/Docs/02_Widgets/03_Common/12_Blades.md Demonstrates the fundamental setup for blade navigation using `UseBlades` for the root view and `IBladeContext` for managing the blade stack. Includes examples of pushing new blades with default and custom widths, and navigating back. ```csharp public class BladeNavigationDemo : ViewBase { public override object? Build() { return UseBlades(() => new NavigationRootView(), "Home"); } } public class NavigationRootView : ViewBase { public override object? Build() { var blades = UseContext(); var index = blades.GetIndex(this); return Layout.Horizontal().Height(Size.Units(50)) | (Layout.Vertical() | Text.Block($"This is blade level {index}") | new Button($"Push Blade {index + 1}", onClick: _ => blades.Push(this, new NavigationRootView(), $"Level {index + 1}")) | new Button($"Push Wide Blade", onClick: _ => blades.Push(this, new NavigationRootView(), $"Wide Level {index + 1}", width: Size.Units(100))) | (index > 0 ? new Button("Go Back", onClick: _ => blades.Pop()) : null)); } } ``` -------------------------------- ### Build Frontend with npm Source: https://github.com/ivy-interactive/ivy-framework/wiki/Home Install frontend dependencies, build the project, and start the development server using npm commands. ```bash cd frontend npm install npm run build npm run dev ``` -------------------------------- ### Ivy CLI Quick Start Commands Source: https://github.com/ivy-interactive/ivy-framework/blob/development/src/Ivy.Docs.Shared/Docs/01_Onboarding/03_CLI/01_CLIOverview.md These are the basic commands to get started with an Ivy project. Ensure Ivy.Console is installed first. ```bash >ivy init >ivy upgrade >ivy db add >ivy auth add >ivy deploy ``` -------------------------------- ### Install Frontend Dependencies Source: https://github.com/ivy-interactive/ivy-framework/blob/development/src/widgets/Ivy.Widgets.Leaflet/README.md Run this command in the frontend directory to install necessary dependencies. ```bash cd frontend npm install ``` -------------------------------- ### Install .NET EF Tools Source: https://github.com/ivy-interactive/ivy-framework/blob/development/src/Ivy.Docs.Shared/Docs/01_Onboarding/03_CLI/02_Init.md Install the Entity Framework Core tools globally if they are missing. ```bash >dotnet tool install -g dotnet-ef >dotnet tool install -g dotnet-user-secrets ``` -------------------------------- ### Info Callout Examples Source: https://github.com/ivy-interactive/ivy-framework/blob/development/src/Ivy.Docs.Shared/Docs/02_Widgets/01_Primitives/12_Callout.md Provides examples of using `Callout.Info` for general information, tips, and helpful guidance. Includes examples with and without titles. ```csharp public class InfoCalloutView : ViewBase { public override object? Build() { return Layout.Vertical().Gap(4) | Callout.Info("Welcome to the new dashboard! Here you can monitor all your system metrics in real-time.") | Callout.Info("Pro tip: Use the search bar to quickly find what you're looking for.", "Quick Tip") | Callout.Info("This feature is currently in beta. Please report any issues you encounter.", "Beta Feature") | Callout.Info("Remember to save your work frequently. Auto-save is enabled every 5 minutes.", "Workflow Reminder"); } } ``` -------------------------------- ### Example Program.cs Auth0 Configuration Source: https://github.com/ivy-interactive/ivy-framework/blob/development/src/Ivy.Docs.Shared/Docs/01_Onboarding/03_CLI/04_Authentication/02_Auth0.md This example shows how `UseAuth()` might be generated in Program.cs for Email/Password and Google authentication. Ensure the selected options match your Auth0 dashboard configuration. ```csharp server.UseAuth(c => c.UseEmailPassword().UseGoogle()); ``` -------------------------------- ### Basic FileInput Setup Source: https://github.com/ivy-interactive/ivy-framework/blob/development/src/Ivy.Docs.Shared/Docs/02_Widgets/04_Inputs/10_FileInput.md Demonstrates the basic setup of a FileInput widget by connecting a state variable to an upload context. This automatically handles file data management and progress tracking. ```csharp public class BasicFileInputDemo : ViewBase { public override object? Build() { var fileState = UseState?>(); var upload = UseUpload(MemoryStreamUploadHandler.Create(fileState)); return fileState.ToFileInput(upload); } } ``` -------------------------------- ### UseBlades Navigation Example Source: https://github.com/ivy-interactive/ivy-framework/blob/development/src/Ivy.Docs.Shared/Docs/03_Hooks/01_HookIntroduction.md Demonstrates creating a multi-level blade navigation interface using UseBlades. This example shows how to push new blades onto the stack and navigate back. ```csharp public class BladeNavigationDemo : ViewBase { public override object? Build() { return UseBlades(() => new NavigationRootView(), "Home"); } } public class NavigationRootView : ViewBase { public override object? Build() { var blades = UseContext(); var index = blades.GetIndex(this); return Layout.Horizontal().Height(Size.Units(50)) | (Layout.Vertical() | Text.Block($"This is blade level {index}") | new Button($"Push Blade {index + 1}", onClick: _ => blades.Push(this, new NavigationRootView(), $"Level {index + 1}")) | new Button("Push Wide Blade", onClick: _ => blades.Push(this, new NavigationRootView(), $"Wide Level {index + 1}", width: Size.Units(100))) | (index > 0 ? new Button("Go Back", onClick: _ => blades.Pop()) : null)); } } ``` -------------------------------- ### Install Frontend Dependencies Source: https://github.com/ivy-interactive/ivy-framework/blob/development/src/widgets/Ivy.Widgets.ActivityHeatmap/README.md Installs frontend dependencies using pnpm. This is a prerequisite for building the frontend assets. ```bash cd frontend pnpm install ``` -------------------------------- ### Comprehensive Responsive Layout Example Source: https://github.com/ivy-interactive/ivy-framework/blob/development/src/Ivy.Docs.Shared/Docs/02_Widgets/02_Layouts/10_ResponsiveDesign.md A detailed example showcasing various responsive properties including gap, padding, visibility, orientation, density, size, and grid columns across different breakpoints. ```csharp Layout.Vertical() .Gap(2.At(Breakpoint.Mobile).And(Breakpoint.Desktop, 6)) .Padding(new Responsive { Mobile = new Thickness(8), Desktop = new Thickness(24) }) | new Badge("Large screens").HideOn(Breakpoint.Mobile, Breakpoint.Tablet) | new Badge("Phones").ShowOn(Breakpoint.Mobile) | (Layout.Horizontal() .Orientation(Orientation.Vertical.At(Breakpoint.Mobile) .And(Breakpoint.Desktop, Orientation.Horizontal)) | new Button("Density") .Density(Density.Large.At(Breakpoint.Mobile) .And(Breakpoint.Desktop, Density.Medium)) | new Box(Text.P("Sized box")) .Width(Size.Full().At(Breakpoint.Mobile) .And(Breakpoint.Desktop, Size.Half())) .Height(Size.Units(56).At(Breakpoint.Mobile) .And(Breakpoint.Desktop, Size.Units(40))) .Background(Colors.Primary)) | (Layout.Grid() .Columns(1.At(Breakpoint.Mobile) .And(Breakpoint.Tablet, 2) .And(Breakpoint.Desktop, 3)) | new Card("One") | new Card("Two") | new Card("Three")) ``` -------------------------------- ### Install Refitter Tool Source: https://github.com/ivy-interactive/ivy-framework/blob/development/src/claude-plugin/skills/ivy-create-any-connection/SKILL.md Installs the Refitter .NET tool globally. This is a prerequisite for generating API clients. ```bash dotnet tool install --global refitter ``` -------------------------------- ### Install dotnet-svcutil Tool Source: https://github.com/ivy-interactive/ivy-framework/blob/development/src/claude-plugin/skills/ivy-create-soap-connection/SKILL.md Ensure the dotnet-svcutil tool is installed globally. This is a prerequisite for generating the SOAP client. ```bash dotnet tool install --global dotnet-svcutil ``` -------------------------------- ### Composed UI Example Source: https://github.com/ivy-interactive/ivy-framework/blob/development/src/ivyml/Ivy.IvyML/Docs/IVYML.md A complex example combining Box, StackLayout, TextBlock, Separator, Badge, Progress, and Button components to create a project status display. ```xml