diff --git a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates01OverviewPage.razor b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates01OverviewPage.razor index 17df98a396..9b74c4ba39 100644 --- a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates01OverviewPage.razor +++ b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates01OverviewPage.razor @@ -36,16 +36,23 @@ Blazor is supported in the browsers shown in the following list on both mobile and desktop platforms. +
+ .NET 8 +
+ .NET 9 + -
Supported platforms
diff --git a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates03GettingStartedPage.razor b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates03GettingStartedPage.razor index 09fcf275c6..a17b385c80 100644 --- a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates03GettingStartedPage.razor +++ b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates03GettingStartedPage.razor @@ -15,6 +15,13 @@
Setup your development environment + + + +
@@ -83,36 +90,47 @@
+ + Step-by-step instructions for: + - - Step-by-step instructions for - - + -

-
+
  1. - Install latest .NET 8 SDK + Install latest .NET SDK @if (devOS is "Linux") { - -
    To install .NET 8 SDK on Linux(Ubuntu) run the following commands:
    - wget https://download.visualstudio.microsoft.com/download/pr/ca6cd525-677e-4d3a-b66c-11348a6f920a/ec395f498f89d0ca4d67d903892af82d/dotnet-sdk-8.0.403-linux-x64.tar.gz -O $HOME/dotnet.tar.gz +
    + +
    To install .NET SDK on Linux(Ubuntu) run the following commands:
    + @if (dotnetVersion is "net9.0") + { + wget https://download.visualstudio.microsoft.com/download/pr/308f16a9-2ecf-4a42-b8bb-c1233de985fd/be6e87045ab21935bd8bb98ce69026c4/dotnet-sdk-9.0.100-linux-x64.tar.gz -O $HOME/dotnet.tar.gz +mkdir -p $HOME/.dotnet +tar zxf $HOME/dotnet.tar.gz -C "$HOME/.dotnet" +echo 'PATH=$HOME/.dotnet:$HOME/.dotnet/tools:$PATH' >> ~/.bashrc +export PATH=$HOME/.dotnet:$HOME/.dotnet/tools:$PATH +rm $HOME/dotnet.tar.gz + } + else + { + wget https://download.visualstudio.microsoft.com/download/pr/4e3b04aa-c015-4e06-a42e-05f9f3c54ed2/74d1bb68e330eea13ecfc47f7cf9aeb7/dotnet-sdk-8.0.404-linux-x64.tar.gz -O $HOME/dotnet.tar.gz mkdir -p $HOME/.dotnet tar zxf $HOME/dotnet.tar.gz -C "$HOME/.dotnet" echo 'PATH=$HOME/.dotnet:$HOME/.dotnet/tools:$PATH' >> ~/.bashrc export PATH=$HOME/.dotnet:$HOME/.dotnet/tools:$PATH rm $HOME/dotnet.tar.gz + }
    }
  2. -
  3. Install Node.js

  4. @@ -199,7 +217,7 @@ rm $HOME/dotnet.tar.gz
    • - Microsoft Visual Studio 2022 - Version 17.11 or higher + Microsoft Visual Studio 2022 - Version 17.12 or higher
      • Workloads: diff --git a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates03GettingStartedPage.razor.cs b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates03GettingStartedPage.razor.cs index 332c7cd297..5b9984cbef 100644 --- a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates03GettingStartedPage.razor.cs +++ b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates03GettingStartedPage.razor.cs @@ -8,52 +8,16 @@ public partial class Templates03GettingStartedPage private bool installVs; private bool installVsCode; + private bool showCrossPlatform; private bool enableCrossPlatform; - private bool enableVirtualization; private string devOS = "Windows"; + private bool enableVirtualization; + private string dotnetVersion = "net9.0"; private string copyButtonText = "Copy commands"; - private bool showCrossPlatform; - - private List<(string text, string command)> GetSelectedComands() - { - List<(string text, string command)> selectedCommandGroups = [.. commandGroups[CommandGroup.Core]]; - if (enableVirtualization) - selectedCommandGroups.AddRange(commandGroups[CommandGroup.Virtualization]); - if (enableCrossPlatform) - selectedCommandGroups.AddRange(commandGroups[CommandGroup.Additional]); - if (installVsCode) - selectedCommandGroups.AddRange(commandGroups[CommandGroup.VSCode]); - if (installVs) - { - if (enableCrossPlatform) - selectedCommandGroups.AddRange(commandGroups[CommandGroup.AdditionalVS]); - else - selectedCommandGroups.AddRange(commandGroups[CommandGroup.VS]); - } - return selectedCommandGroups; - } - - private string GetReadyToRunSelectedCommands() + private List<(string text, string command)> GetSelectedCommands() { - return string.Join(" ", GetSelectedComands().Select(c => $"{c.text} {c.command}")); - } - - private string GetDisplayableSelectedCommands() - { - return string.Join($"{Environment.NewLine}", GetSelectedComands().Select(c => $"{c.text}{Environment.NewLine}{c.command}{Environment.NewLine}")); - } - - private async Task CopyCommandsToClipboard() - { - var commands = GetReadyToRunSelectedCommands(); - await clipboard.WriteText(commands); - copyButtonText = "Now paste commands in Windows PowerShell"; - } - - private Dictionary> commandGroups = new() - { - [CommandGroup.Core] = + List<(string text, string command)> result = [ (text:"echo 'Set execution policy';", command:"Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force;"), @@ -62,7 +26,7 @@ private async Task CopyCommandsToClipboard() command:"$ProgressPreference = 'SilentlyContinue'; Install-PackageProvider -Name \"NuGet\" -Force; Set-PSRepository -Name \"PSGallery\" -InstallationPolicy Trusted; Install-Script winget-install -Force; winget-install -Force;"), (text:@"echo 'Install .NET SDK https://dotnet.microsoft.com/en-us/download';", - command:"winget install Microsoft.DotNet.SDK.8 --accept-source-agreements --accept-package-agreements;"), + command: $"winget install Microsoft.DotNet.SDK.{(dotnetVersion is "net9.0" ? "9" : "8")} --accept-source-agreements --accept-package-agreements;"), (text:@"echo 'Discover installed .NET SDK';", command:"$env:Path = [System.Environment]::GetEnvironmentVariable(\"Path\",\"Machine\") + \";\" + [System.Environment]::GetEnvironmentVariable(\"Path\",\"User\");"), @@ -74,85 +38,95 @@ private async Task CopyCommandsToClipboard() command:"dotnet nuget add source \"https://api.nuget.org/v3/index.json\" --name \"nuget.org\"; dotnet workload install wasm-tools;"), (text:@"echo 'Install the Bit.Boilerplate project template https://www.nuget.org/packages/Boilerplate.Templates';", - command:"dotnet new install Bit.Boilerplate::8.12.0;"), - ], + command:"dotnet new install Bit.Boilerplate::8.12.0;") + ]; - [CommandGroup.Additional] = - [ - (text:@"echo 'Install MAUI workloads https://learn.microsoft.com/en-us/dotnet/maui/get-started/installation?tabs=visual-studio-code#install-net-and-net-maui-workloads';", - command:"dotnet workload install maui;"), + if (enableVirtualization) + { + result.AddRange([ + (text:@"echo 'Install WSL';", + command:"wsl --install;"), - (text:@"echo 'Enable long paths files in Windows https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation';", - command:@"New-ItemProperty -Path ""HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem"" -Name ""LongPathsEnabled"" -Value 1 -PropertyType DWORD -Force;"), + (text:@"echo 'Install HyperV';", + command:"Enable-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online -NoRestart;"), - (text:@"echo 'Enable Windows developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging#use-regedit-to-enable-your-device';", - command:@"New-ItemProperty -Path ""HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock"" -Name ""AllowDevelopmentWithoutDevLicense"" -Value 1 -PropertyType DWORD -Force;"), - ], + (text:@"echo 'Install HyperVisior Platform';", + command:"Enable-WindowsOptionalFeature -FeatureName HypervisorPlatform -Online -NoRestart;"), - [CommandGroup.VS] = - [ - (text:@"echo 'Install Visual Studio 2022 Community Edition https://visualstudio.microsoft.com/downloads/';", - command:"winget install --id Microsoft.VisualStudio.2022.Community --exact --silent --custom \"--add Microsoft.VisualStudio.Workload.NetWeb\" --accept-source-agreements --accept-package-agreements --disable-interactivity;") - ], + (text:@"echo 'Install Virtual Machine Platform';", + command:"Enable-WindowsOptionalFeature -FeatureName VirtualMachinePlatform -Online -NoRestart;"), - [CommandGroup.AdditionalVS] = - [ - (text:@"echo 'Install Visual Studio 2022 Community Edition https://visualstudio.microsoft.com/downloads/';", - command:"winget install --id Microsoft.VisualStudio.2022.Community --exact --silent --custom \"--add Microsoft.VisualStudio.Workload.NetCrossPlat --add Microsoft.VisualStudio.Workload.NetWeb --add Component.Android.SDK.MAUI\" --accept-source-agreements --accept-package-agreements --disable-interactivity;") - ], + (text:@"echo 'Install Docker Desktop';", + command:"winget install Docker.DockerDesktop --accept-source-agreements --accept-package-agreements;")] + ); + } - [CommandGroup.VSCode] = - [ - (text:@"echo 'Install Visual Studio Code https://code.visualstudio.com/download';", - command:"winget install -e --id Microsoft.VisualStudioCode --scope machine --accept-source-agreements --accept-package-agreements;"), + if (enableCrossPlatform) + { + result.AddRange([ + (text:@"echo 'Install MAUI workloads https://learn.microsoft.com/en-us/dotnet/maui/get-started/installation?tabs=visual-studio-code#install-net-and-net-maui-workloads';", + command:"dotnet workload install maui;"), - (text:@"echo 'Discover installed Visual Studio Code';", - command:"$env:Path = [System.Environment]::GetEnvironmentVariable(\"Path\",\"Machine\") + \";\" + [System.Environment]::GetEnvironmentVariable(\"Path\",\"User\");"), + (text:@"echo 'Enable long paths files in Windows https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation';", + command:@"New-ItemProperty -Path ""HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem"" -Name ""LongPathsEnabled"" -Value 1 -PropertyType DWORD -Force;"), - (text:@"echo 'Install the C# Dev Kit extension for Visual Studio Code https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit';", - command:"code --install-extension ms-dotnettools.csdevkit;"), + (text:@"echo 'Enable Windows developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging#use-regedit-to-enable-your-device';", + command:@"New-ItemProperty -Path ""HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock"" -Name ""AllowDevelopmentWithoutDevLicense"" -Value 1 -PropertyType DWORD -Force;")] + ); + } - (text:@"echo 'Install Dev Containers extension for Visual Studio Code https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers';", - command:"code --install-extension ms-vscode-remote.remote-containers;"), + if (installVsCode) + { + result.AddRange([ + (text: @"echo 'Install Visual Studio Code https://code.visualstudio.com/download';", + command: "winget install -e --id Microsoft.VisualStudioCode --scope machine --accept-source-agreements --accept-package-agreements;"), - (text:@"echo 'Install the Blazor WASM Companion extension for Visual Studio Code https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.blazorwasm-companion';", - command:"code --install-extension ms-dotnettools.blazorwasm-companion;"), + (text: @"echo 'Discover installed Visual Studio Code';", + command: "$env:Path = [System.Environment]::GetEnvironmentVariable(\"Path\",\"Machine\") + \";\" + [System.Environment]::GetEnvironmentVariable(\"Path\",\"User\");"), - (text:@"echo 'Install the Live Sass Compiler extension for Visual Studio Code https://marketplace.visualstudio.com/items?itemName=glenn2223.live-sass';", - command:"code --install-extension glenn2223.live-sass;"), + (text: @"echo 'Install the C# Dev Kit extension for Visual Studio Code https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit';", + command: "code --install-extension ms-dotnettools.csdevkit;"), - (text:@"echo 'Install the ASP.NET Core Razor IntelliSense for Visual Studio Code https://marketplace.visualstudio.com/items?itemName=kevin-chatham.aspnetcorerazor-html-css-class-completion';", - command:"code --install-extension kevin-chatham.aspnetcorerazor-html-css-class-completion;"), + (text: @"echo 'Install Dev Containers extension for Visual Studio Code https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers';", + command: "code --install-extension ms-vscode-remote.remote-containers;"), - (text:@"echo 'Install the .NET MAUI extension for Visual Studio Code https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.dotnet-maui';", - command:"code --install-extension ms-dotnettools.dotnet-maui;"), - ], - [CommandGroup.Virtualization] = - [ - (text:@"echo 'Install WSL';", - command:"wsl --install;"), + (text: @"echo 'Install the Blazor WASM Companion extension for Visual Studio Code https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.blazorwasm-companion';", + command: "code --install-extension ms-dotnettools.blazorwasm-companion;"), + + (text: @"echo 'Install the Live Sass Compiler extension for Visual Studio Code https://marketplace.visualstudio.com/items?itemName=glenn2223.live-sass';", + command: "code --install-extension glenn2223.live-sass;"), + + (text: @"echo 'Install the ASP.NET Core Razor IntelliSense for Visual Studio Code https://marketplace.visualstudio.com/items?itemName=kevin-chatham.aspnetcorerazor-html-css-class-completion';", + command: "code --install-extension kevin-chatham.aspnetcorerazor-html-css-class-completion;"), + + (text: @"echo 'Install the .NET MAUI extension for Visual Studio Code https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.dotnet-maui';", + command: "code --install-extension ms-dotnettools.dotnet-maui;")] + ); + } - (text:@"echo 'Install HyperV';", - command:"Enable-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online -NoRestart;"), + if (installVs) + { + result.Add((text: @"echo 'Install Visual Studio 2022 Community Edition https://visualstudio.microsoft.com/downloads/';", + command: $"winget install --id Microsoft.VisualStudio.2022.Community --exact --silent --custom \"--add Microsoft.VisualStudio.Workload.NetWeb{(enableCrossPlatform ? " --add Microsoft.VisualStudio.Workload.NetCrossPlat --add Component.Android.SDK.MAUI" : "")}\" --accept-source-agreements --accept-package-agreements --disable-interactivity;")); + } - (text:@"echo 'Install HyperVisior Platform';", - command:"Enable-WindowsOptionalFeature -FeatureName HypervisorPlatform -Online -NoRestart;"), + return result; + } - (text:@"echo 'Install Virtual Machine Platform';", - command:"Enable-WindowsOptionalFeature -FeatureName VirtualMachinePlatform -Online -NoRestart;"), + private string GetReadyToRunSelectedCommands() + { + return string.Join(" ", GetSelectedCommands().Select(c => $"{c.text} {c.command}")); + } - (text:@"echo 'Install Docker Desktop';", - command:"winget install Docker.DockerDesktop --accept-source-agreements --accept-package-agreements;"), - ] - }; + private string GetDisplayableSelectedCommands() + { + return string.Join($"{Environment.NewLine}", GetSelectedCommands().Select(c => $"{c.text}{Environment.NewLine}{c.command}{Environment.NewLine}")); + } - private enum CommandGroup + private async Task CopyCommandsToClipboard() { - Core, - Additional, - AdditionalVS, - VS, - VSCode, - Virtualization + var commands = GetReadyToRunSelectedCommands(); + await clipboard.WriteText(commands); + copyButtonText = "Now paste commands in Windows PowerShell"; } } diff --git a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates05CreateProjectPage.razor b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates05CreateProjectPage.razor index 7e283c80ea..05f67e2f11 100644 --- a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates05CreateProjectPage.razor +++ b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates05CreateProjectPage.razor @@ -14,7 +14,7 @@ Let's make our next cross platform project a success with Bit.Boilerplate.
        - + @GetFinalCommand() @@ -38,6 +38,19 @@ +
        + .NET + +
        +
        + + @GetDotNetVersionCommand() + +
        + Refer to the .NET Support Policy +
        + +
        Captcha @@ -64,7 +77,7 @@
        - +
        Pipeline @@ -95,7 +108,7 @@ } - +
        Sample @@ -108,7 +121,7 @@ The two available options are Admin Panel and Todo." - +
        Windows @@ -121,7 +134,7 @@ but no separate Windows application will be included. - +
        App Center @@ -134,7 +147,7 @@ seamlessly across all supported platforms. - +
        AppInsights @@ -148,7 +161,7 @@ errors and informational messages. - +
        SignalR @@ -161,11 +174,11 @@

        Note: -
        +
        This setting does not affect the enabling or disabling of Blazor Server. - +
        File Storage @@ -202,7 +215,7 @@ } - +
        Offline Database @@ -218,7 +231,7 @@ Warning: It is advisable to use this option only when necessary, as integrating Entity Framework Core can increase application size and potentially reduce startup performance. - +
        Server Database @@ -235,8 +248,6 @@

        Supported options include SqlServer, PostgreSQL, MySQL, Cosmos, and Other. - If you require a database not listed among the options, select Other. After project creation, you can add the desired database - package and configure it in the AddDbContextPool method which is located in the Program.Services.cs file within the Server.Api project.

        For the default Sqlite option, we'd recommend installing sqlite package for Visual Studio and Visual Studio Code. @@ -279,7 +290,7 @@ } - +
        Push Notification (Native and Web Push) diff --git a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates05CreateProjectPage.razor.cs b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates05CreateProjectPage.razor.cs index f5867c7114..e1bdd7412f 100644 --- a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates05CreateProjectPage.razor.cs +++ b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates05CreateProjectPage.razor.cs @@ -6,57 +6,41 @@ public partial class Templates05CreateProjectPage { private string name = "MyFirstProject"; - private Parameter windows = new() - { - Value = true, - Default = true, - }; - - private Parameter appCenter = new() - { - Value = false, - Default = false, - }; - - private Parameter offlineDb = new() - { - Value = false, - Default = false, - }; - - private Parameter notification = new() - { - Value = false, - Default = false, - }; - - private Parameter appInsight = new() - { - Value = false, - Default = false, - }; - - private Parameter signalR = new() - { - Value = false, - Default = false, - }; + private Parameter windows = new() { Value = true, Default = true }; + private Parameter appCenter = new() { Value = false, Default = false }; + private Parameter offlineDb = new() { Value = false, Default = false }; + private Parameter notification = new() { Value = false, Default = false }; + private Parameter appInsight = new() { Value = false, Default = false }; + private Parameter signalR = new() { Value = false, Default = false }; private Parameter captcha = new() { Value = "None", Default = "None", - Items = [ + Items = + [ new() { Text = "None", Value = "None" }, new() { Text = "reCaptcha", Value = "reCaptcha" }, ] }; + private Parameter dotnetVersion = new() + { + Value = "net9.0", + Default = "net9.0", + Items = + [ + new() { Text = ".NET 8", Value = "net8.0" }, + new() { Text = ".NET 9", Value = "net9.0" }, + ] + }; + private Parameter pipeline = new() { Value = "GitHub", Default = "GitHub", - Items = [ + Items = + [ new() { Text = "None", Value = "None" }, new() { Text = "GitHub", Value = "GitHub" }, new() { Text = "Azure", Value = "Azure" }, @@ -67,7 +51,8 @@ public partial class Templates05CreateProjectPage { Value = "None", Default = "None", - Items = [ + Items = + [ new() { Text = "None", Value = "None" }, new() { Text = "Admin", Value = "Admin" }, new() { Text = "Todo", Value = "Todo" }, @@ -78,7 +63,8 @@ public partial class Templates05CreateProjectPage { Value = "Sqlite", Default = "Sqlite", - Items = [ + Items = + [ new() { Text = "Sqlite", Value = "Sqlite" }, new() { Text = "SqlServer", Value = "SqlServer" }, new() { Text = "PostgreSQL", Value = "PostgreSQL" }, @@ -92,7 +78,8 @@ public partial class Templates05CreateProjectPage { Value = "Local", Default = "Local", - Items = [ + Items = + [ new() { Text = "Local", Value = "Local" }, new() { Text = "AzureBlobStorage", Value = "AzureBlobStorage" }, new() { Text = "Other", Value = "Other" }, @@ -103,7 +90,8 @@ public partial class Templates05CreateProjectPage { Value = "Integrated", Default = "Integrated", - Items = [ + Items = + [ new() { Text = "Integrated", Value = "Integrated" }, new() { Text = "Standalone", Value = "Standalone" }, ] @@ -118,6 +106,11 @@ private string GetFinalCommand() finalCommand.Append(GetCaptchaCommand()); } + if (dotnetVersion.IsModified) + { + finalCommand.Append(GetDotNetVersionCommand()); + } + if (pipeline.IsModified) { finalCommand.Append(GetPipelineCommand()); @@ -186,6 +179,11 @@ private string GetCaptchaCommand() return $"--captcha {captcha.Value} "; } + private string GetDotNetVersionCommand() + { + return $"--framework {dotnetVersion.Value} "; + } + private string GetPipelineCommand() { return $"--pipeline {pipeline.Value} "; diff --git a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates05CreateProjectPage.razor.scss b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates05CreateProjectPage.razor.scss index efc3843eff..f001d8dca3 100644 --- a/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates05CreateProjectPage.razor.scss +++ b/src/Websites/Platform/src/Bit.Websites.Platform.Client/Pages/Templates/Templates05CreateProjectPage.razor.scss @@ -62,9 +62,9 @@ } .grid-item { - width: rem2(550px); - min-height: rem2(400px); overflow: auto; + width: rem2(550px); + min-height: 21rem; position: relative; padding: rem2(28px); word-wrap: break-word; @@ -72,5 +72,33 @@ background-clip: padding-box; box-shadow: $bit-box-shadow-callout; background-color: $bit-color-background-primary; + + &.md { + min-height: 24rem; + } + + &.lg { + min-height: 28rem; + } + + @include lt-xl { + &.md { + min-height: 27rem; + } + + &.lg { + min-height: 33rem; + } + } + + @include lt-lg { + &.md { + min-height: 30rem; + } + + &.lg { + min-height: 37rem; + } + } } }