chore: Release v0.3.0-alpha.3: sidebar blocks, shellui-js, NuGet Core fix#12
Merged
Conversation
### Summary - Introduced a new `AppSidebar` component featuring a collapsible sidebar with inset and secondary navigation. - Created supporting components: `Sidebar`, `SidebarContent`, `SidebarFooter`, `SidebarGroup`, `SidebarGroupContent`, `SidebarGroupLabel`, `SidebarHeader`, `SidebarInset`, `SidebarMenu`, `SidebarMenuItem`, `SidebarMenuButton`, `SidebarMenuSub`, `SidebarMenuSubItem`, `SidebarProvider`, `SidebarRail`, `SidebarSeparator`, and `SidebarTrigger`. - Enhanced sidebar functionality with mobile responsiveness and customizable attributes. - Improved layout and styling using Tailwind CSS for a cohesive design. ### Impact - Provides a comprehensive sidebar navigation solution, improving user experience and accessibility within the ShellUI framework.
…igation ### Summary - Introduced `AppSidebar` component with collapsible functionality and secondary navigation. - Created supporting components: `Sidebar`, `SidebarContent`, `SidebarFooter`, `SidebarGroup`, `SidebarGroupContent`, `SidebarGroupLabel`, `SidebarHeader`, `SidebarInset`, `SidebarMenu`, `SidebarMenuItem`, `SidebarMenuButton`, `SidebarMenuSub`, `SidebarMenuSubItem`, `SidebarProvider`, `SidebarRail`, `SidebarSeparator`, and `SidebarTrigger`. - Enhanced mobile responsiveness and customizable attributes for improved user experience. - Utilized Tailwind CSS for cohesive styling and layout. ### Impact - Provides a comprehensive sidebar navigation solution, improving accessibility and usability within the ShellUI framework.
… layout and error handling
Made-with: Cursor
… and user experience
…rt layout blocks Modified the path resolution logic in ComponentInstaller to differentiate between standard components and layout blocks, ensuring correct installation paths based on the component type.
Introduced a new LayoutPath property in InitService to specify the path for layout components, enhancing the structure and organization of the component installation process.
…ordion, Alert, Avatar, Badge, Card, Progress, and Tabs
…x, Input, Label, Select, Switch, Textarea
…rendering and improved layout Updated the ComponentPreview page to render various UI components based on the selected component name, and revamped the Home page to display a grid of available components with icons and labels for better navigation.
Replaced placeholder links with actual routes for Home, Dashboard, and Components in the NavigationDemo component, enhancing navigation functionality.
…roved layout and navigation Refactored AppSidebar for better readability and added new navigation links. Introduced DashboardBlockCard component to render dashboard blocks with a sticky header and breadcrumb navigation, enhancing the overall user experience.
…nced UI interaction Introduced DashboardBlockPreview for rendering a dashboard block with a sticky header and breadcrumb navigation. Added DialogPreview component to facilitate dialog interactions with customizable content and actions, improving user experience and layout consistency.
…header content Updated DashboardLayout to include breadcrumb navigation that dynamically reflects the current page structure. Improved header content handling to display either custom content or breadcrumbs, enhancing user navigation experience. Removed redundant error UI from MainLayout for cleaner presentation.
Introduced a new BlocksLayout component that provides a full-width layout for pages, featuring a sticky header with navigation back to the dashboard and a theme toggle. This layout is designed for independent demos, enhancing the overall user experience.
…r improved usage documentation Updated the AppSidebar component to enhance readability by condensing comments and clarifying usage instructions. Introduced a new AppSidebarTemplate class to provide structured metadata and example content for the sidebar component, improving developer experience and documentation.
… components Added descriptions for new dashboard layout blocks (`dashboard-01` and `dashboard-02`) and updated the navigation components list to include `app-sidebar`. Included installation commands for the new layouts to enhance documentation and user guidance.
Introduced a new DashboardLayout01Template that features a sidebar and content area with a scrolling header. This layout includes breadcrumb navigation and customizable header content, enhancing user navigation and layout flexibility. The template is designed to support various components, improving overall UI consistency.
…layout Introduced a new DashboardLayout02Template featuring a sidebar and content area with a sticky header. This layout includes breadcrumb navigation and customizable header content, improving user navigation and layout flexibility. The template is designed to support various components, enhancing overall UI consistency.
Added `app-sidebar`, `dashboard-01`, and `dashboard-02` templates to the ComponentRegistry, enhancing the available UI components for improved layout options and user experience.
Modified the Progress component to set the width based on the clamped value, improving the accuracy of the visual representation of progress. This change enhances the component's responsiveness and ensures it correctly reflects the intended progress percentage.
Removed unnecessary formatting from comments in the Sidebar component to improve readability and maintain consistency in the codebase. This change enhances the overall clarity of the component's structure and purpose.
…d comments Added a new property `IsLayoutBlock` to the `ComponentMetadata` class to indicate if a file should be written to LayoutPath instead of ComponentsPath. Updated comments for clarity regarding the `FilePath` property, improving documentation and understanding of the component's structure.
…eview-publish directories
…ent clarity Modified the header in DashboardLayout.razor to be sticky, ensuring accessibility during scroll. Updated comments for better clarity regarding the header's functionality. Removed obsolete Blazor error UI styles from MainLayout.razor.css, as they are now handled in App.razor.
…ut descriptions Changed the layout from BlocksLayout to DashboardLayout. Improved descriptions for dashboard templates, clarifying functionality and adding a copy button for installation commands. Adjusted CSS classes for better layout responsiveness.
Included a new navigation item for "Breadcrumb" in the AppSidebar component, enhancing the navigation options available to users and improving overall user experience.
…ockCard component Updated the DashboardBlockCard.razor file to use DashboardDemoSidebar instead of AppSidebar, aligning the component with the new sidebar structure and improving the overall dashboard layout.
…ation Introduced a new DashboardDemoSidebar component, providing a structured sidebar layout for dashboard navigation. This component includes menu items for Home, Analytics, Reports, Profile, and Settings, along with a user avatar, improving the overall user experience and organization of the dashboard interface.
… layout Modified the Blazor error UI styles in App.razor to ensure proper visibility during unhandled errors, using `!important` for display properties. Additionally, adjusted the SidebarInset component's CSS to allow for overflow and maintain layout integrity.
… navigation and error handling Refactored the ShellUI.Preview project by updating the target framework to net9.0 and adjusting the layout in PreviewLayout.razor to include a header and main section for better organization. Enhanced App.razor to include a NotFound component for improved error handling. Additionally, updated the index.html to refine the Blazor error UI styles for better visibility during errors.
…ion instructions Updated the InitService to install the shellui.js component, which is required for CopyButton, FileUpload, and Command functionalities. Additionally, modified the configuration instructions to include guidance on adding the shellui.js script in App.razor or index.html for proper integration.
Updated multiple component templates to set IsAvailable to false, indicating they are not currently available for use. Additionally, introduced a new ShellUIJsTemplate for JavaScript utilities related to CopyButton and FileUpload functionalities, enhancing the overall component library.
Bumped the ShellUI version suffix to alpha.3 and included the new shellui-js component in the ComponentRegistry, enhancing the component library with additional functionality.
Updated the GitHub Actions release workflow to push the ShellUI.Core package to NuGet, ensuring that both ShellUI.Core and ShellUI.Components are published together. This change resolves previous issues with package restoration and improves the overall release process.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
SidebarProvider, subcomponents, JS interop),AppSidebar, and layout blocksdashboard-01/dashboard-02with CLI templates and/blocksdemo pageshellui-jstemplate installswwwroot/shellui.jsat init and as dependency ofcopy-button/file-upload;sidebar-jsinstallsshellui-sidebar.jsvia sidebar componentsShellUI.Coreis now packable and published alongsideShellUI.Componentsin the release workflow (fixes NU1102 for package consumers)IsAvailable = false; breadcrumb single install with autobreadcrumb-itemTest plan
dotnet build ShellUI.sln -c Releasedotnet test ShellUI.sln -c Releasedotnet build NET9/BlazorInteractiveServer -c Release— verify sidebar toggle, blocks page, CopyButton, file upload demodotnet shellui initin a test project — confirmshellui.jslands inwwwrootdotnet shellui add dashboard-01— confirm sidebar + layout + JS files installShellUI.CoreandShellUI.Componentsat0.3.0-alpha.3<script src="shellui.js"></script>in App.razor when testing CopyButton/FileUpload in CLI projects