A native Blazor component for selecting date ranges and single dates, ported from JavaScript DateRangePicker with no jQuery or Bootstrap dependencies.
BlazorDateRangePicker is a native Blazor component for selecting date ranges and single dates in web applications. It's a direct port of the popular JavaScript DateRangePicker library, rewritten entirely in C# as a Razor Component. The component solves the need for a feature-rich, dependency-free date picker that integrates seamlessly with Blazor's data binding and event system.
Blazor developers building web applications that require date selection functionality, particularly those who want a native component without jQuery or Bootstrap dependencies.
Developers choose BlazorDateRangePicker because it offers a comprehensive date picking solution with full Blazor integration, extensive customization options, and no external JavaScript library dependencies—making it lighter and more aligned with modern Blazor development practices.
A Blazor component for choosing date ranges and dates
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Seamlessly integrates with Blazor's component model, offering two-way data binding via @bind-StartDate and a comprehensive event-driven API like OnRangeSelect, as demonstrated in the README examples.
Provides deep control through templates (PickerTemplate, ButtonsTemplate, DayTemplate) and numerous configurable properties, enabling full UI and behavior customization without external dependencies.
Includes time picker, week numbers, predefined ranges, and localization via CultureInfo, offering feature parity with popular JavaScript date pickers, as detailed in the properties table.
Eliminates reliance on jQuery or moment.js, reducing bundle size and aligning with modern Blazor development, explicitly stated in the README's philosophy section.
Despite being a Blazor component, it requires JavaScript for popup positioning and outside click handling, which the README admits and notes may change with future Blazor releases, adding complexity.
The changelog shows significant breaking changes, such as version 5.0.0 removing inline styles and dropping support for older .NET versions, which can disrupt existing implementations and require migration effort.
Advanced features like custom templates or async validation functions (e.g., DaysEnabledFunctionAsync) involve lengthy code and deeper understanding, as seen in the README's complex usage examples, increasing initial development time.