1. Frameworks
  2. Blazor

Installation

Install Preline UI with Blazor using Tailwind CSS

Setting up Preline UI in a Blazor project with SPA navigation support.

Prerequisites

This guide assumes you already have a Blazor project with Tailwind CSS configured. If you haven't set up Tailwind CSS yet, check out the Tailwind CSS documentation first.

Quick Blazor setup

Integrate Preline UI components with your existing Blazor + Tailwind CSS project. This guide focuses on adding Preline UI with SPA navigation support.

  1. Install Preline UI

    Install preline via npm in your Blazor project directory.

    Terminal
    						
    							npm install preline
    						
    					

    Please note, Preline UI uses Tailwind CSS Forms plugin in all form components. Don't forget to install it, if you haven't done so already: npm install -D @tailwindcss/forms

  2. Update Tailwind CSS Configuration

    Add Preline UI CSS variants and forms plugin to your src/input.css file.

    src/input.css
    							
    								@import "tailwindcss";
    
    								/* Preline UI */
    								@source "./node_modules/preline/dist/*.js";
    								@import "../node_modules/preline/variants.css";
    
    								/* Plugins */
    								@plugin "@tailwindcss/forms";
    
    								/* Preline Themes */
    								@import "./themes/theme.css";
    							
    						

    Check out the Theme docs to learn more about Preline Themes.

  3. Build CSS and Copy Preline JavaScript

    Build Tailwind CSS and copy Preline JavaScript to your wwwroot directory.

    Terminal
    						
                  npx @tailwindcss/cli -i ./src/input.css -o ./wwwroot/css/tailwind.css
                  mkdir -p wwwroot/js
                  cp node_modules/preline/dist/preline.js wwwroot/js/
    						
    					
  4. Update App.razor with SPA Navigation Support

    Update your Components/App.razor to include Preline JavaScript with SPA navigation support.

    Components/App.razor
                  
                

Optional Preline UI Styles

Please note, Preline UI comes with some opinionated styles that are applied to components by default. If you want these styles in your project, you may include them into your CSS file. These styles used to come by default in Tailwind v3, so we decided to keep them in Preline UI.

CSS
						
              /* Adds pointer cursor to buttons */
              @layer base {
                button:not(:disabled),
                [role="button"]:not(:disabled) {
                  cursor: pointer;
                }
              }

              /* Defaults hover styles on all devices */
              @custom-variant hover (&:hover);