Osirion.Blazor.Core
2.1.7
See the version list below for details.
dotnet add package Osirion.Blazor.Core --version 2.1.7
NuGet\Install-Package Osirion.Blazor.Core -Version 2.1.7
<PackageReference Include="Osirion.Blazor.Core" Version="2.1.7" />
<PackageVersion Include="Osirion.Blazor.Core" Version="2.1.7" />
<PackageReference Include="Osirion.Blazor.Core" />
paket add Osirion.Blazor.Core --version 2.1.7
#r "nuget: Osirion.Blazor.Core, 2.1.7"
#:package Osirion.Blazor.Core@2.1.7
#addin nuget:?package=Osirion.Blazor.Core&version=2.1.7
#tool nuget:?package=Osirion.Blazor.Core&version=2.1.7
Osirion.Blazor.Core
Core components and utilities for Osirion.Blazor ecosystem. This package provides the foundation for building SSR-compatible Blazor components with a comprehensive set of layout, navigation, and content components.
Components
Layout Components
HeroSection
A comprehensive hero section component with support for various layouts, background images, and call-to-action buttons.
<HeroSection
Title="Welcome to Our Platform"
Subtitle="Build amazing applications with ease"
Summary="Experience the power of modern web development with our comprehensive toolkit."
ImageUrl="/images/hero-image.jpg"
UseBackgroundImage="true"
PrimaryButtonText="Get Started"
PrimaryButtonUrl="/getting-started"
SecondaryButtonText="Learn More"
SecondaryButtonUrl="/docs"
Variant="HeroVariant.Hero"
Alignment="Alignment.Center" />
Parameters:
Title
: Main hero titleSubtitle
: Hero subtitleSummary
: Hero description/summaryImageUrl
: Image URL for hero sectionUseBackgroundImage
: Display image as background vs. side imageBackgroundPattern
: Optional background patternAlignment
: Text alignment (Left, Center, Right, Justify)Variant
: Hero variant (Hero, Jumbotron, Minimal)ShowPrimaryButton
/ShowSecondaryButton
: Button visibilityPrimaryButtonText
/SecondaryButtonText
: Button textPrimaryButtonUrl
/SecondaryButtonUrl
: Button URLsMinHeight
: Minimum height of hero sectionShowMetadata
: Display author/date metadataAuthor
,PublishDate
,ReadTime
: Metadata properties
OsirionPageLayout
A comprehensive page layout component with header, footer, sidebar, and content areas.
<OsirionPageLayout
HasSidebar="true"
SidebarPosition="Position.Left"
HasFooter="true">
<HeaderContent>
</HeaderContent>
<SidebarContent>
</SidebarContent>
<MainContent>
</MainContent>
<FooterContent>
</FooterContent>
</OsirionPageLayout>
OsirionFooter
A flexible footer component with multiple sections and customizable content.
<OsirionFooter>
<FooterContent>
</FooterContent>
</OsirionFooter>
OsirionStickySidebar
A sidebar component that sticks to the viewport during scrolling.
<OsirionStickySidebar Position="Position.Left">
</OsirionStickySidebar>
OsirionBackgroundPattern
A component for adding decorative background patterns to any section.
<OsirionBackgroundPattern
Pattern="BackgroundPatternType.Dots"
Opacity="0.1" />
Navigation Components
OsirionBreadcrumbs
Automatically generates breadcrumb navigation from URL paths.
<OsirionBreadcrumbs
Path="/blog/category/post-title"
ShowHome="true"
HomeText="Home"
HomeUrl="/"
LinkLastItem="false"
UrlPrefix="/blog/"
SegmentFormatter="@((segment) => segment.Replace("-", " "))" />
Parameters:
Path
: URL path to generate breadcrumbs fromShowHome
: Include home link in breadcrumbsHomeText
: Text for home linkHomeUrl
: URL for home linkLinkLastItem
: Make the last breadcrumb item clickableUrlPrefix
: Prefix for generated URLsSegmentFormatter
: Function to format URL segments
Content Components
OsirionArticleMetadata
Displays article metadata including author, publish date, and read time.
<OsirionArticleMetadata
Author="John Doe"
PublishDate="@DateTime.Now"
DateFormat="MMM dd, yyyy"
ReadTime="5 min read" />
Parameters:
Author
: Article author namePublishDate
: Publication dateDateFormat
: Date formatting stringReadTime
: Estimated reading time
OsirionHtmlRenderer
Safely renders HTML content with built-in sanitization.
<OsirionHtmlRenderer
HtmlContent="@htmlString"
SanitizeHtml="true" />
State Components
OsirionContentNotFound
A user-friendly 404 error page component.
<OsirionContentNotFound
Title="Page Not Found"
Message="The page you're looking for doesn't exist."
ShowBackButton="true"
BackButtonText="Go Back"
BackButtonUrl="/" />
OsirionPageLoading
A loading indicator component for page transitions.
<OsirionPageLoading
Message="Loading content..."
ShowSpinner="true" />
Interactive Components
OsirionCookieConsent
A GDPR-compliant cookie consent banner with customizable categories.
<OsirionCookieConsent
Title="Cookie Consent"
Message="We use cookies to improve your experience."
ShowDeclineButton="true"
ShowCustomizeButton="true"
PolicyLink="/privacy-policy"
Categories="@cookieCategories"
Position="bottom" />
Features:
- GDPR-compliant cookie consent management
- Customizable cookie categories (Necessary, Analytics, Marketing, Preferences)
- SSR-compatible form submission
- Configurable consent expiry
- Privacy policy integration
InfiniteLogoCarousel
Self-contained logo carousel with zero external dependencies.
<InfiniteLogoCarousel
Title="Our Partners"
CustomLogos="@logoList"
AnimationDuration="60"
Direction="AnimationDirection.Right"
PauseOnHover="true"
EnableGrayscale="true" />
Detailed documentation: InfiniteLogoCarousel.md
Installation
dotnet add package Osirion.Blazor.Core
Usage
Add import to your _Imports.razor
:
@using Osirion.Blazor.Components
Inherit from OsirionComponentBase
when creating components:
public class MyComponent : OsirionComponentBase
{
// Your component code here
}
Base Component Features
OsirionComponentBase
provides:
- Common parameter handling for CSS classes and styles
- Automatic handling of additional attributes
- Environment detection (browser vs server)
- Consistent rendering behavior
- Accessibility support
- Framework integration support
Enums and Models
Position
public enum Position
{
Top, Bottom, Left, Right,
TopLeft, TopRight, BottomLeft, BottomRight
}
Alignment
public enum Alignment
{
Left, Center, Right, Justify
}
HeroVariant
public enum HeroVariant
{
Hero, Jumbotron, Minimal
}
BackgroundPatternType
public enum BackgroundPatternType
{
Dots, Grid, Lines, Waves, Geometric
}
ScrollBehavior
public enum ScrollBehavior
{
Auto, Smooth, Instant
}
ButtonVariant, ButtonSize, ButtonShape
Comprehensive button styling enums for consistent UI design.
Models
BreadcrumbSegment
public class BreadcrumbSegment
{
public string Name { get; set; }
public string Url { get; set; }
public bool IsLast { get; set; }
}
BreadcrumbPath
public class BreadcrumbPath
{
public List<BreadcrumbSegment> Segments { get; set; }
public string FullPath { get; set; }
}
CookieCategory
public class CookieCategory
{
public string Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public bool IsRequired { get; set; }
public bool IsEnabled { get; set; }
}
CSS Framework Integration
The core components integrate seamlessly with popular CSS frameworks:
- Bootstrap 5+
- Fluent UI
- MudBlazor
- Radzen
Components automatically adapt their styling based on the detected framework.
Accessibility
All components include:
- Proper ARIA labels and roles
- Keyboard navigation support
- Screen reader compatibility
- High contrast mode support
- Reduced motion preferences
Performance
- SSR Optimized: Components render efficiently on the server
- Minimal JavaScript: Progressive enhancement approach
- Caching Support: Built-in caching for expensive operations
- Lazy Loading: Components load resources as needed
License
This project is licensed under the MIT License - see the LICENSE file for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- BlazorPageScript (>= 1.0.0)
- Microsoft.AspNetCore.Components (>= 8.0.0)
- Microsoft.AspNetCore.Components.Web (>= 8.0.0)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.3.0)
- Microsoft.AspNetCore.WebUtilities (>= 8.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 8.0.0)
-
net9.0
- BlazorJSComponents (>= 1.0.0)
- Microsoft.AspNetCore.Components (>= 9.0.8)
- Microsoft.AspNetCore.Components.Web (>= 9.0.8)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.3.0)
- Microsoft.AspNetCore.WebUtilities (>= 9.0.8)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.8)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.8)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Osirion.Blazor.Core:
Package | Downloads |
---|---|
Osirion.Blazor
Modern, high-performance Blazor components and utilities. Features SSR-compatible components for navigation, analytics, content management, and theming with seamless CSS framework integration. |
|
Osirion.Blazor.Theming
Theming module for Osirion.Blazor - Provides theme management and CSS framework integration. |
|
Osirion.Blazor.Navigation
Navigation module for Osirion.Blazor - Provides enhanced navigation and scroll components. |
|
Osirion.Blazor.Analytics
Analytics module for Osirion.Blazor - Provides analytics tracking with provider pattern. |
|
Osirion.Blazor.Cms.Core
Core CMS module for Osirion.Blazor - Provides cms management with provider pattern. |
GitHub repositories
This package is not used by any popular GitHub repositories.