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 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 5 Framework leveraging CSS and JS isolation. The main goal of this project is to provide an easy to use, feature reach 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 5. Fully leveraging CSS and JS isolation, JS object reference and modul 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 Clint 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 5
  • Visual Studio 2019/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 prefered component to have priority or new component ideas please submit it.

Majorsoft Blazor Extensions

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

Majorsoft Blazor Components

Majorsoft Blazor Components are providing custom UI components to develop Balazor 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 renders an Input, InputText, Textarea or InputTextarea, etc. element with maxlength set and counter to show remaining characters.
  • 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 witch 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.

Other info