{"id":13807692,"url":"https://github.com/David-Moreira/BlazorXTabs","last_synced_at":"2025-05-14T00:31:54.187Z","repository":{"id":39715420,"uuid":"312710447","full_name":"David-Moreira/BlazorXTabs","owner":"David-Moreira","description":"BlazorXTabs is an extended tabs component library providing various tab features for Blazor!","archived":false,"fork":false,"pushed_at":"2024-12-30T13:48:32.000Z","size":72922,"stargazers_count":36,"open_issues_count":0,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-07T00:40:45.445Z","etag":null,"topics":["blazor","blazorx","blazorxtabs","components","library","nuget","tabs","wizard","xtabs"],"latest_commit_sha":null,"homepage":"https://david-moreira.github.io/BlazorXTabs/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/David-Moreira.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-14T00:01:34.000Z","updated_at":"2025-04-25T18:41:00.000Z","dependencies_parsed_at":"2022-08-26T08:31:51.730Z","dependency_job_id":"f6b60f1d-1dc1-462c-b97a-36330cb56677","html_url":"https://github.com/David-Moreira/BlazorXTabs","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/David-Moreira%2FBlazorXTabs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/David-Moreira%2FBlazorXTabs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/David-Moreira%2FBlazorXTabs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/David-Moreira%2FBlazorXTabs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/David-Moreira","download_url":"https://codeload.github.com/David-Moreira/BlazorXTabs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254046368,"owners_count":22005577,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blazor","blazorx","blazorxtabs","components","library","nuget","tabs","wizard","xtabs"],"created_at":"2024-08-04T01:01:28.989Z","updated_at":"2025-05-14T00:31:49.169Z","avatar_url":"https://github.com/David-Moreira.png","language":"C#","funding_links":[],"categories":["Libraries \u0026 Extensions"],"sub_categories":["2D/3D Rendering engines"],"readme":"# BlazorXTabs\nAn extended tabs component library providing various tab features for Blazor!\n\n![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/David-Moreira/BlazorXTabs)\n[![NuGet](https://img.shields.io/nuget/vpre/BlazorXTabs.svg)](https://www.nuget.org/profiles/DavidMoreira)\n![Nuget](https://img.shields.io/nuget/dt/BlazorXTabs?flat)\n[![MIT](https://img.shields.io/github/license/David-Moreira/BlazorXTabs.svg)](LICENSE)\n\n\n\n![Screenshot of sample](sample.png)\nCheckout all the examples at: [BlazorXTabs Demo](https://david-moreira.github.io/BlazorXTabs/)\n\n## Main Features:\n- Close tabs\n- Navigate to page and render it as a tab\n- Tabs won't duplicate when navigating to the same page\n- Use XTabs classes to further customize the look\n- Keep tabs state when switching between tabs\n- Bind to events: Selected / Changed / Removed\n- **v1.2.0**\n  - Setup wizard like tabs with events: Previous / Next and customizable previous/next buttons\n  - Possibility to set the active tab to Loading\n- **v1.3.0**\n  - Able to drag \u0026 drop tabs\n- **v1.4.0**\n  - Able to replace the standard RouteView component with a XTabsRouteView component that automatically renders the pages as tabs\n- **v1.5.0**\n  - When CloseTabs is enabled. Able to close all tabs and configure a threshold to display the close all tabs button.\n  - When CloseTabs is enabled. Able to use mouse middle button click to close the tab.\n  - When CloseTabs is enabled. Able to limit closeable tabs to 1.\n- **v1.6.0**\n  - Fixed RenderMode.Partial duplicating tabs\n  - Introduced XTabsAuthorizeRouteView to allow tabs integration with Authentication\n- **v1.7.0**\n  - NET6 Support\n- **v1.8.0**\n  - NET7 Support\n- **v1.9.0**\n  - Introduced NavigationMode, this is a XTabsRouteView only setting.\n    - NavigationMode.Standard : This is the default and XTabs will work as it always did. Clicking a Page Tab will set it as active.\n    - NavigationMode.Navigable : This new setting will make it so that whenever a Page Tab is set to active, it additionally triggers navigation. \n      This is usefull to sync the browser url to the currently active Page Tab.\n- **v2.0.0**\n  - NET8 Support\n\n## Examples:\n\n#### Standard usage:\n    \u003cXTabs\u003e\n        \u003cXTab Title=\"Tab1\"\u003e\n            Content 1\n        \u003c/XTab\u003e\n        \u003cXTab Title=\"Tab2\"\u003e\n            Content 2\n        \u003c/XTab\u003e\n    \u003c/XTabs\u003e\n\n#### Using the XTabsRouteView or XTabsAuthorizeRouteView to render pages as tabs:\n    \u003cRouter AppAssembly=\"@typeof(Program).Assembly\"\u003e\n        \u003cFound Context=\"routeData\"\u003e\n            \u003cXTabsRouteView CloseTabs=\"true\" NewTabSetActive=\"true\" \n            NavigationMode=\"BlazorXTabs.Configuration.NavigationMode.Navigable\"\n            RenderMode=\"BlazorXTabs.Configuration.RenderMode.Full\" \n            RouteData=\"@routeData\" DefaultLayout=\"@typeof(MainLayout)\" /\u003e\n        \u003c/Found\u003e\n        \u003cNotFound\u003e\n            \u003cLayoutView Layout=\"@typeof(MainLayout)\"\u003e\n                \u003cp\u003eSorry, there's nothing at this address.\u003c/p\u003e\n            \u003c/LayoutView\u003e\n        \u003c/NotFound\u003e\n    \u003c/Router\u003e\n##### Use the XTabPageAttribute to set the page's tab title \u0026 other relevant parameters\n     @attribute [XTabPageAttribute(\"Home\")]\n\n#### Using as a wizard:\n        \u003cXTab Title=\"Steps example\"\u003e\n            \u003cXTabs RenderMode=\"BlazorXTabs.Configuration.RenderMode.Steps\"\u003e\n                \u003cXTab Title=\"Step1\"\u003e\n                       This is step 1!\n                \u003c/XTab\u003e\n                \u003cXTab Title=\"Step2\"\u003e\n                    This is step 2!\n                \u003c/XTab\u003e\n                \u003cXTab Title=\"Step3\"\u003e\n                    This is the last step. Step 3!\n                \u003c/XTab\u003e\n            \u003c/XTabs\u003e\n        \u003c/XTab\u003e\n#### Drag\u0026Drop:\n        \u003cXTab Title=\"Drag Example\"\u003e\n            \u003cXTabs IsDraggable=\"true\" RenderMode=\"BlazorXTabs.Configuration.RenderMode.Partial\" \u003e\n                    \u003cXTab Title=\"1. I can be dragged!!\"\u003e\n                        \u003cp\u003eI can be dragged!!\u003c/p\u003e\n                    \u003c/XTab\u003e\n                    \u003cXTab Title=\"2. Drag me!\"\u003e\n                        \u003cp\u003eDrag me!\u003c/p\u003e\n                    \u003c/XTab\u003e\n                    \u003cXTab Title=\"3. Please drag me!! I hate being last place!\"\u003e\n                        \u003cp\u003ePlease drag me!! I hate being last place!\u003c/p\u003e\n                    \u003c/XTab\u003e\n            \u003c/XTabs\u003e\n        \u003c/XTab\u003e\n## Setup: \n- You can install the package via the nuget package manager just search for *BlazorXTabs*. You can also install via powershell using the following command.\n\n```powershell\nInstall-Package BlazorXTabs\n```\n\n- Or via the dotnet CLI.\n\n```bash\ndotnet add package BlazorXTabs\n```\n\n- If you'd like to bring in XTabs default styling, don't forget to add:\n```    \n\u003clink href=\"{YOUR-PROJECT-NAME}.styles.css\" rel=\"stylesheet\" /\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDavid-Moreira%2FBlazorXTabs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDavid-Moreira%2FBlazorXTabs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDavid-Moreira%2FBlazorXTabs/lists"}