Skip to content

majorimi/blazor-components

Repository files navigation

Majorsoft Blazor Components

Build Status License GitHub last commit GitHub release (latest by date) GitHub Release Date GitHub Repo stars Build Status

Majorsoft Blazor Components is a set of UI Components and other useful Extensions for Blazor applications. All components are free and available on NuGet.

You can try out all components and extensions by launching the demo app. Note: this app is hosted on Azure Static website feature. Which uses aggressive caching you might have to use HARD reload (CTRL + F5 or CMD + SHIFT + R), or clear browser cache.

About the project

Majorsoft Blazor Components is one of the newest but the most modern Blazor library. Using the fastest ever .NET 8+ Framework leveraging CSS and JS isolation. The main goal of this project is to provide an easy to use, feature rich set of customizable components with other useful extensions. Which can boost Blazor App developments by:

  • Providing reusable components which are the main building blocks of Blazor.
  • Hiding CSS details but allowing component customizations as well (no dependency on CSS libraries).
  • Hiding JS implementations but exposing many reusable JS functionality and events via new C# APIs (no dependency on JS libraries).
  • All running on the fastest ever .NET framework: .NET 8+. Fully leveraging CSS and JS isolation, JS object reference and module exports, etc.
  • Modular project each package has "single responsibility" install only what you need, reduce download size.
  • As simple as possible setup (custom JS referencing not required) all documented with usage examples and demo app.
  • All components work on Blazor Server and Client side.
  • Components are extensible, provided extensions and services can be used in other components.
  • All components and extensions written in C# (with some required JS) and unit tested with bUnit.

Releases

GitHub release (latest by date) GitHub Release Date

⚠️ For the full release history with detailed change description and breaking change announcements please see: release notes.

Prerequisites

  • .NET 8.0 SDK or later.
  • Visual Studio 2026/Visual Studio Code.

Majorsoft Blazor Components and Extensions

Detailed descriptions and usage code samples are available on separated docs files. Please follow the link provided on each bullet points. Also you can try out all components and extensions by launching the demo app.

Check out our planned components and extensions on the project Wiki page. If you have any preferred component to have priority or new component ideas please submit it.

Majorsoft Blazor Extensions

Majorsoft Blazor Extensions are providing useful features to develop Blazor applications:

Majorsoft Blazor Components

Majorsoft Blazor Components are providing custom UI components to develop Blazor applications:

  • Majorsoft.Blazor.Components.Common.JsInterop: Js Interop components, injectable services and extensions that provides useful functionality and event notifications which can be achieved only with JS Interop e.g. scroll, clipboard, focus, resize, language detection, Geolocation, HTML Head (title, meta, SEO), etc..
  • Majorsoft.Blazor.Components.Debounce: Debounce components that renders an Input, InputText, Textarea or InputTextarea, etc. element with debounced onChange event.
  • Majorsoft.Blazor.Components.Typeahead: Typeahead components that renders an HTML Input or InputText with Typeahead panel.
  • Majorsoft.Blazor.Components.Inputs: Inputs components that renders MaxLength Input, InputText, Textarea or InputTextarea, etc. elements with maxlength set and counter to show remaining characters. Also provides a MarkdownEditor with live HTML preview, a Word-like WYSIWYG RichTextEditor (both sharing one Markdown format and a customizable sectioned toolbar) and a PasswordInput with customizable mask character and reveal (eye) button.
  • Majorsoft.Blazor.Components.Loading: Loading and Overlay components that renders Overlays for the whole page on load or for specific element on custom event. Also HTML button with customizable content for showing async operation in progress/loading state.
  • Majorsoft.Blazor.Components.Timer: Timer component that can be used for scheduled and periodically repeated tasks to call custom code.
  • Majorsoft.Blazor.Components.CssEvents: CSS Transition and Animation events injectable Services and wrapper Components to notify on CSS Transition and Animation events.
  • Majorsoft.Blazor.Components.Modal: Modal dialog component that can be used to render Modal dialog window with customizable content and parameterized Overlay, etc.
  • Majorsoft.Blazor.Components.PermaLink: PermaLink component and extension that can be used to create navigation element inside Blazor pages (#permalink).
  • Majorsoft.Blazor.Components.Toggle: Toggle components that can be used to render customizable Toggle switch and Toggle button components.
  • Majorsoft.Blazor.Components.Tabs: Tabs components that renders customizable Tabs panel with many tabs and custom content.
  • Majorsoft.Blazor.Components.Collapse: Collapse components that renders customizable Collapsible/Expandable panel and Accordion with many but only one active panel also custom content and header.
  • Majorsoft.Blazor.Components.Maps: Google/Bing Maps components that renders Google/Bing maps wrapped into Blazor components allowing to control and mange maps with .Net code.
  • Majorsoft.Blazor.Components.GdprConsent: GDPR Consent components injectable service and components that renders a customizable GDPR consent Banner or Popup with Accept/Reject for cookie settings, chosen value is persisted to Browser storage.
  • Majorsoft.Blazor.Components.Notifications: Notification components injectable INotificationService service to handle HTML5 Notifications and ServiceWorker Notifications and components that renders customizable Alert and Toast notification message elements.
  • Majorsoft.Blazor.Components.Tooltips: Tooltip and Popover components that renders a simple text Tooltip on hover or focus and a customizable, click-triggered Popover panel attached to any element with 4 positions, rich HTML content and show/hide events.
  • Majorsoft.Blazor.Components.DragAndDrop: Drag and Drop components Draggable and DropZone wrapper components exposing the full HTML Drag and Drop API with strongly-typed payload transfer, accept conditions, custom drag image and dropped file access.
  • Majorsoft.Blazor.Components.ColorPicker: ColorPicker components that renders a fully featured HTML Color Picker: HSV Saturation/Brightness area, Hue and Alpha sliders, editable HEX/RGB/HSL inputs, EyeDropper and predefined palette. Available as an always-visible ColorPalette or a compact ColorPicker hosted in a Popover.
  • Majorsoft.Blazor.Components.WASM.AppLoader: WebAssembly App Loader component that can be used to display a loading indicator (Splash Screen) while the Blazor WebAssembly app is initializing.

Community

Other info

Sponsor this project

Packages

 
 
 

Contributors